検索

ホームページ  >  に質問  >  本文

mysql - 两个全文索引的字段能否并在一起查询

字段: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

有没有好办法?

PHP中文网PHP中文网2788日前844

全員に返信(3)返信します

  • PHPz

    PHPz2017-04-17 14:58:21

    alter table aws_articles add fulltext(title,abstract); 問題ありませんが、結合インデックスの作成だけでは機能しません

    返事
    0
  • 阿神

    阿神2017-04-17 14:58:21

    MySQL のバージョンはどれですか?全文検索は中国語をサポートしていますか?

    返事
    0
  • 高洛峰

    高洛峰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 に同期します。

    返事
    0
  • キャンセル返事