Elasticsearch automatic slicing是做什麼用的?我發現文檔對這個功能非常簡潔。我試圖尋找這個功能的其他解釋,但無濟於事。我也沒有設法找到Elasticsearch中的切片。Elasticsearch自動切片是做什麼的?
3
A
回答
7
自動切片是爲幾個不同端點(如reindex,update by query和delete by query)並行工作的一種方法。
以上三個API都以相同的方式工作,在目標索引上設置scroll query。滾動查詢提供了一種比普通分頁查詢產生更大結果集的查詢的更高性能方式。滾動查詢可以通過slicing them進一步改進。
在明確,如果查詢應該返回命中一個很大的數目,您可以通過使用結果from
/size
正常查詢和頁面,但由於deep-paging不會是高性能的。爲了規避這個問題,ES允許您使用滾動查詢來獲得N個匹配的批量結果。這些滾動查詢可以通過對它們進行切片來進一步改進,即將滾動分割成可以由客戶端應用程序獨立使用的多個切片。
因此,假設您有一個應該返回1,000,000個點擊的查詢,並且您希望使用正常的滾動查詢(即無切片)在批量50,000個點擊中滾動該結果集,則您的客戶端應用程序將擁有進行第一次滾動調用,然後再進行20次同步調用(即一個接一個地調用)來檢索每批50K次匹配。
通過使用切片,可以並行化20個滾動調用。如果您的客戶端應用程序是多線程的,則可以使每個滾動調用使用5個(例如)切片,因此,您最終將得到5個切片〜10K個匹配,可以由應用程序中的5個不同線程使用擁有單線程消耗50K命中。因此,您可以充分利用客戶端應用程序的全部計算能力來消耗這些命中。
切片的理想數量應該是源索引中的分片數量的倍數。爲了獲得最佳性能,應該選擇與源索引中有碎片相同數量的切片。出於這個原因,你可能想使用自動切片而不是手動切片,因爲ES會爲你挑選這個數字。
相關問題
- 1. Elasticsearch的auto_generate_phrase_queries是做什麼的?
- 2. 什麼是OpenGL中的切片?
- 3. 什麼是pythononic切片集的方式?
- 4. 這是什麼樣的數組切片(?)?
- 5. 這個XSLT片段是做什麼的?
- 6. 什麼GRANT用戶對SCHEMA的確切做法是什麼?
- 7. 這個切片是什麼意思[:,:,0]?
- 8. 爲什麼切片endindex不是endindex
- 9. 什麼是「允許一切」在magento adminhtml xml中做什麼?
- 10. 人們使用Elasticsearch做什麼?
- 11. 標準tokenfilter在Elasticsearch中做了什麼?
- 12. 爲什麼發生切片?
- 13. 在elasticsearch別名上調用_close是做什麼的?
- 14. 什麼是使用elasticsearch做文檔聚類的便捷方式?
- 15. PSD切片好的做法
- 16. 自動載入功能中的trim和str_replace是做什麼的?
- 17. 什麼是模式:墊片實際在做什麼?
- 18. 這是什麼jQuery代碼片段在做什麼?
- 19. 什麼是自動存儲時間的確切要求?
- 20. 什麼「?」做?什麼是__FILE__?
- 21. 什麼是setDetailItem:做什麼?
- 22. elasticsearch中碎片數量的影響是什麼?
- 23. 爲什麼elasticsearch碎片未分配
- 24. Elasticsearch副本自動承擔碎片
- 25. 什麼是問題? Yii2 elasticsearch
- 26. 創建自動生成ID的最佳做法是什麼
- 27. 複合主鍵和自動增量?什麼是好的做法?
- 28. 做自動郵件的安全方法是什麼?
- 29. 那麼Android 3.0中片段的確切優勢是什麼?
- 30. 確切的身份仿函數是做什麼的?
最全面的信息來源是Github問題和請求:https://github.com/elastic/elasticsearch/issues/20624 + https://github.com/elastic/elasticsearch/pull/20767 – Val
閱讀通過這些問題,他們主要描述了實現細節,而不是有助於理解實現的功能。 –
您是否閱讀過[切片滾動]相關鏈接(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html#sliced-scroll)? – Val