如何通过Elastic API查看和设置index.refresh_interval参数?
查看与设置
index.refresh_interval的Elasticsearch API 一、查看index.refresh_interval
index.refresh_interval是索引级动态设置,默认情况下Elasticsearch不会返回与默认值一致的配置项,因此你用GET /my-index/_settings无法看到它,可通过以下方式查询:
- 查看单个索引的该设置(包含默认值):
或直接指定查询该设置,更高效:GET /my-index/_settings?include_defaults=trueGET /my-index/_settings/index.refresh_interval - 查看多个索引的该设置:
GET /index1,index2/_settings/index.refresh_interval - 查看集群默认值(新建索引时的默认配置):
该默认值定义在默认索引模板中,可通过以下接口查看:GET /_index_template/default
二、设置index.refresh_interval
该设置支持动态更新,无需重启索引,使用索引的_update_settings接口操作:
- 设置单个索引的刷新间隔:
批量导入数据时可临时关闭刷新提升性能,设为PUT /my-index/_settings { "index": { "refresh_interval": "30s" } }-1即可:PUT /my-index/_settings { "index": { "refresh_interval": "-1" } } - 设置多个索引的刷新间隔:
PUT /index1,index2/_settings { "index": { "refresh_interval": "15s" } } - 设置集群全局默认值(后续新建索引自动应用):
修改默认索引模板即可:PUT /_index_template/default { "index_patterns": ["*"], "priority": 0, "settings": { "index": { "refresh_interval": "20s" } } }
补充:你之前用
GET /_cluster/settings看不到该设置,是因为index.refresh_interval不属于集群级设置,它是索引级配置,集群层面仅通过索引模板定义新建索引的默认值。
内容的提问来源于stack exchange,提问作者Marvin
相关产品推荐
相关产品推荐

