2012-07-10 4 views
0

기존 테이블의 두 필드 (제목, 설명)에 전체 텍스트 인덱스를 적용했습니다. 이 테이블에는 이미 7000 - 8000 개의 레코드가 있습니다.기존 mysql 테이블에 전체 텍스트 인덱스 적용

검색이 예상대로 작동하지 않습니다. 심지어 검색 필드에 전체 제목을 제공하지만 그 레코드를 맨 위에 놓을 수는 없으며 일부 관련이없는 레코드도 있습니다.

전체 텍스트 인덱스를 추가 한 후 테이블의 모든 레코드를 다시 삽입해야합니까? 또는 무엇이 문제 일 수 있습니까? 여기

참조에 대한 쿼리입니다 :

상단이 '라 스타 남자 보컬 4'기록을 표시되지
SELECT * FROM f_table f WHERE MATCH (f.tit, f.des) AGAINST ('Rasta Man Vocal 4') 

그것. 네 번째 위치에 있습니다.

# (tit)    (des) 
--------------------------------------------------------------------------------- 
1) Rasta Vocal 1.wav Male Rasta Vocal-Tune into the King 
2) Rasta Jah DnB  Rasta Increase Come from Jah DnB Vocal Reggae 
3) Rasta Man Vocal 2 Rasta Man Vocal 2 Download 
4) Rasta Man Vocal 4 Rasta Man Vocal 4 Download 

그 단지 예 : 여기서 처음 네 레코드의 세부 사항이다. 사전에

도와주세요, 감사합니다 ...

또 다른 질문

: 기타 (DES) 이상의 필드 (가슴)에 더 우선 순위를 부여하는 방법이 있나요?

답변

0

이 ::

SELECT *,MATCH (f.tit, f.des) AGAINST ('Rasta Man Vocal 4') as relevance FROM f_table f WHERE MATCH (f.tit, f.des) AGAINST ('Rasta Man Vocal 4') order by relevance desc 
시도
관련 문제