2014-07-10 39 views
5

雖然這是一項簡單的任務,但是對於這是否具有積極的性能優勢感到好奇。從彈性搜索索引中獲得任何性能收益只讀

curl -XPUT 'localhost:9200/my_index/_settings' -d ' 
{ 
    "index" : { 
     "blocks" { 
      "read_only" : "true" 
    } } } 
' 
+0

我對此表示懷疑。這看起來更像是一個管理功能。 https://github.com/elasticsearch/elasticsearch/issues/1452 –

回答

2

我假設你的意思是「搜索性能」(搜索時間),因爲你試圖讓你的指數爲只讀。

如果沒有對索引(添加/刪除)進行任何更改,搜索性能(搜索時間)應該是相同的,無論它是否設置爲只讀。

在這兩種情況下,分片可能會被優化爲只有一個分段。維護/搜索分片內的片段數量不會有任何開銷。另外,不需要合併段和刷新/刷新。

請參閱ElasticSearch官方文檔:Dynamically updatable indices以瞭解ElasticSearch如何完成索引更新。

此外,根據本discussion in Github,亞倫Mildenstein提到:

這對性能沒有任何改善。從技術上講,一旦索引被優化爲每個分片的1個片段 ,並且已經禁用了布隆過濾器,那麼在軟件級別上沒有其他任何東西 會以任何方式提高性能。