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

发布于 2022-09-02 23:28:58 字数 410 浏览 12 评论 0

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

有没有好办法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空城旧梦 2022-09-09 23:28:58

alter table aws_articles add fulltext(title,abstract);就ok了,建立联合索引,单独建立是不行的

幸福丶如此 2022-09-09 23:28:58

MySQL哪个版本哟?全文搜索支持中文了吗?

分分钟 2022-09-09 23:28:58

如果是英文字段,如@haixia9060 说的,可新建索引后查询

  1. 对三个字段新建索引

    ALTER TABLE articles ADD FULLTEXT content_title_keywords_ndx (content,title,keywords);
    
  2. 查询

    match(content,title,keywords) against ('cats' in boolean mode)
    

    MySQL默认只能处理英文/数字类型的;

如果是是中文字段,应按流程(Document->Token->Term->Index)维护倒排索引;
也有将MySQL字段指定Analyzer自动维护索引,实时同步到Solr中进行全文索引的做法;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文