java商城2

java商城2

 

 boolquerybuillder

看上面的流程图就能很明显的看到,filterquery还是有很大的区别的。

比如,query的时候,会先比较查询条件,然后计算分值,最后返回文档结果;

filter则是先判断是否满足查询条件,如果不满足,会缓存查询过程(记录该文档不满足结果);满足的话,就直接缓存结果。

综上所述,filter快在两个方面:

  • 1 对结果进行缓存
  • 2 避免计算分值

 

java商城2

 

【4】根据嵌套类型查询 (filter 与 must 是属于同一个级别的查询方式,都可以作为 query->bool 的属性)

【3】根据嵌套类型查询 (filter 与 must 是属于同一个级别的查询方式,都可以作为 query->bool 的属性)
3.1、filter: 不计算评分, 查询效率高;有缓存; (推荐)
+ term: 精确匹配;
+ match: 模糊匹配, 倒排索引;
3.2、must: 要计算评分,查询效率低;无缓存;
+term: 精确匹配 , 要评分;
+match:模糊匹配, 要评分;

 

java商城2

 

 

 

BoolqueryBuilder        QueryBuilders.rangequery   

java商城2

 

 java商城2

 

 

 

java商城2

 

上一篇:zeppelin-0.8.0-bin-all结合spark解释器,使用RDD,spark SQL


下一篇:组集成网络-Group Ensemble: Learning an Ensemble of ConvNets in a single ConvNet