字段:title,article,都是全文索引。
查询关键词:key1,key2,key3。
SELECT * FROM [表名] WHERE MATCH(article) AGAINST('key1,key2,key3');针对一个全文检索的字段是可行的
有没有这种:
SELECT * FROM [表名] WHERE MATCH(title,article) AGAINST('key1,key2,key3');
即同时在title+abstract中查找key1,key2,key3。但错误提示:Can't find FULLTEXT index matching the column list
有没有好办法?
PHPz2017-04-17 14:58:21
alter table aws_articles add fulltext(title,abstract); 問題ありませんが、結合インデックスの作成だけでは機能しません
高洛峰2017-04-17 14:58:21
@haixia9060 が言ったように、英語フィールドの場合は、新しいインデックスとクエリを作成できます。
<オル> <リ>3 つのフィールドに新しいインデックスを作成します
ALTER TABLE 記事 ADD FULLTEXT content_title_keywords_ndx (content,title,keywords);
<リ>
クエリ
match(content,title,keywords) と (ブール モードの 'cats')
MySQL はデフォルトで英語/数値型のみを処理できます。
中国語フィールドの場合、プロセスに従って逆インデックスを維持する必要があります (ドキュメント->トークン->用語->インデックス)。
アナライザーに割り当てることができる MySQL フィールドもあります。インデックスを自動的に維持し、リアルタイムで Solr に同期します。