Lucene通配符搜索似乎没有像模糊搜索那样重写查询

时间:2012-03-08 13:52:28

标签: java lucene

当我查看模糊查询的解释时,我发现它已经取代了我现有的搜索词

artist:republica~0.5

包含与

匹配的文档中的所有条款
(artist:republic^0.78 artist:republica^1.04 artist:republice^0.80888885) 

但是通配符查询似乎不是

artist:republica*

给出

ConstantScore(artist:republica*^1.04)^1.04

为什么会这样?

1 个答案:

答案 0 :(得分:0)

没关系我认为所有多项查询都使用相同的重写方法但是读取Javadocs我意识到模糊查询对通配符和前缀查询使用了不同的重写方法。

FuzzyQuery: MultiTermQuery.TopTermsScoringBooleanQueryRewrite

WildcardQuery: MultiTermQuery.ConstantScoreAutoRewrite