居然是你
ElasticSearch查询结果不一致

ElasticSearch查询结果不一致

查询ES,查询历史数据,不同查询,查询结果一致;查询当天数据,不同查询,查询结果不一致

Elasticsearchaaronhadoop 回复了问题 • 5 人关注 • 2 个回复 • 8837 次浏览 • 2017-01-10 12:16 • 来自相关话题

条新动态, 点击查看
你用于排序的时间字段可能有相同时间戳的记录,在排序返回top 10的时候,对于这种时间戳相同的记录主副分片的排序结果可能会不一样而导致截取的记录不一致。由于查询是在主副分片之间轮流进行的,所以相邻的查询之间的结果可能会不一致。  这个问题称为bouncing ... 显示全部 »
你用于排序的时间字段可能有相同时间戳的记录,在排序返回top 10的时候,对于这种时间戳相同的记录主副分片的排序结果可能会不一样而导致截取的记录不一致。由于查询是在主副分片之间轮流进行的,所以相邻的查询之间的结果可能会不一致。  这个问题称为bouncing results problem,解决办法是查询url里添加preference=<some string>  这个参数,其中<some string>可以是用户的session ID,这样某一个用户查询的时候,查询会被固定在某几个shard。
 
参阅: 
https://www.elastic.co/guide/en/elasticsearch/guide/2.x/_search_options.html#_preference
https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-preference.html
 

查询ES,查询历史数据,不同查询,查询结果一致;查询当天数据,不同查询,查询结果不一致

回复

Elasticsearchaaronhadoop 回复了问题 • 5 人关注 • 2 个回复 • 8837 次浏览 • 2017-01-10 12:16 • 来自相关话题