我将文档添加到lucene索引中,如下所示:
Document doc = new Document();
String stringObj = (String)field.get(obj);
doc.add(new TextField(fieldName, stringObj.toLowerCase(), org.apache.lucene.document.Field.Store.YES));
indexWriter.addDocument(doc);
我正在进行外卡搜索,如下所示:
searchTerm = "*" + searchTerm + "*";
term = new Term(field, sTerm.toLowerCase());
Query query = new WildcardQuery(term);
TotalHitCountCollector collector = new TotalHitCountCollector();
indexSearcher.search(query, collector);
if(collector.getTotalHits() > 0){
TopDocs hits = indexSearcher.search(query, collector.getTotalHits());
}
当我的字符串带有"这个"值,它没有被添加到索引中,因此我没有得到"这个"的搜索结果。我正在使用StandardAnalyzer。
答案 0 :(得分:1)
英语的常用术语如介词,代词等被标记为停用词并在索引之前被省略。您可以为分析仪定义自定义分析器或自定义停止词列表。这样,您就可以省略不想被编入索引的单词,并保留所需的停用词。