Elasticsearch:“范围过滤器”和“数字范围过滤器”之间的区别

时间:2014-10-28 06:58:03

标签: elasticsearch

除了一个专门用于数值的事实外,执行内部如何不同。文档说:

Numeric Range Filter

  

...通过将所有相关字段值加载到内存中来工作   如果满足范围要求,则检查相关文档。   这需要更多的记忆......

Range Filter

  

有2个执行选项:(i)索引(使用倒排索引)(ii)   fielddata(在内存中加载字段数据)

问题:

  1. fielddata的{​​{1}}选项是否会使其与Range filter
  2. 相似
  3. 为什么Numeric range filter没有索引选项?
  4. 文档进一步说Numeric range filter:这里考虑了什么for small ranges the index execution is faster
  5. 如果有人可以用一个例子来解释,那真的会有所帮助。

1 个答案:

答案 0 :(得分:1)

不推荐使用数字范围过滤器。根据{{​​3}},“此过滤器将在某个时间点删除,以支持具有执行模式fielddata的范围过滤器。”

我认为“小”是指该字段的全部值。 “小”的含义是您必须通过基准测试来确定的,因为性能将取决于分配给Elasticsearch的内存量以及存储在该字段中的数据类型。