我使用lucene的MemoryIndex内存中搜索索引来索引字典单词。
我没有索引句子,只是单个词或复合词。
如何在单词中搜索模式:
我要编制索引的示例单词是:
car
boat
singlehome
apartment
programmer
hello
and
last
first
因此,基于评论中链接的示例,我这样做:
Analyzer analyzer = new SimpleAnalyzer(version);
MemoryIndex index = new MemoryIndex();
index.addField("word", "car", analyzer);
index.addField("word", "boat", analyzer);
index.addField("word", "singlehome", analyzer);
index.addField("word", "apartment", analyzer);
QueryParser parser = new QueryParser(version, "content", analyzer);
更新的 以上代码是否正确?
有没有办法让我能以某种方式对单词进行分类,所以我只能搜索给定类别中的单词?
答案 0 :(得分:1)
您可以使用WildcardQuery。允许的通配符是[*,?,]。
使用它像:
Query query = new WildcardQuery(new Term("contents", "prog*"));
Query query = new WildcardQuery(new Term("contents", "*er"));
请注意,以*开头的查询在运行时可能会很慢。工作wildcard query example。