[英]How to index word with hyphen in Lucene?
我有一個StandardAnalyzer工作,它使用填充HashMap的TermVectorMapper從單個文檔中檢索單詞和頻率。
但是,如果我在文檔中使用以下文本作為字段,即
addDoc(w, "lucene Lawton-Browne Lucene");
HashMap中返回的單詞頻率為:
布朗1 lucene 2 lawton 1
問題是“勞頓”和“布朗”這兩個詞。 如果這是一個真正的“雙管”名稱,Lucene可以將其識別為'Lawton-Browne',其名稱實際上是一個單詞嗎?
我嘗試過組合:
addDoc(w, "lucene \”Lawton-Browne\” Lucene");
單引號但沒有成功。
謝謝
摩根先生。
如果您仍希望能夠使用停用詞列表,我建議您嘗試使用PatternAnalyzer。 它允許這樣的列表並具有預填充的空白模式。
或者你包裝空白分析器並在tokenStream(String fieldName,Reader reader)中執行類似這樣的操作,你可以這樣做:
public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream stream = myWhitespaceAnalyzer.tokenStream(fieldName, Reader);
stream = new StopFilter(stream, stopWords);
return stream;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.