假设我想用2个术语查询搜索索引。
我可以用PhraseQuery(term1, term2, slop = 2) or with SpanNearQuery(term1, term2, slop=2, ordered=false)
来完成。
这些配置的lucene得分有什么不同?
答案 0 :(得分:4)
据我所知,使用slop的短语查询会对短语进行标记,然后应用每个标记之间的斜率距离,而在跨度查询中,短语将作为一个单元保留。
因此,如果您使用slop "cat dog bird"
对3
进行短语查询,则它与cat horse lizard dog bird
匹配。
但是"cat dog" bird
与sl 3
的范围查询与cat horse lizard dog bird
不匹配,因为cat
和dog
不相邻。但是,它会匹配:cat dog horse lizard bird
。