0

为了优化将大量数据批量插入到 ElasticSearch 索引中,我正在向我们的驱动程序添加功能以暂停索引刷新一段时间。我已经使用管理索引更新设置设置index.refresh_interval为 -1 并返回到 1 秒来完成此操作。但是,我似乎无法找到index.refresh_interval从 ElasticSearch 中返回的方法,这意味着我无法让它稍后恢复它,无法对索引进行一致性检查,也无法真正测试我的内容我做的确实奏效了。

我试过了:

GET http://localhost:9200/[index_name]/_settings/

..但结果只包含三个设置,似乎太少了。也许这个 REST 调用可以采用额外的参数来获得更多/不同的设置?

4

1 回答 1

1

在我发布问题之前找到了解决方案,但由于我已经输入了问题,我想我会发布它和答案。

基本上,您需要的是GET针对问题中端点的调用。但是,如果事先没有在索引上设置,无论是在创建时还是通过端点,它都不会出现在返回的设置列表中。似乎 ElasticSearch 的默认设置没有值(即 1 秒,“1s”)。_settingsindex.refresh_interval_settings

为简洁起见,我假设 ES 仅返回没有默认值或已从默认值更改的设置。虽然一开始有点令人困惑,特别是因为管理索引获取设置的文档有点......简短。

于 2013-08-20T16:55:50.527 回答