根据文档,我尝试过如下更新副本的数量
curl -XPUT 'localhost:9200/_settings' -d '
{ "index" : { "number_of_replicas" : 4 } }'
这将正确更改现有节点的副本计数。但是,当logstash在第二天创建新索引时,复制副本的数量设置为旧值。
是否有一种方法可以永久更改此设置的默认值,而无需更新所有的elasticsearch。yml
集群中的文件并重新启动服务?
我也试过了
curl -XPUT 'localhost:9200/logstash-*/_settings' -d '
{ "index" : { "number_of_replicas" : 4 } }'
没用。
是的,您可以使用索引模板。索引模板是为集群中创建的新索引设置默认设置(包括映射)的好方法。
索引模板
索引模板允许定义将自动应用于创建的新索引的模板。模板包括设置和映射,以及一个简单的模式模板,用于控制模板是否应用于创建的索引。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html
对于您的示例:
curl -XPUT 'localhost:9200/_template/logstash_template' -d '
{
"template" : "logstash-*",
"settings" : {"number_of_replicas" : 4 }
} '
这将为所有匹配名称“logstash-*”的新索引设置默认副本数为4。请注意,这不会更改现有索引,只会更改新创建的索引。
问题内容: 根据文档,我尝试按以下方式更新副本数 这将正确更改现有节点的副本数。但是,当logstash在第二天创建新索引时,number_of_replicas设置为旧值。 有没有一种方法可以永久更改此设置的默认值,而无需更新群集中的所有文件并重新启动服务? 我也尝试过 无济于事。 问题答案: 是的,您可以使用索引模板。索引模板是为集群中创建的新索引设置默认设置(包括映射)的好方法。 索引模板
我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?
假设我有两组对象“Questions”和“Users”,它们共享一个关系。 什么是最好的方法索引我的对象,以允许最新的变化反映在lucene IDEX? 是否应该为用户和问题提供单独的文档,并让lucene根据需要获取所需的问题/用户详细信息? 还是,走数据传输对象的方式?当发生更改时,只需删除这些文档并重新索引?
Dart允许修改List中项目的值。 换句话说,可以重写列表项的值。 以下example说明了相同的情况 - void main() { List l = [1, 2, 3]; l[0] = 123; print(l); } 上面的示例使用索引0更新List项的值。代码的输出将为 - [123, 2, 3]
有这么一种常见的情况:整个数据集非常大,以至于难于经常性的重建索引,但是每次新增的记录却相当地少。一个典型的例子是:一个论坛有1000000个已经归档的帖子,但每天只有1000个新帖子。 在这种情况下可以用所谓的“主索引+增量索引”(main+delta)模式来实现“近实时”的索引更新。 这种方法的基本思路是设置两个数据源和两个索引,对很少更新或根本不更新的数据建立主索引,而对新增文档建立增量索引
问题内容: 我需要更改索引中的分片数量。索引很大,为了达到测试目的,我可能不得不将配置更改10-15次才能满意。是否有开箱即用的工具提供这种功能?或最简单的方法是做到这一点? 问题答案: 无论是Perl的和Ruby客户直接支持重建索引。 在Perl中,您可以执行以下操作: 在Clinton Gormley 的帖子中查找更多信息。 在Ruby中,您可以执行以下操作: 在相关的 Tyre 提交中找到更