我希望通过基于[Fluent] NHibernate的数据访问将全文搜索集成到.NET应用程序中。到目前为止,Lucene.NET和NHibernate Search组合似乎是最合理的选择。然而,有几个项目建立在Lucene之上,据说可以减轻Lucene的复杂性并添加新功能(例如Solr或ElasticSearch)以及围绕这些库的一些.NET包装器。那么,我项目的[最佳]选项是什么?
答案 0 :(得分:2)
如果您已经拥有nhibernate数据访问权限,那么您应该使用nhibernate搜索,因为它集成得非常好,并且学习曲线不会太陡。
Solr和Elasticsearch更加系统独立(例如restful api),但需要更多的管道工作。
你在这里有很多资源:https://stackoverflow.com/questions/tagged/nhibernate.search
答案 1 :(得分:1)
由于您使用的是.NET,Solr和Hibernate Search无法提供帮助,并且可能需要您使用专用于搜索的另一台服务器。我不熟悉NHibernate Search等,但是随着.NET端口的发展,它很可能落后于真正的Java。
如果您可以更改数据访问层,请结帐RavenDB。它是用Lucene顶部的C#/ .NET编写的,因此您可以获得快速无模式文档数据库和全文搜索引擎。