2015-01-10 3 views
0

작동하지 그래서 난 오류가 발생하고 이는 전체 텍스트 검색이 활성화 있지 않는 나에게 때문이다전체 텍스트 검색 MySQL의

SELECT views, keywords, title, url, thumbnail, 
     MATCH(keywords,title) AGAINST ('%$search_value%') AS relevance 
    FROM straight 
WHERE MATCH (keywords,title) AGAINST ('%$search_value%') 
ORDER BY relevance DESC 

사용하지만, 나는 그것을 가능하게하는 것 기운 다. 나는 아래의 SQL 실행하면

ALTER TABLE straight ADD FULLTEXT(keywords, title) 

를 내가이 응답 얻을 : 내가

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

실패 얻을 다시 첫 번째 쿼리를 실행하려고 할 때 다음

MySQL returned an empty result set (i.e. zero rows). (Query took 3.8022 sec) 

그럴 수 없어 등록하지 않는 이유를 말해주십시오. 어떤 도움이라도 좋을 것입니다. 감사합니다.

편집 :

내 tabel :

CREATE TABLE `straight` (
 `url` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `title` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `keywords` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `production` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `categories` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `views` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `likes` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `length` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `thumbnail` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, 
 `date` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, 
 UNIQUE KEY `url` (`url`), 
 FULLTEXT KEY `url_2` (`url`,`title`,`keywords`,`production`, 
     `categories`,`views`,`likes`,`length`,`thumbnail`,`date` 
), ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 
+0

실행중인 MySQL 버전은 무엇입니까? 질문을 편집하여 '직선'표의 정의를 표시 할 수 있습니까? 어떤 버전에서는 테이블이'MyISAM' 액세스 메소드에 있어야합니다. 또한,'FULLTEXT'의'AGAINST()'매개 변수에'%'기호가 필요 없습니다. –

+0

@OllieJones 테이블은 MyISAM 스토리지 엔진입니다. MySQL의 버전을 확인하는 방법이 확실하지 않습니다. 이것은 hostgator 서버에 있습니다. Thanks – BubblewrapBeast

+0

테이블이 MyISAM이면 서버 버전은 중요하지 않습니다. –

답변

0

당신은 정확히 열이있는에 검색 할, 일치하는 전체 텍스트 인덱스가 필요합니다. 가지고있는 FULLTEXT 색인은 필요한 것보다 많은 열을 가지고 있습니다.

언급 한 것을 추가하십시오.

ALTER TABLE straight ADD FULLTEXT(keywords, title) 

그런 다음 테이블 정의를보고 거기에 있는지 확인하십시오.

관련 문제