zoukankan      html  css  js  c++  java
  • 读《深入理解Elasticsearch》点滴-过滤器

    1、过滤器不影响文档得分

    2、过滤的唯一目的是用特定筛选条件来缩小结果范围;而查询不仅缩小结果范围,还会影响文档的得分

    3、过滤器运行更加高效(因为不用计算得分)

    4、通常过滤器使用Bits接口,返回DocIdSet数据结构,通过二进制进行位运算

    5、不是所有的过滤器都是用Bits结构,如数值区间过滤器、脚本过滤器、地理位置过滤器

    6、与或非过滤器不使用Bits

    7、布尔过滤器使用Bits,尽可能使用布尔过滤器。

    8、过滤结构不依赖于查询,可以将过滤结果轻易缓存起来供后续查询使用。但不是所有的过滤器都可以被缓存。如依赖于当前时间的过滤器,对他们做缓存没有任何意义;对于可能存在非常多的唯一值,缓存命中率极低,如地理位置,此类也没有必要做缓存。(翻译成白话,需要缓存的是:查询结果很多,过滤后结果很少,可以缓存;而查询结果很少,则不需要做缓存)

    9、尽量先执行过滤,再执行查询,让查询结算得分的文档数量先降下来

    10、尽量远离后置过滤器

  • 相关阅读:
    Memcached 缓存服务器介绍
    hibernate ——联合主键
    hibernate ——关联关系
    Spring与Struts整合
    spring-DataSource
    hibernate ——helloWorld程序(annotation配置)
    hibernate ——helloWorld程序(XML配置)
    Struts2 知识体系
    Encoding filter 编码过滤器
    jQuery.ajax() 函数详解
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/8593018.html
Copyright © 2011-2022 走看看