elasticsearch相同查询语句返回doc_count解决在一定范围变化

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

解决方法: elasticsearch可以使用preference参数来指定分片查询的优先级,使用时就是在请求url上加上preference参数,如:http://ip:host/index/_search?preference=_primary

java的调用接口翻译为:client.prepareSearch(“index”).setPreference(“_primary”)。

默认情况下es有5种查询优先级:

_primary: 指查询只在主分片中查询

_primary_first: 指查询会先在主分片中查询,如果主分片找不到(挂了),就会在副本中查询。

_local: 指查询操作会优先在本地节点有的分片中查询,没有的话再在其它节点查询。

_only_node:指在指定id的节点里面进行查询,如果该节点只有要查询索引的部分分片,就只在这部分 分片中查找,所以查询结果可能不完整。

转载于:https://my.oschina.net/u/2367628/blog/777457

你可能感兴趣的:(elasticsearch相同查询语句返回doc_count解决在一定范围变化)