2016-10-06 54 views
1

什麼是彈性搜索中的離線和在線索引?我做了我的研究,但我找不到足夠的資源來查看這些術語的含義。任何想法?還有什麼時候我們需要重新索引?任何示例都會很棒彈性搜索中的離線和在線索引是什麼?我們什麼時候需要重新索引?

這裏使用術語離線索引和在線索引。

https://spark-summit.org/2014/wp-content/uploads/2014/07/Streamlining-Search-Indexing-using-Elastic-Search-and-Spark-Holden-Karau.pdf

+1

不確定你的意思是'在線'或'離線'索引,你想做什麼?關於重新索引 - 一旦您爲索引Elasticsearch和索引文檔設置了映射,Elasticsearch就不允許您更改這些映射(減去一些例外)。另一件不可能做的事情是在創建索引後更改碎片數量,希望更改這些碎片通常是重新索引數據的原因。 –

+0

感謝您的回覆。我編輯了我的問題 – user1870400

回答

1

重建索引

最基本的形式,如果重新索引只是複製一個指數到另一個。

我已經使用這種形式的重新索引來改變映射。 Elasticsearch不允許您更改映射,因此如果您想更改映射,則必須使用新映射創建新索引(index2),然後重新索引。 reindex將使用舊索引的數據填充新映射。

下面的命令將移動從索引到索引2的所有內容。

curl -XPOST 'localhost:9200/_reindex?pretty' -d' 
{ 
    "source": { 
    "index": "index" 
    }, 
    "dest": { 
    "index": "index2" 
    } 
}' 

您還可以使用重建索引來填充一箇舊索引的新索引。你可以通過使用幾個參數來實現。以下示例將複製最新的1000個文檔。

POST/_reindex { 「大小」:1000, 「源」:{ 「索引」: 「索引」, 「排序」:{ 「日期」: 「降序」} }, 「 DEST「:{ 」指數「: 」索引2「 }}

有關重建索引,請看看在official documentation更多的例子。

離線與聯機索引

在線模式下的新的索引建立,而舊的索引被訪問的讀取和寫入。舊索引上的任何更新也將應用於新索引。

在OFFLINE模式下,表被鎖定在前面以進行任何讀取或寫入操作,然後從舊索引構建新索引。重建索引時,在表格上不允許讀取或寫入操作。只有當操作完成時,表格上的鎖纔會釋放,並且讀寫操作再次被允許。

+0

感謝您的回覆。你對reindex的回答非常好!我剛剛編輯了我的問題,並粘貼了一個鏈接,我在那裏看到這些術語,並試圖理解這些術語的含義 – user1870400

+0

謝謝,您鏈接的文檔並不是指離線索引或聯機索引。 –

+0

https://www.youtube.com/watch?v=jYicnlunDQ0該鏈接由該視頻中的人員提供,她在本視頻中定義了關於離線或在線索引的內容。對不起,請諒解 – user1870400

相關問題