居然是你

关于ES里面的范围查询

Elasticsearch | 作者 Charele | 发布于2022年07月18日 | 阅读数:1627

没明白ES里面的范围查询,希望有理解的道友能解释一下。
 
  比如针对long类型的,先看下它的定义:
QQ图片20220718182242.png

 
一般情况下(为了优化),它用的是这个叫IndexOrDocValuesQuery的,
没明白它用的目的是什么。
 
来看下它的解释:
222.png

它好像是说用两个查询,一个用来查,另一个用来匹配,就是看看第一个查询得到的文档号和第二个对不对得上。
 
范围查询就是一个个地找(这里方式是BKD树方式),
我的疑问是,既然第一个查询找出来了,那肯定是对的。还用得着去和第二个比对吗?
这不是降低效率了么。
已邀请:

w_b

赞同来自:

IndexOrDocValuesQuery是通过比较正排和倒排查询,选择一个性能更好的查询去执行  参考:https://www.amazingkoala.com.c ... .html

Charele - Cisco4321

赞同来自:

"IndexOrDocValuesQuery是通过比较正排和倒排查询,选择一个性能更好的查询去执行"
是这样吗?
 
看下他的定义
111.png

你自定义时,这两个查询可以随便定义。不过在ES里面,是写死了的,
第一个是point查询,第二个是dv查询

222.png

再看看它weight的定义,它只用第一个

APaul - CSDN:https://blog.csdn.net/qq_23995091?spm=1011.2415.3001.5343 博客园:https://www.cnblogs.com/APaul

赞同来自:

不错不错

要回复问题请先登录注册