2017-06-02 52 views
0

我加入文件,如下所示Lucene索引: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()); 
} 

当我有一个“this”值的字符串,它没有被添加到索引,因此我没有得到“this”搜索的结果。我正在使用StandardAnalyzer。

+0

“this”是一个停止词。 – femtoRgon

回答

1

像介词,代词等英语语言的常用术语被标记为停用词并在索引之前被省略。您可以为分析仪定义自定义分析仪或自定义停用词表。这样,您将能够省略不希望被索引的文字,并保留所需的停用词。

相关问题