为了优化大量数据的批量插入到ElasticSearch索引中,我向驱动程序添加了一段时间暂停索引刷新的功能。我已使用admin indices update settings将index.refresh_interval
设置为-1,然后将其设置为1秒。但是,我似乎无法找到从ElasticSearch获取index.refresh_interval
的方法,这意味着我无法在以后恢复它,无法对索引进行一致性检查,并且无法真正测试我所做的事实上是否有效。
我试过了:
GET http://localhost:9200/[index_name]/_settings/
..但结果只包含三个设置,似乎太少了。也许这个REST调用可以采用其他参数来获得更多/不同的设置?
答案 0 :(得分:1)
在我发布问题之前找到解决方案,但是因为我已经输出了问题,我想我会发布它和答案。
基本上,GET
针对问题_settings
端点的调用是您需要的。 但是,如果事先没有在索引上设置index.refresh_interval
,无论是在创建时还是通过_settings
端点,它都不会出现在返回的设置列表中。似乎ElasticSearch没有为其默认值设置值(1秒,“1s”)。
为简洁起见,我假设ES仅返回没有默认值或已从默认值更改的设置。虽然开始时有点混乱,特别是因为admin indices get settings的文档有点......简短。