有關ElasticSearch的一些備忘事項

2021-06-25 13:42:41 字數 743 閱讀 7349

1. elasticsearch中文件的分布公式

shard = hash(routing) % number_of_primary_shards
預設的routing是_id,也可以在索引時指定routing值(是routing值,而不是具體那個shard)。

2. es中分片的數量在索引建立後是不可更改的,要使用超分配(overallocation)的方法盡量預估出適當的分片數量,以為將來的水平擴充套件作好準備。

3. 為什麼es不支援分片**功能。

4. 確定分片數量(或者每個分片大小)的最佳實踐方法。

當服務出現不滿足生產要求時(主要指效能相關的指標)即可得出每個分片的可承載資料量,結合整體的資料量評估進而推算出需要的分片數量。

5. 不同種類、不同規模的資料使用es索引時的結構設計。

按照es的官方文件index相當於關聯式資料庫中的database,type相當於關聯式資料庫中的table,因此,我們在將關聯式資料庫中的資料使用es進行索引時,很容易按照這個概念來設計索引結構,即乙個database對應乙個index,各個表對應不同的type。但在實際應用中,我們要注意,es中乙個index下的所有type是混在一起索引的,而且es中的分片數量是和index繫結的,並且設定分片數量後就不能修改。我們要做的是將表結構類似且資料量相當的表放到同乙個index的不同type中,如果表結構差異較大,或者資料量差異較大(有的幾十萬,有的上千萬甚至上億),我們應使用不同的index來設定不同的分片數量,以達到索引效能和檢索效能的最優化。

有關ElasticSearch分頁的坑!

最近公司新的 專案需要用到elasticsearch搜尋引擎。然後我是負責的商品模組中,然後我就開始了解elasticsearch。公司的要求是需要搜尋出來後,商品要按照 1,綜合排序 2,公升序 3,降序 4,銷量排序 然後,在了解elasticsearch中的dsl語法後寫完es的介面。然後自己...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...