2012-05-02 16 views
0

假設我想用2項查詢搜索索引。 我可以用PhraseQuery(term1, term2, slop = 2) or with SpanNearQuery(term1, term2, slop=2, ordered=false)來完成。 這些配置的lucene評分有什麼區別?SpanQuery和PhraseQuery有什麼區別?

回答

4

據我所知,使用slop的詞組查詢會標記該短語,然後應用每個標記之間的斜距,而在跨度查詢中,詞組將保留爲一個單位。

因此,如果您有"cat dog bird"的短語查詢3,它會匹配cat horse lizard dog bird

"cat dog" bird跨度查詢的污油水3將不匹配cat horse lizard dog bird因爲catdog不相鄰。但是,它會匹配:cat dog horse lizard bird