2014-10-28 91 views
3

除了專門用於數值的事實之外,執行過程如何在內部有所不同。該文件說:Elasticsearch:「範圍過濾器」和「數字範圍過濾器」之間的區別

Numeric Range Filter

...作品通過所有相關的字段值加載到內存中,並 檢查相關的文檔,如果他們滿足上述範圍的要求。 這需要更多的存儲器..

Range Filter

有2個執行選項:(ⅰ)指數(採用反向索引)(ⅱ) fielddata(在存儲器加載場數據)

問:

  1. 請問fielddata選項Range filter使其表現類似於Numeric range filter
  2. 爲什麼Numeric range filter沒有索引選項?
  3. 文檔進一步說for small ranges the index execution is faster:什麼是small在這裏?

如果有人能用一個例子來解釋它,那真的會有所幫助。

回答

1

不建議使用數值範圍過濾器。根據Java API,「此過濾器將在某個時間點被刪除,有利於帶有執行模式字段數據的範圍過濾器。」

我認爲「小」是相對於該領域的全部值。 「小」的含義是您必須通過基準測試來確定自己的原因,因爲性能取決於分配給Elasticsearch的內存量和存儲在該領域的數據類型。