如何在elastic4s中创建后更改索引的设置?

时间:2015-03-26 08:44:11

标签: scala elasticsearch 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
    }
}
'

1 个答案:

答案 0 :(得分:2)

这是你在elastic4s中的方法(例如设置刷新间隔属性)。

client.execute {
  update settings "myindex" set Map("index.refresh_interval" -> "10s")
}

注意:并非所有设置都可以在运行时或创建索引后更改。

注2:我已添加此API以回答您的问题,并且仅在1.5.1版本之后提供。

注3:如果有人要求,我可以将其移回1.4.x或1.3.x.