我想用[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. NHibernate全文搜索文檔
- 3. 檢索的全文檢索
- 4. 基於字符的Mysql全文搜索
- 5. 基於記憶的全文搜索
- 6. 檢索基於ID
- 7. SQL服務器 - 百分之基於全文檢索
- 8. 的NHibernate + SqlServer的全文搜索
- 9. 索賠基於安全
- 10. 基於教會檢索整篇論文
- 11. Elasticsearch - 全文檢索
- 12. 全文檢索PHP
- 13. Cassandra全文檢索
- 14. MongoMapper - 全文檢索
- 15. 檢索基於日期
- 16. 檢索基於使用SiebelDataBean
- 17. 基於註釋的用戶檢索彈簧安全
- 18. MongoDB的全文檢索
- 19. mysql的全文檢索
- 20. 執行MySql全文搜索使用NHibernate
- 21. NHibernate:獲取基於列的不同結果,但檢索所有列
- 22. mysql的全文檢索與多個全文索引
- 23. 的MongoDB - 全文索引 - 全文檢索 - 制止
- 24. 從XML維基轉儲檢索全部文章標題 - Python的
- 25. 如何檢索基於ques_id的liker id?
- 26. 基於內容的圖像檢索
- 27. Django的檢索基於另一個表
- 28. 檢索基於數據的日期mongodb
- 29. 基於位置的時區檢索
- 30. 全文檢索問題
感謝您的回覆,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