Elasticsearch shard和复制搜索性能。

问题描述 投票:2回答:1

我想了解搜索查询是如何在primary和replica shards之间划分的.我不清楚为什么那些人说replica的好处之一是增加搜索性能。但据我了解,primary shard可以像 replica一样提供搜索查询。如果是这样,让我们假设我们有2个节点的ES集群,查询是只读的。使用10个shard的索引是否能像使用5个shard和1个副本的索引那样工作?

elasticsearch elastic-stack
1个回答
0
投票

首先你要明白什么是primary shard和replica shard。

Primary shard是你第一次写请求的地方,然后复制到它的replica shard,根据复制因子Elasticsearch会为一个primary shard创建n个replica shard。

现在,一个文档始终是一个主shard的一部分,但它的副本存在于所有的复制shard中。

现在当你搜索时,你可以在它的主碎片(只有一个主副本)或任何一个副本碎片中搜索。而且这些副本可以存在于集群中的不同节点上(Elasticsearch是一个分布式系统)。而且 为了提高Elasticsearch的性能,可以查询取决于负载和其他各种因素的任何包含副本的shard这就解释了为什么拥有副本可以提高搜索性能,以及为什么你可以从副本中搜索。

请参考 opster的博客,讲述了碎片和副本如何影响搜索性能。 以便更好的理解。这里面有几个官方链接,也会帮助你详细了解碎片和副本。

© www.soinside.com 2019 - 2024. All rights reserved.