針對index數量
1)根據業務增量需求,採取基於日期模板建立索引,通過roll over api滾動索引;
2)使用別名進行索引管理;
3)採取curator進行索引的生命週期管理;
針對儲存
4)每天凌晨定時對索引做force_merge操作,以釋放空間;
5)採取冷熱分離機制,熱資料儲存到ssd,提高檢索效率;冷資料定期進行shrink操作,以縮減儲存;
1)寫入前副本數設定為0,寫入前關閉refresh_interval設定為-1,禁用重新整理機制。寫入後恢復副本數和重新整理間隔。
2)寫入過程中:採取bulk批量寫入;
3)盡量使用自動生成的id。
1)禁用wildcard;
2)禁用批量terms(成百上千的場景);
3)充分利用倒排索引機制,能keyword型別盡量keyword;
4)資料量大時候,可以先基於時間敲定索引再檢索;
5)設定合理的路由機制。
1)空間占用小。通過對詞典中單詞字首和字尾的重複利用,壓縮了儲存空間;
2)查詢速度快。o(len(str))的查詢時間複雜度。
terms index實際上是由乙個或多個fst組成的,segment上每個欄位都有自己的乙個fst(fstindex)記錄在.tip上,burst-trie可以認為是trie的一種變種,它主要是將字尾進行了壓縮,降低了trie的高度,從而獲取更好查詢效能。
簡單理解的話,你可以把它當成乙個高階的bloomfilter,我們bloomfilter是有一定的錯誤率的;同時bloomfilter是通過hashcode實現的,只能用它來測試是否存在,並無法快速定位。在fst中,並無錯誤率且能快速定位。但是bloomfilter有更高的效能。
補充:關於lucene的segement:
磁碟 網路開銷
cpu、程序、執行緒
elasticsearch常見問題總結
原因 主要是linux的版本過低 解決方案 重新安裝新版本的linux系統 原因 無法建立本地檔案問題,使用者最大可建立檔案數太小 解決方案 切換到root使用者,編輯limits.conf配置檔案,新增類似如下內容 vi etc security limits.conf 新增如下內容 soft n...
elasticsearch常見問題總結
原因 主要是linux的版本過低 解決方案 重新安裝新版本的linux系統 原因 無法建立本地檔案問題,使用者最大可建立檔案數太小 解決方案 切換到root使用者,編輯limits.conf配置檔案,新增類似如下內容 vi etc security limits.conf 新增如下內容 soft n...
ElasticSearch常見名詞解釋
文件元資料 乙個文件不只有資料。它還包含了 元資料 metadata 關於文件的資訊。三個必須的元資料節點是 節點說明 index 文件儲存的地方 type 文件代表的物件的型別 id文件的唯一標識 索引 index 這裡說的索引,是乙個名詞,乙個儲存關聯資料的地方。實際上,索引只是乙個用來指向乙個...