我们希望在 .Net web project 的项目中实施完整的文档搜索。
为此我们遇到了2个名字,以下是我推断/推断的名称。
Lucene.Net 擅长索引和搜索文本,而 SOLR.Net 正在解析大量文档。
我不确定 Lucene.Net , SOLR.Net 是否要求JRE出现在服务器上,因为我不知道他们是否还在使用 Lucene内部和/或 SOLR (Java版本)。
所以这是我的两个问题:
答案 0 :(得分:10)
Solr
位于Lucene
之上,它写在Java
中,因此需要JRE
。
Solr.Net
只是.net
Solr
的{{1}}客户端,因此您需要以某种方式托管Solr
。
Lucene
最初是用Java
编写的,但是被移植到.NET
,所以你可以简单地引用移植的Lucene
lib的dll,你将会是细
还有ElasticSearch
,它也位于Lucene
之上,它也写在Java
中,所以它也需要JRE
,但它比Solr
在几个方面,主要是在更容易扩展,在我看来也更好.net客户端。
根据您的需要,您还可以查看RavenDB
,它也位于Lucene
之上,具有全文搜索/分面功能,可以在自己的服务器上运行,也可以作为嵌入式数据库(用.net编写)。
回答你的问题:
1)仅限Lucene
,您不需要JRE
,我们在Lucene.NET
上使用Windows Azure Websites
运行网站,这意味着我们无法使用Solr
#39;在这些服务器实例上安装了额外的anthing。
2)要使用Solr
进行全文搜索,您需要:
1)安装Servlet Container
(您需要Solr
才能托管Tomcat
,我只尝试使用Solr
,Jetty
示例使用Solr
)http://wiki.apache.org/solr/SolrInstall。或者,您可以外包{{1}}托管,例如从此处http://www.websolr.com/plans
2)使用一些API(Solr.net)将文档添加到索引
3)使用一些API(Solr.net)对索引进行搜索