2014-04-07 57 views
0

我想在我的後端使用elasticsearch數據,我有幾個問題:推薦的方式來存儲elasticsearch

  1. 我的數據庫中包含的產品的半結構化數據,即每個產品可以在其內部都有不同的屬性。 我希望能夠搜索大多數字段上的文本,並在一個特定字段上搜索文本。 在ES中存儲文檔的推薦方式是什麼?將所有文本存儲在字段中(可能使用_all功能)或將其保留在不同的字段中。 我對不同領域的關注是,我可能有很多索引(因爲我有許多不同的產品屬性)

  2. 我使用couchbase作爲我的主要數據庫。 假設我需要對文檔進行一些修改,將文檔從它移動到ES的推薦方式是什麼? 要從我的代碼顯式更新索引或使用外部工具?

10倍,

+2

請考慮分兩個帖子分析您的問題,您不會標記出幾個正確答案。 –

+0

ES上有一個傳輸couchbase插件,用於自動複製數據。 https://github.com/couchbaselabs/elasticsearch-transport-couchbase 也聽@KristapsKarlsons :) – scalabilitysolved

回答

1

這取決於你多少文檔在一個時間索引。如果文檔數量大於200萬。那麼最好將所有內容存儲在一個字段中,這樣可以在編制索引時節省時間。

如果索引的文檔非常少,則將它們逐字段索引,然後在_all字段上進行搜索。這樣可以清楚地看到數據,對於顯示內容和不顯示內容會非常有幫助。

+0

感謝您的答案。 我不需要索引太多,但我有很多讀。 但是,爲了澄清,我想更好地理解它是如何影響ES的文檔結構的...... 它是否將每個字段保存在不同的索引中? 如果是,那麼它意味着如果我有不同的產品具有很多不同的屬性,那麼我將有很多索引(假設每個字段的索引)。 –

+0

這裏的索引是指sql中的模式或數據庫。類型意味着一個表和字段是該表中的列....所以,從這個字段不會是一個不同的索引。會發生什麼情況是,當您爲不同字段的文檔編制索引時,映射將不斷更新,如果文檔較大,則需要大量時間進行索引。如果數據或文檔較少,那沒關係...... – harsha

相關問題