我想在搜索索引之前更改相似度。我要做的是:
QueryParser parser = new QueryParser(Version.LUCENE_43, "field", standarAnalyzer);
System.out.println("similarity before: " + parser.getFuzzyMinSim());
parser.setFuzzyMinSim(0.6f);
System.out.println("similarity after: " + parser.getFuzzyMinSim());
Query query = parser.parse(inputString); // inputString is given by the user
System.out.println("Querystring: " + query.toString());
现在,当 inputString = "something~" 然后我得到这个输出
similarity before: 2.0
similarity after: 0.5
Querystring: field:something~2 // Why 2!?
我的问题:
- 为什么一开始就设置相似度为2.0(我以为默认是0.5)?
- 为什么调用 setFuzzyMinSim 方法后还是 2.0?