2016-06-23 17 views
1

ワイルドカード検索で同様のクエリでレコードを検索する必要があるプロジェクトでクエリが発生しています。続きフルテキストインデックスの一致クエリがmysqlで完全な結果を返さない

はクエリです:上記のクエリで今

Select * from table_name where Col_name like '% text %'; 

インデックスは動作しません通常。だから、MyISAMのmysqlテーブルで全文索引を使用しました。

Select * from table_name where MATCH(Col_name) AGAINST('text' IN BOOLEAN MODE); 

を次のようにように私のクエリが変更された後の最初のクエリでは、私のように2番目のクエリは私だけで3000レコードを与え150000件のレコードを提供します。

私は最初のクエリでも同様に2番目のクエリで取得しているすべてのレコードを取得する方法を教えてください。

答えて

0

フルテキスト検索インデックスは、個々の単語に基づいています。つまり、row with textsまたはtextWithOtherCharactersAroundというフレーズは、クエリ結果には返されません。

likeオペレータは、ワイルドカードに従ってフィールド値全体を検索します。

+0

しかし、このリンクはすべてのレコードを提供すると言います。http://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html –

+0

しかし、それは 'like'演算子としては機能しません –

関連する問題