三人行必有我师

ngram分词使用问题

Elasticsearch | 作者 ridethewind | 发布于2019年04月12日 | 阅读数:3807

有200亿数据,有使用ngram 分词,使用term去查一个词,并且用了constant_score,每次查500条,有的耗时需要3s
理论上term查询不是应该非常快么
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: su_san

1、升级ES版本——ES高版本7.0 terms做了优化,有37倍的提升。可以验证一下你的业务场景。
2、换分词器,优化一下。

rochy - rochy_he

赞同来自:

ngram 分词会产生非常多的 term,而且你的数据量比较大,所以使用 term 查询就会比较耗时
推荐你更换更为合适的分词器,或者使用 filter 查询,这样 es 会缓存 term 的查询结果,对查询速度提升会有帮助

要回复问题请先登录注册