将弹性搜索索引设为只读是否有任何性能提升

And*_*dge 5 elasticsearch

虽然这是一项简单易行的任务,但我很好奇这是否具有积极的性能优势.

curl -XPUT 'localhost:9200/my_index/_settings' -d '
{
    "index" : {
        "blocks" {
            "read_only" : "true"
    } } }
'
Run Code Online (Sandbox Code Playgroud)

小智 5

我假设您的意思是“搜索性能”(搜索时间),因为您尝试将索引设为只读。

在不对索引进行任何更改(添加/删除)的情况下,无论是否设置为只读,搜索性能(搜索时间)都应该相同。

在这两种情况下,分片可以优化为仅具有一个段。维护/搜索分片内不断增加的段数量没有任何开销。此外,也不需要合并段和刷新/刷新。

请参考ElasticSearch官方文档:动态更新索引来了解ElasticSearch是如何完成索引更新的。

另外,根据Github 上的讨论,Aaron Mildenstein 提到:

它对性能没有任何改进。

从技术上讲,一旦索引优化为每个分片 1 个段,并禁用布隆过滤器,软件级别上就没有其他任何东西可以以任何方式提高性能。