2013-04-19 1 views
2

나는이 두 쿼리 왜 MySQL의 일치 부울 모드가 발견되지 않는 것은

SELECT * FROM `foo` WHERE MATCH(`title`) AGAINST('knows' in boolean mode) 

SELECT * FROM `foo` WHERE MATCH(`title`) AGAINST('woman' in boolean mode) 

테이블에 내가 첫 번째 쿼리가 행을 발견 title = "a woman knows"

과 행을 가지고 있지만, 두 번째가 "알고" 그렇지 않아! 다른 대안을 실험했습니다. 예를 들어 제목에 "여성 노트"가 포함되어 있고 "매듭"과 일치하는 항목을 검색하는 경우가 있습니다.

나는 신비스럽고 제공 할 수있는 도움을 환영합니다.

+0

왜 '좋아요'를 사용하지 않으시겠습니까? 그것은 더 짧고 쉽습니다. – Houssni

+0

불용어 ("알고"와 같은)를 무시해야하는 경우이 [질문 및 답변] (http://stackoverflow.com/questions/12678920/ignoring-mysql-fulltext-stopwords-in-query)을 확인해보십시오. . – summea

+0

나는 '좋아요'를 선호하지만 사용자가 복수 검색을 할 수 있도록해야합니다. – user1104799

답변

3

"알고있다"는 stopword이며 인덱싱되지 않으므로 모든 검색에서 무시됩니다. ft_stopword_file 서버 옵션을 사용하여 나만의 불용어 목록을로드 할 수 있습니다.

+0

많은 감사드립니다. 나는 경기장에서 정지 단어를 사용하는 것을 깨닫지 못했습니다. 살아서 배우십시오! – user1104799