十、Elasticsearch多shard下relevance score不准确问题

1、在多shard场景下,score是不准确的,导致排序出问题

若一个index下有多个shard的话(默认就5个primary shard),可能搜索结果会不准确。

不准确原因如下

Paste_Image.png

2、解决方案

(1)生产环境下,数据量大,尽可能实现均匀分配

数据量很大的话,其实一般情况下,es都是再多个shard中均匀路由数据的,路由的时候根据_id,负载均衡
比如说有10个document的title都包含java,一个5个shad,那么一般情况负载均衡,其实每个shard都应该有2个doc的title包含java

如果是均衡分配的话,就没有上述问题了。

(2)测试环境下,几乎没有数据量,所以会导致此问题,可以将index的primary shard设置1个,number_of_shards=1

如果说只有一个shard,那么当然所有的document都在这个shard里面,就没有这个问题了

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg

推荐阅读更多精彩内容