簡體   English   中英

如何在Lucene中用連字符索引單詞?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM