SpanQuery和PhraseQuery有什么区别?

时间:2012-05-02 06:20:01

标签: solr lucene

假设我想用2个术语查询搜索索引。 我可以用PhraseQuery(term1, term2, slop = 2) or with SpanNearQuery(term1, term2, slop=2, ordered=false)来完成。 这些配置的lucene得分有什么不同?

1 个答案:

答案 0 :(得分:4)

据我所知,使用slop的短语查询会对短语进行标记,然后应用每个标记之间的斜率距离,而在跨度查询中,短语将作为一个单元保留。

因此,如果您使用slop "cat dog bird"3进行短语查询,则它与cat horse lizard dog bird匹配。

但是"cat dog" bird与sl 3的范围查询与cat horse lizard dog bird不匹配,因为catdog不相邻。但是,它会匹配:cat dog horse lizard bird