问题1:在Lucene的
例如,如果索引文本为:
例如,假设您构造了一个包含三个子句的
同样,在相同的三个子句查询中,需要什么样的
SpanNearQuery
(或ElasticSearch中的span_near
)中,slop
的确切含义是什么?它是匹配两个单词之间隔开的单词数,还是隔开的单词数加1?例如,如果索引文本为:
foo bar biz
哪些查询将匹配此文本:"foo biz"~0
、"foo biz"~1
、"foo biz"~2
我期望第一个查询不匹配,最后一个查询匹配。但是中间的查询呢?
问题2:现在是一个更复杂的相关问题:如果有多于两个搜索条款,slop
如何处理?它是应用于每一对子句还是任意一对子句?例如,假设您构造了一个包含三个子句的
SpanNearQuery
:foo
、bar
、biz
。需要什么样的slop
才能匹配上面相同的索引文本?我认为2
的slop
肯定可以,但是0
或1
呢?同样,在相同的三个子句查询中,需要什么样的
slop
才能匹配文本:foo bar ble biz
?