2012-04-01 3 views
0

저는 MySQL 데이터베이스를 사용하고 있습니다.은 지금 구식 ft_min_word_len입니까?

나는 사용자가 기본적으로 구매하고자하는 제품을 검색 할 수있는 제품 데이터베이스를 보유하고 있습니다.

부울 검색에 문제가 있습니다. 사용자가 '새로운 ipad'또는 'ipad 4g'를 검색하면 가장 관련성이 높은 결과를 먼저 반환하지만, 반환하는 결과는 전체 텍스트 색인은 4 자 이상의 단어 만 색인화합니다.

이 방법이 있습니까? ft_min_word_len 변수를 4 대신 2 자로 변경 한 다음 다시 색인화하면 엄청난 성능 저하가 발생합니까?

답변

0

ft_min_word_len은 줄일 수 있지만 해당 테이블뿐만 아니라 해당 서버의 모든 MySQL 데이터베이스에있는 모든 테이블에 영향을 미칩니다.

두 번째 옵션은 Sphinx 같은 전체 텍스트 검색 엔진입니다.이 옵션에는 옵션이있을 수 있습니다.

세 번째 옵션은 검색어를 기반으로 검색어를 변경하는 것입니다. 프로그램 측에서는 텍스트가 ft_min_word_len보다 작은 지 여부를 감지합니다. 그렇다면 LIKE /% %/;으로 쿼리를 실행합니다. 그렇지 않으면 전체 텍스트 검색을 사용하십시오.

관련 문제