Lucene.Net新增功能哪個是Lucene.Net中最好的分析器? 另外,我想知道如何使用停用詞和詞幹功能?Lucene.Net功能
回答
我也是Lucene.Net的新手,但我確實知道簡單分析器省略了任何停用詞,並索引了所有的標記/作品。
下面是一些Lucene信息的鏈接,順便說一下,.NET版本是對Java版本幾乎完美的逐字節重寫,所以Java文檔在大多數情況下應該可以正常工作:http://darksleep.com/lucene/。這裏有一個關於三個分析儀的部分,簡單的,停止的和標準的。
我不確定Lucene.Net如何處理詞幹擾,但此鏈接http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html?page=2演示瞭如何使用Java創建自己的分析器,並使用PorterStemFilter來執行詞幹分析。
... [T]他波特詞幹算法(或「波特詞幹」)是由英文字
去除較爲常見的形態和抑揚的結局的過程,我希望是有幫助。
我發現的最好的分析儀是StandardAnalyzer,您也可以在其中指定停用詞。 例如: -
string indexFileLocation = @"C:\Index";
string stopWordsLocation = @"C:\Stopwords.txt";
var directory = FSDirectory.Open(new DirectoryInfo(indexFileLocation));
Analyzer analyzer = new StandardAnalyzer(
Lucene.Net.Util.Version.LUCENE_29, new FileInfo(stopWordsLocation));
這取決於您的要求。如果您的要求非常簡單 - 例如不區分大小寫,非詞幹搜索 - 那麼StandardAnalyzer是一個不錯的選擇。如果您查看分析儀類並熟悉過濾器,特別是TokenFilter,您可以通過滾動您自己的分析器在您的索引上找到exert an enormous amount of control。
干擾素很棘手,深入瞭解您真正需要的干擾素類型非常重要。我已經使用了Snowball詞幹。例如,「政策」和「警察」這兩個詞在英語「雪球」詞幹分析器中具有相同的詞根,當搜索詞「警察」不是那麼熱時,會在「策略」文檔中獲得匹配結果。我已經實施了支持阻止和非阻塞搜索的策略,以避免這種情況發生,但瞭解其影響非常重要。
小心像停止詞的誘惑。如果您需要搜索短語「成爲或不是」並且標準停用詞已啓用,則您的搜索將無法找到具有該短語的文檔。
- 1. Lucene.net中的「FindAll」功能
- 2. 「你的意思是?」功能Lucene.net
- 3. Lucene.NET性能
- 4. 慢Lucene.Net搜索性能
- 5. Lucene.NET性能關注ASP.NET MVC
- 6. Lucene.NET MultiSearcher
- 7. Lucene.net PerFieldAnalyzerWrapper
- 8. 在Lucene.net
- 9. 在Lucene.Net
- 10. Lucene/Lucene.NET - Document.SetBoost()值?
- 11. Lucene.net index in php
- 12. Lucene.NET只讀IndexSearcher
- 13. Lucene.Net BooleanClause問題
- 14. Lucene.NET - 通過INT
- 15. Lucene.Net(2.9.2.2)和Nhibernate.Search
- 16. Lucene.net 2.9.2 NumericField排序
- 17. 使用Lucene.net分頁
- 18. Lucene.NET中等信任
- 19. Lucene.NET 2.9和BitArray/DocIdSet
- 20. Lucene.net IndexWriter鎖獲得
- 21. Lucene.NET Stemmer for romanian language
- 22. Lucene.NET分面搜索
- 23. memcached或lucene.net與nhibernate
- 24. 設置Lucene.Net指數
- 25. Lucene.Net最佳實踐
- 26. Lucene.NET詞幹問題
- 27. Lucene.Net並行搜索
- 28. Lucene.Net搜索列表
- 29. 麻煩TermFreqVector在lucene.net
- 30. Lucene.Net前綴查詢