我们希望在.Net web项目中实现我们的项目中的完整文档搜索。
为此,我们遇到了两个名字,下面是我的推论。
Lucene.Net擅长索引和搜索文本,而SOLR.Net擅长解析大量文档。
我不确定Lucene.Net、SOLR.Net是否需要JRE出现在服务器上,因为我不知道它们是否仍然在内部使用Lucene和/或SOLR (Java )。
以下是我的两个问题:
发布于 2013-10-10 11:18:23
Solr
位于Lucene
之上,是用Java
编写的,因此需要JRE
。Solr.Net
只是Solr
的.net
客户端,因此您需要主机Solr
。
另一方面,Lucene
最初是用Java
编写的,但是被移植到.NET
,所以您可以简单地引用移植的Lucene
库的dll,这样就可以了。
还有ElasticSearch
,它也位于Lucene
之上,它也是用Java
编写的,所以它也需要JRE
,但它在几个方面优于Solr
,主要是在更容易的扩展方面,在我看来也有更好的.net客户端。
根据您的需要,您还可以查看RavenDB
,它也位于Lucene
之上,具有全文搜索/faceting功能,可以在自己的服务器上运行,也可以作为嵌入式数据库运行(它是用.net编写的)。
回答你的问题:
1)仅对于Lucene
,您不需要JRE
,我们使用Lucene.NET
在Windows Azure Websites
上运行网站,这意味着我们还没有在这些服务器实例上安装任何附加的内容。
2)要使用Solr
进行全文搜索,您需要:
1)安装Solr
(您需要Servlet Container
来托管Solr
,我只试过使用Tomcat
,Solr
示例使用Jetty
) http://wiki.apache.org/solr/SolrInstall。或者,您也可以将Solr
主机外包,例如:http://www.websolr.com/plans
2)使用API (Solr.net)将文档添加到索引中
3)使用API (Solr.net)对索引执行搜索。
https://stackoverflow.com/questions/19294320
复制相似问题