如何使用lucene搜索在字段值中存在至少一个字符时获取搜索命中率

时间:2014-03-11 13:55:39

标签: lucene

使用lucene搜索时,如果搜索到的字符中至少有一个字符存在于字段的值中,我如何获得搜索命中?

只有当我用完整的单词搜索时才能获得搜索命中率。

实施例: Hello world

在上面的例子中,如果我输入“Hello”,那么我会得到一个命中,但如果我输入“Hel”则不会

这是我获得点击的代码:

QueryParser parser = null;
Query query = null;
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT, new HashSet());
BooleanQuery.setMaxClauseCount(32767);
parser = new QueryParser("fieldname", analyzer);
parser.setAllowLeadingWildcard(true);
query = parser.parse("searchString");
TopDocs topResultDocs = searcher.search(query, null, 20);

1 个答案:

答案 0 :(得分:2)

始终将*附加到查询中以获取所有后缀匹配:Hel*将匹配Hello