我可以获得额外的ElasticSearch索引设置吗?

时间:2013-08-20 16:55:51

标签: c# elasticsearch plainelastic.net

为了优化大量数据的批量插入到ElasticSearch索引中,我向驱动程序添加了一段时间暂停索引刷新的功能。我已使用admin indices update settingsindex.refresh_interval设置为-1,然后将其设置为1秒。但是,我似乎无法找到从ElasticSearch获取index.refresh_interval的方法,这意味着我无法在以后恢复它,无法对索引进行一致性检查,并且无法真正测试我所做的事实上是否有效。

我试过了:

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

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

1 个答案:

答案 0 :(得分:1)

在我发布问题之前找到解决方案,但是因为我已经输出了问题,我想我会发布它和答案。

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

为简洁起见,我假设ES仅返回没有默认值或已从默认值更改的设置。虽然开始时有点混乱,特别是因为admin indices get settings的文档有点......简短。