전체 텍스트 검색을 수행 할 수있는 테이블이 있습니다. 그러나 검색 용어에 대한 조회가 발생하지 않습니다.MySQL fulltext 검색을 할 수 없습니다.
mysql> SELECT id, raw_content FROM transcripts;
+----+-------------+
| id | raw_content |
+----+-------------+
| 1 | foo |
+----+-------------+
를 실행 한 다음 찾아 행이 있음을
mysql> SHOW TABLE STATUS LIKE 'transcripts'; +-------------+--------+---------+------------+-------------------+----------+----------------+ | Name | Engine | Version | Row_format | Collation | Checksum | Create_options | +-------------+--------+---------+------------+-------------------+----------+----------------+ | transcripts | MyISAM | 10 | Dynamic | latin1_swedish_ci | NULL | | +-------------+--------+---------+------------+-------------------+----------+----------------+ mysql> DESCRIBE transcripts; +-------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | content | text | YES | | NULL | | | raw_content | text | YES | MUL | NULL | | | tape_id | int(11) | YES | | NULL | | | state | int(11) | YES | | 0 | | | created_at | datetime | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +-------------+----------+------+-----+---------+----------------+ mysql> SHOW INDEXES FROM transcripts; +-------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | +-------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+ | transcripts | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | transcripts | 1 | raw_content_index | 1 | raw_content | NULL | NULL | NULL | NULL | YES | FULLTEXT | +-------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+
증명 :
여기에 (내가 확신이 중요하지 않은 나는 몇 열을했다)처럼 내 테이블 모습입니다 여기에 검색을 작동시키려는 시도가 있습니다.
mysql> SELECT * FROM transcripts WHERE MATCH(raw_content) AGAINST ('foo');
Empty set (0.00 sec)
mysql> SELECT * FROM transcripts WHERE MATCH(raw_content) AGAINST ('foo' IN BOOLEAN MODE);
Empty set (0.00 sec)
mysql> SELECT id FROM transcripts WHERE MATCH(raw_content) AGAINST ('foo' IN NATURAL LANGUAGE MODE);
Empty set (0.00 sec)
mysql> SELECT * FROM transcripts WHERE MATCH(raw_content) AGAINST ('+foo*' IN BOOLEAN MODE);
Empty set (0.00 sec)
내가 뭘 잘못하고 있니? 기본 전체 텍스트로
기본적으로 fulltext는 3 자 이하의 문자를 무시합니다. – Cfreak
바입니다. @Cfreak입니다. 답변으로 게시 할 수 있습니까? 부울 모드는 더 긴 검색을 사용하여 검색합니다. – muirbot
부울 모드가 없으면 적어도 50 %의 레코드에있는 단어를 검색하면 무시됩니다. 자세한 내용은 여기에 http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html 안부;) –