2015-02-02 1 views
3

ft_min_word_len = 1을 설정하고 show variables like 'ft%';을 실행해도 동일한 결과가 나타납니다. 전체 텍스트 인덱스를 삭제하고 다시 만들어서 이미 업데이트했습니다.2 문자 단어를 사용하여 MySql Fulltext 검색

그러나 "Samsung Hg55nc890xf 3D 1080p Led LCD Tv Hdtv"를 갖는 행에 대해 SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +tv' IN BOOLEAN MODE);을 실행하면 값 0이 반환됩니다. 내가 MySQL은 5.6.22을 사용하고 SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +led' IN BOOLEAN MODE);

을 실행할 때

그것은 예상대로 작동합니다. Innodb는 테이블 엔진입니다.

MySql Fulltext 검색으로 tv, 32, US 등 2 문자 단어를 검색 할 수있는 방법은 무엇입니까?

+2

또한 5.6.22 이하로 3 개의 값이 ft_min_word_len이 작동하지 않습니다. 나는 또한 값이 표시 변수에서 2로 설정되고 인덱스를 다시 작성할 수 있음을 알 수 있지만 적용되지는 않습니다. 전체 텍스트 인덱스에서 찾을 수있는 가장 짧은 문자열은 여전히 ​​3 자입니다. – bpgergo

+0

내가 찾은 가장 근접한 해결책은 'ProductName Like ProductName Like'% tv % 'AND MATCH (ProductName) AGAINST ('+ samsung 'BOOLEAN MODE); –

답변

2

이 문제는 innodb 스토리지 엔진에만 해당되는 것으로 나타났습니다. 나는 추가하여 문제를 해결했습니다. [mysqld] innodb_ft_min_token_size =2;/etc/my.cnf