我想用[Fluent]基於NHibernate的數據訪問將全文搜索整合到.NET應用程序中。到目前爲止,Lucene.NET和NHibernate Search組合似乎是最合理的選擇。然而,有幾個項目建立在Lucene之上,據說可以緩解Lucene的複雜性並增加新的功能(例如Solr或ElasticSearch)以及圍繞這些庫的一些.NET包裝。那麼,我的項目有哪些[最佳]選項?基於NHibernate的全文檢索
回答
如果您已經擁有nhibernate數據訪問權限,那麼您應該使用nhibernate搜索,因爲它集成得非常好,而且學習曲線並不太陡峭。
Solr和Elasticsearch更系統獨立(例如restful api),但需要更多管道工作。
而且你有很多的資源在這裏:https://stackoverflow.com/questions/tagged/nhibernate.search
既然你是在.NET上,Solr的和Hibernate Search無法真正的幫助,可能會要求你獲得專門用於搜索另一臺服務器只。我對NHibernate Search等不熟悉,但是隨着.NET端口的發展,它最有可能落後於真正的Java事物。
如果您可以更改您的數據訪問層,請檢出RavenDB。它是用C#/ .NET在Lucene之上編寫的,因此您可以獲得一個快速的無模式文檔數據庫和一個全文搜索引擎。
感謝您的回覆。不幸的是,爲應用程序切換到另一種數據訪問技術幾乎是不可能的,並且當然只能通過全文搜索才能證明其合理性,儘管RavenDB絕對值得一試。 – 2011-05-17 22:19:12
你肯定是對的:NH.Search沒有積極維護,除了確保它與最新的NH版本相比 - 它從最初移植到現在還沒有更新。 – 2011-05-17 23:00:06
- 1. NHibernate全文搜索
- 2. 檢索的全文檢索
- 3. 基於字符的Mysql全文搜索
- 4. 檢索基於ID
- 5. SQL服務器 - 百分之基於全文檢索
- 6. 索賠基於安全
- 7. 基於教會檢索整篇論文
- 8. 全文檢索PHP
- 9. MongoMapper - 全文檢索
- 10. 檢索基於日期
- 11. 檢索基於使用SiebelDataBean
- 12. MongoDB的全文檢索
- 13. mysql的全文檢索
- 14. 執行MySql全文搜索使用NHibernate
- 15. mysql的全文檢索與多個全文索引
- 16. NHibernate:獲取基於列的不同結果,但檢索所有列
- 17. 全文檢索功能
- 18. SQL全文檢索vs「LIKE」
- 19. 全文檢索2008年
- 20. mysql全文檢索問題
- 21. 全文檢索問題
- 22. 淨全文檢索庫
- 23. 基於位置的時區檢索
- 24. Django的檢索基於另一個表
- 25. 基於另一列中的子串檢索列中的文本
- 26. 檢索SQL Server全文索引術語
- 27. 搜索關鍵字並檢索全文
- 28. 如何在利用全文索引的postgres中進行基於短語的全文搜索?
- 29. 基於字段長度檢索MongoDB的文檔使用pymongo
- 30. MongooseJS - 檢索基於ObjectIds的所有文檔在一個數組
感謝您的回覆,Mathieu(+)。您是否認爲通過Solr或ElasticSearch實現的功能(例如可伸縮性)將這些管道代碼投入一些工作量是合理的? – 2011-05-17 21:55:37
我使用NHS來索引15GB的文檔,並沒有遇到性能問題。你要索引多少數據?它會經常更新嗎? – mathieu 2011-05-18 06:56:41
這是一個創業型的B2B應用程序,文本的數量取決於我們的銷售人員可以獲得多少客戶。因此,可伸縮性真的是一個值得關注的問題。不過,我認爲我們不會很快達到15GB的水平。 – 2011-05-18 17:35:54