es调优涉及问题
Posted zzq-include
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es调优涉及问题相关的知识,希望对你有一定的参考价值。
1 匹配精准度不够参数:minimum_should_match 我们可以通过代码的方式进行再match匹配的字段上添加匹配力度 ,这样如果搜索有4个词汇,那么需要匹配至少3个才行。
2 匹配精准度不够参数:boots,在匹配某一个指定的字段时,一旦匹配成功让其增加score分值,提升排名。
3 再有就是分值计算不精准到时结果不精准,索引如果分了多个shard那么这些shard上的数据应该更加平均,不应该有数据倾斜,否则es通过TF/IDF,算法中的IDF算法是根据某些词在整体shard中的document去计算的,如果shard中的文档数量相差较大,可能会影响分值。
4 条件过滤优化,使用query中的filter可以增加速度,因为默认情况下es对filter的结果做了bitset缓存。而且不参与score的计算会减少时间复杂度,然后在小范围内,通过match进行匹配会更提升数据拉取效率。
以上是关于es调优涉及问题的主要内容,如果未能解决你的问题,请参考以下文章