2013-08-19 2 views
0

전체 텍스트 검색에 문제가 있습니다. 나는 두 테이블했습니다 :제목이 아닌 아티스트의 전체 텍스트 검색 작업

노래

+------------+-----------------------+------------+-----------+ 
| id_canzone | canzone    | id_artista | canzone | 
+------------+-----------------------+------------+-----------+ 
|  107 | Can U Believe   |   15 | I'm Sorry | 
+------------+-----------------------+------------+-----------+ 

아티스트

+------------+---------+ 
| id_artista | artista | 
+------------+---------+ 
|   15 | Akon | 
+------------+---------+ 

내가 전체 텍스트 검색과 아티스트를 검색 할 경우를 난 아무 문제 없어. 나는이 분 말씀이 매개 변수를 렌 FT는 감소했습니다

SELECT id_canzone,canzone,MATCH(canzone) AGAINST('Akon Can U Believe.') FROM songs 

+------------+---------------+------------------------------------------------+ 
| id_canzone | canzone  | MATCH(canzone) AGAINST('Akon Can U Believe.') | 
+------------+---------------+------------------------------------------------+ 
|  104 | Can U Believe |            0 | 
+------------+---------------+------------------------------------------------+ 

노래 테이블과 때

SELECT *,MATCH(artista) AGAINST('Akon Can U Believe.') FROM artists 

+------------+---------+------------------------------------------------+ 
| id_artista | artista | MATCH(artista) AGAINST('Akon Can U Believe.') | 
+------------+---------+------------------------------------------------+ 
|   15 | Akon |        1.9237866401672363 | 
+------------+---------+------------------------------------------------+ 

그러나 인덱스를 다시 작성하려고합니다. 아무것도 바뀌지 않습니다.

답변

1

체크 Mysql stopword list.

모두와 "믿는다", "수"중지 단어이며, "U"는 당신이 당신의 스톱 워드 목록을 수정하는 당신이 검색 음악 타이틀에 대한 전체 텍스트를 사용하려는 경우 그래서 당신의 경기는 0

를 반환합니다, 너무 짧은 또는 완전히 비활성화하십시오.

자세한 방법은 fulltext fine tuning을 참조하십시오.

전체 텍스트를 테스트 할 때 테이블에 충분한 행이 있는지 확인하십시오. 50 % 이상의 행에있는 단어는 사용자 지정 단어 사용자 지정 설정에도 불구하고 단어로 처리됩니다.

+0

완벽하고 고맙습니다. 장애가있는 stopword와 그것은 완벽하게 작동합니다! –