使用lucene搜索我需要点击如果搜索字符串要么是在字段值中退出的短语或字符

时间:2014-03-12 12:41:45

标签: lucene

如何使用 lucene搜索获得如下所述的搜索方式?

实施例: 你好世界

在上面的例子中,如果我输入“Hello wo”,“Hel”或“Hello”,我需要点击。

这意味着如果输入的短语或字符退出搜索字符串,我需要点击

这是我获得点击的代码:

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 :(得分:0)

最简单的方法是通过在搜索字符串的末尾添加通配符(*)来创建前缀查询,例如:

query = parser.parse("hel*")

或者,您也可以在分析器中使用ngram filter将标记拆分为较小的块。