2011-09-19 2 views
0

내 웹 사이트에 대한 전체 텍스트 검색 엔진을 만들고 있으며, 사용자가 검색 할 열을 제한 할 수있는 고급 검색 페이지가 있습니다. 그러나 전체 텍스트 검색 인덱스를 만들 때마다 해당 인덱스에 사용 된 모든 열을 사용해야합니다. 그렇지 않으면 오류 메시지가 나타납니다. 전체 텍스트 열에 사용할 수있는 mysql 인덱스를 만들 수있는 방법이 있습니까? 난 단지 주제와 과정에 따라 검색하고 싶었다면 내가 오류 얻을 것이다,다른 순열을 사용하는 MySQL 전체 텍스트 검색

ALTER TABLE table1 ADD FULLTEXT fulltext_index(subject, course, prof, semester, 
year); 

:

#1191 - Can't find FULLTEXT index matching the column list 

답변

1

당신은 당신이 검색 할 각각의 가능한 조합에 대한 더 많은 인덱스를 생성해야합니다

테이블 변경 표는 전체 텍스트 fulltext_index2 (주제, 물론)를 추가;

alter table table1 전체 텍스트를 추가하십시오 fulltext_index3 (course, semester, year);

기타 ... 문제가 해결되는지 확인하십시오.

0

를 예를 들어

나는이 문장에 의해 만들어 내 인덱스, 5 열이 아니요, 전체 텍스트 색인을 사용하려면 모든 열을 사용해야합니다. 그 중 일부만 사용하려면 모든 순열에 대해 별도의 전체 텍스트 색인이 필요합니다. 나는 그것을 테스트하지 않았지만, 지정된 순서대로 열만 사용하여 주위를 둘러 볼 수 있습니다. 예 : 열 (a, b, c)의 색인은 첫 번째로 나열 되었기 때문에 (a, b) 만 검색 할 수는 있지만 (a, c) 또는 (b, c)는 검색 할 수 없습니다.