ELK,萌萌哒

ES模糊查询效率偏低

Elasticsearch | 作者 menzhipeng | 发布于2018年11月13日 | 阅读数:10497

wildcard 方法在 ‘*key*’的方式效率很低,特别是key 关键词很短很少的情况下,检索效率不高。
有没有较好的解决办法
已邀请:

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

赞同来自: dotNetDR_ heipark

他山之石:wildcard query应杜绝使用通配符打头,实在不得已要这么做,就一定需要限制用户输入的字符串长度。 最好换一种实现方式,通过在index time做文章,选用合适的分词器,比如nGram tokenizer预处理数据,然后使用更廉价的term query来实现同等的模糊搜索功能。 对于部分输入即提示的应用场景,可以考虑优先使用completion suggester, phrase/term suggeter一类性能更好,模糊程度略差的方式查询,待suggester没有匹配结果的时候,再fall back到更模糊但性能较差的wildcard, regex, fuzzy一类的查询。
https://elasticsearch.cn/article/171

要回复问题请先登录注册