我使用的是Lucene.Net 2.9.2,我估計我需要編寫一個自定義標記器,但是希望檢查以防萬一我丟失了明顯的東西。Tokenizing Lucene.Net中的關鍵字
該文件由標題,關鍵字和內容以及一些像作者,日期等元數據組成,每個元數據存儲爲一個字段。這些文檔是軟件技術文檔,可能包含標題,關鍵詞和/或內容中的'.Net','C++','C#'等短語。
我對關鍵字字段使用KeywordAnalyzer,標題和內容使用StandardAnalyzer - StopWords和LowerCase等是必要的,因爲文檔可能很長。
我也寫了一個同義詞自定義過濾器搜索,因爲我想搜索,例如'C#',但也承認'CSharp','C#.Net'等。標記化器已經刪除了'#'從'C#'或'++',因此可以與'C'語言參考混淆
我的想法是,當我索引標題和內容時,我需要根據目前的令牌是否是關鍵字短語或其任何同義詞的一部分。
這是最好的方法嗎?非常感謝提前:)
阿圖爾·您好,感謝您的回答。我相信/認爲KeywordMarkerFilter是在3.1版本中引入Java API的 - 目前不支持.net作爲2.9.2版本是最新版本。不過,我認爲你所建議的是我正在考慮的,即使用自定義標記器在.net中模擬它。再次感謝:) – eslsys
你是對的我從Lucene的角度回答了這個問題,希望它有幫助。 –
謝謝阿圖爾,絕對有幫助,因爲它有助於縮小我的方法中的潛在選項。如果其他人有觀點,我會在幾天後再提問。再次感謝 – eslsys