spe*_*ane 10 lucene proximity elasticsearch
问题1:在LuceneSpanNearQuery(或span_nearElasticSearch)中,具体含义是slop什么?是分隔两个匹配单词的单词数,还是分隔单词数加1?
例如,假设您的索引文本是: foo bar biz
哪些查询会匹配这样的文字:"foo biz"~0,"foo biz"~1,"foo biz"~2
我希望第一个不匹配,最后一个.但中间呢?
问题2:现在是第二个更复杂的推论问题:slop如果有两个以上的搜索条款,如何处理?是否适用于每对条款或任何一对条款.
例如,假设您构建一个SpanNearQuery有三个条款:foo,bar,biz.匹配上面相同的索引文本需要什么样的slop?我当然会期待一个2绝对会出现的问题,但是0或者1呢?
同样,使用相同的三个子句查询,匹配文本需要什么样的slop: foo bar ble biz
spe*_*ane 16
问题1: Slop是分隔span子句的单词数.所以slop 0意味着他们相邻.在我给出的例子中,1的slop匹配.
问题2:当有超过两个span span near子句时,每个子句必须连接到至少一个其他子句,不超过将它们分开的slop词,并且所有子句必须通过链相互连接.但是,每个条款不需要用slop词分隔给每个其他条款.
对于问题2中的第一个例子:0,1和2的斜率都匹配.零坡即使相匹配foo,并biz因为有通过所有条款链由多个分开.
对于问题2中的第二个示例:slop为0将不匹配,因为biz与所有其他子句分开超过0 slop.Slop of 1会匹配因为foo并且bar被0 slop分开,另外bar并且biz被1 slop分开.尽管它匹配foo并且biz被多个分隔,因为所有子句都有链.Slop of 2显然会匹配.
| 归档时间: |
|
| 查看次数: |
7204 次 |
| 最近记录: |