2017-06-02 87 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

像介詞,代詞等英語語言的常用術語被標記爲停用詞並在索引之前被省略。您可以爲分析儀定義自定義分析儀或自定義停用詞表。這樣,您將能夠省略不希望被索引的文字,並保留所需的停用詞。

相關問題