Elasticsearch相关性评分和文档分片分发

时间:2016-07-15 14:50:15

标签: elasticsearch

假设我在3种不同的环境中进行了弹性搜索。我们称他们为集成,升级,生产。 它们都具有相同的设置(默认5个分片和1个副本),弹性搜索设置没有差异,并且所有3个位置都索引相同的数据。如果我针对每个环境进行相同的搜索,那么由于文档分片分布,所有3个环境中返回的结果会有所不同(但在相关性评分中并不广泛),这是真的吗?

2 个答案:

答案 0 :(得分:1)

简短的回答是肯定的。但是,DFS查询然后获取是我过去如何解决这个问题。

DFS Query then Fetch vs Query then Fetch

基本上DFS查询会进行预先计算,并且应该提供更可重复的结果。鉴于这些是不同的环境,它可能不值得在生产环境中获得额外的性能。就个人而言,即使在非常大的情况下,命中也是名义上的。

答案 1 :(得分:0)

如果您使用搜索类型dfs_query_then_fetch,则文档的绝对相关性分数不应发生变化,但具有相同分数的文档的结果顺序不能保证相同。
排序的这种差异可能发生在给定es实例的查询迭代之间。使用preference选项

可以在一定程度上缓解这种情况