2012-01-17 1 views
0

전에 검색을 만들었지 만 제대로 작동하지만 다른 테이블에서 실행하려고하면 몇 가지 문제가 있습니다.FULLTEXT For Search Troubles

내가 오류를 받고 있어요 ...

SQL 쿼리에 실패했습니다. 귀하의 질의를 확인하십시오.

오류 반환 : 열 목록 일치하는 전체 텍스트 인덱스를 찾을 수 없습니다

나는 (내 지식의 최선을) 성공적으로 전체 텍스트에 열을 변환하고 데이터베이스를 ...로 설정되어 있습니다

여기에 당신이에 따라 발견하지 않은 경우, 나는이 문제가 될 수있는 전체 텍스트 키에 뭘하는지 아무 생각

CREATE TABLE `users` (
    `auto` int(11) NOT NULL AUTO_INCREMENT, 
    `user_id` varchar(6) DEFAULT NULL, 
    `username` varchar(15) DEFAULT NULL, 
    `first_name` varchar(20) NOT NULL DEFAULT '', 
    `last_name` varchar(20) NOT NULL DEFAULT '', 
    `email` varchar(30) NOT NULL DEFAULT '', 
    `password` varchar(128) NOT NULL DEFAULT '', 
    `ranking` varchar(128) DEFAULT '1', 
    `sex` varchar(128) NOT NULL DEFAULT '', 
    `active` varchar(128) NOT NULL DEFAULT '0', 
    `ppic` varchar(128) NOT NULL DEFAULT 'ppic.jpg', 
    `time_zone` varchar(128) DEFAULT 'America/Los_Angeles', 
    `adult_filter` varchar(128) DEFAULT '0', 
    PRIMARY KEY (`auto`), 
    FULLTEXT KEY `user_id` (`user_id`,`username`,`first_name`,`last_name`,`email`,`password`,`sex`,`active`,`ppic`,`time_zone`,`adult_filter`), 
    FULLTEXT KEY `user_id_2` (`user_id`,`username`,`first_name`,`last_name`), 
    FULLTEXT KEY `ft_index_name2` (`user_id`,`username`,`first_name`,`last_name`), 
    FULLTEXT KEY `ft_index_name32` (`user_id`,`username`,`first_name`,`last_name`,`email`,`password`,`ranking`,`sex`,`active`,`ppic`,`time_zone`,`adult_filter`), 
    FULLTEXT KEY `ft_index_name322` (`user_id`), 
    FULLTEXT KEY `ft_index_name3223` (`first_name`), 
    FULLTEXT KEY `ft_index_name32233` (`last_name`), 
    FULLTEXT KEY `ft_index_name322433` (`username`), 
    FULLTEXT KEY `ft_index_name3232433` (`username`) 
) ENGINE=MyISAM AUTO_INCREMENT=40 DEFAULT CHARSET=utf8

내 SQL 정보는 ...입니다. 그러나 나는 처음으로 비슷한 것을했는데 잘 돌아 간다.

이 내 검색 쿼리입니다 ...

SELECT user_id, username, first_name, last_name, 
MATCH(username, first_name, last_name) AGAINST('" . $search . "') AS score 
FROM users 
WHERE MATCH(username, first_name, last_name) AGAINST('" . $search . "') 
ORDER BY username

사람이이 문제를 일으킬 수있는 무엇을 알고 있나요? 나는 며칠 동안이 문제를 파악하지 못했습니다. 도움이된다면 고맙습니다.

FULLTEXT KEY `ft_index_thisoneiscorrect` (username, first_name, last_name) 

이 (일치하는 열 목록은 당신이 당신의 쿼리에 일치하는 열 목록과 동일합니다.)

:

답변

0

당신은 다음과 같습니다 전체 텍스트 키가 필요합니다 다른 모든 것들을 제거하십시오. 그들 중 대부분은 쓸모가 없으며 몇몇은 철저히 위험합니다.

+0

좋아요, 전체 텍스트 인덱스에서 쿼리와 일치해야하는 목록이 나를 버리고있는 사실입니다. 그것은 내가 그것을 올바르게 얻었던 나의 마지막 하나의 순수한 기회이었다. 당신의 도움을 주셔서 대단히 감사합니다. – Ian