span查询,实质上不难理解。
不过我刚开始看到的时候,非常非常地蒙,
实在整不明白它到底出来的结果是什么意思。
看ES官网,没有详细地解释,寥寥数字,
只给一个查询DSL代码,连示例结果都没有。
网上很多文章,感觉这里是一个很好的参考。
https://blog.csdn.net/weixin_3 ... 28640
最后,关于masking查询,他给出了一个Lucene源码中的的示例,
他没有对这个示例作出解释,包括masking查询的意义,还有这个slop=-1的意思
这里的slop=-1,并不是顺序倒过来的意思。
比如 "aaa xxx bbb"
你用Near("aaa", "bbb", 0)查不到,
因为中间隔了一个词, 所以用Near("aaa", "bbb", 1)就可以查到,
但你用Near("bbb", "aaa", -1)并不能查到这个文档
另外,图中这个很怪异的查询用法,
在ES中被用在match_phrase_prefix查询当中,,,
不过我刚开始看到的时候,非常非常地蒙,
实在整不明白它到底出来的结果是什么意思。
看ES官网,没有详细地解释,寥寥数字,
只给一个查询DSL代码,连示例结果都没有。
网上很多文章,感觉这里是一个很好的参考。
https://blog.csdn.net/weixin_3 ... 28640
最后,关于masking查询,他给出了一个Lucene源码中的的示例,
他没有对这个示例作出解释,包括masking查询的意义,还有这个slop=-1的意思
这里的slop=-1,并不是顺序倒过来的意思。
比如 "aaa xxx bbb"
你用Near("aaa", "bbb", 0)查不到,
因为中间隔了一个词, 所以用Near("aaa", "bbb", 1)就可以查到,
但你用Near("bbb", "aaa", -1)并不能查到这个文档
另外,图中这个很怪异的查询用法,
在ES中被用在match_phrase_prefix查询当中,,,
1 个回复
Charele - Cisco4321
赞同来自:
这里的文章,我感觉他说得不太准确吧,
1 SpanTermQuery没有任何作用?
我的看法相反,SpanTermQuery是最基础最重要的span查询
2 不知道是不是版本原因,
现在版本中,SpanTermQuery和TermQuery一模一样,
如果你分别执行两个查询,结果,打分,完全一样