如果我有一个ES集群和一个应用程序索引数据到ES。
编辑:应用程序根据某些业务规则以动态方式创建索引。
例如,如果应用程序根据一些哈希标签收听来自Twitter的tweet,那么它会在ES中为每个hashtag创建一个索引。这样,每次出现新的哈希标签时,都会在ES中创建新的索引。
有时候,碎片重新分配会发生,在这个阶段,集群的性能很差,因为节点之间移动的数据量很大。
从ES集群API中,我们可以禁用碎片重新分配和平衡。
对重新分配和平衡的影响(积极和消极)是什么?
发布于 2016-01-11 20:20:44
这听起来像是在Elasticsearch中组织文档的一种非常非常规的方式,如果有一个string not_analyzed字段,它将是一个hashtab数组(因为一个tweet可以有零、一个或多个哈希标签),这不是更简单吗?
如果只有一个hashtag / tweet,您可以将其用于路由到一个特定的片段,如果搜索性能是您所关心的问题的话。
无论如何,如果禁用碎片平衡,那么某些机器上的文档数量会越来越多,而在其他机器上则会越来越少,这可能会影响索引和搜索性能。
另外,如果您没有任何碎片副本,那么在节点关闭的情况下,部分数据将变得不可访问。我相信,从长远来看,也有其他的不利因素。
https://stackoverflow.com/questions/34721264
复制相似问题