2011-08-16 5 views
1
내가하고 싶은 무엇

지금처럼 내 테이블에 특이 단어에 대한 검색입니다 :MySQL의 검색 텍스트 열은

SELECT * FROM my_table WHERE MATCH (description) AGAINST ('test'); 

그리고이 문자열을 '포함 MY_TABLE의 모든 행을 반환합니다 테스트'.

문제는 이것이 항상 발생하지는 않는다는 것입니다. 그것이 내가 테이블을 재현 한 후에 때때로 작동한다는 것을 의미합니다.

가끔씩 만 발생하기 때문에 인덱싱에 몇 가지 문제가 있다고 생각하게되었습니다.

그래서 아무것도하지 않은 ft_min_word_len을 1로 설정해 보았습니다. My MySQLVersion은 5.1.57-community입니다.

도움 주셔서 감사합니다.

답변

2

와 일치하면 자연어 검색입니다. 귀하의 열이 당신이 against() 매개 변수에서 전달한 것의 50 % 이상을 포함하고 있다면, 그것은 일반적인 것으로 간주 될 것이고 아무 것도 반환하지 않을 것입니다. SELECT * FROM my_table WHERE DESCRIPTION LIKE '%test%'을 사용하십시오. % 와일드 카드는 앞뒤에 단어 나 구 또는 접미사/접두사가 있음을 나타냅니다.

여기

+0

더 you.It 내가 시도하고 더 철저하게 다음 번에 문서를 읽 일 감사 배울 http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html를 참조하십시오. – user783402

관련 문제