使用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);
答案 0 :(得分:2)
始终将*
附加到查询中以获取所有后缀匹配:Hel*
将匹配Hello
。