如果我有ES群集和应用程序将数据索引到ES中。
编辑:应用程序根据某些业务规则以动态方式创建索引。
例如,如果应用程序根据某些主题标签从Twitter API收听推文,则会在ES中为每个主题标签创建一个索引。 这样,每次新的主题标签出现时,都会在ES中创建一个新索引。
有时,会发生分片重新分配,在此阶段,由于节点之间移动的数据量很大,群集的行为很差。
从ES集群API,我们可以禁用分片重新分配和平衡。
禁用重新分配和平衡会产生什么影响(正面和负面)?
答案 0 :(得分:0)
这听起来像是在Elasticsearch中组织文档的一种非常不正统的方式,如果字符串not_analyzed
字段是一个哈希标记数组就不会更简单(因为单个推文可以有零,一个两个或更多主题标签)。
如果只有一个主题标签/推文,您可以将routing用于特定分片,如果搜索性能是您关注的话。
无论如何,如果你禁用分片平衡,那么某些机器在某些机器上的文件数量会越来越多,而在其他机器上则越来越少,这可能会妨碍索引和搜索性能。
此外,如果您没有任何碎片副本,那么在节点关闭的情况下,您的部分数据将无法访问。从长远来看,我确信还有其他缺点。