如何在 elastic4s 中创建索引后更改索引设置?
How to change settings of an index after creation in elastic4s?
我需要在批量索引(千兆字节)过程中禁用索引刷新,并在完成后重新设置。但是从 elastic4s 的源代码中,除了在创建索引时,我找不到其他方法来做到这一点……这可能吗?或者有解决方法吗?
在java客户端中:
client
.admin
.indices()
.prepareUpdateSettings()
.setSettings(settings)
.setIndices(indexName)
.execute()
.actionGet()
本地:
curl -XPUT 'localhost:9200/my_index/_settings' -d '
{
"index" : {
"refresh_interval" : -1
}
}
'
这就是你在 elastic4s 中的做法(例如设置刷新间隔 属性)。
client.execute {
update settings "myindex" set Map("index.refresh_interval" -> "10s")
}
注意:并非所有设置都可以在运行时或创建索引后更改。
注2:我在回答你的问题时添加了这个API,并且仅适用于1.5.1以上的版本。
注意 3: 如果任何人需要,我可以将其移植到 1.4.x 或 1.3.x。
我需要在批量索引(千兆字节)过程中禁用索引刷新,并在完成后重新设置。但是从 elastic4s 的源代码中,除了在创建索引时,我找不到其他方法来做到这一点……这可能吗?或者有解决方法吗?
在java客户端中:
client
.admin
.indices()
.prepareUpdateSettings()
.setSettings(settings)
.setIndices(indexName)
.execute()
.actionGet()
本地:
curl -XPUT 'localhost:9200/my_index/_settings' -d '
{
"index" : {
"refresh_interval" : -1
}
}
'
这就是你在 elastic4s 中的做法(例如设置刷新间隔 属性)。
client.execute {
update settings "myindex" set Map("index.refresh_interval" -> "10s")
}
注意:并非所有设置都可以在运行时或创建索引后更改。
注2:我在回答你的问题时添加了这个API,并且仅适用于1.5.1以上的版本。
注意 3: 如果任何人需要,我可以将其移植到 1.4.x 或 1.3.x。