实施SOLR.Net和LUCENE.Net

时间:2013-10-10 11:17:29

标签: c# solr lucene lucene.net solrnet

我们希望在 .Net web project 的项目中实施完整的文档搜索。

为此我们遇到了2个名字,以下是我推断/推断的名称。

Lucene.Net 擅长索引和搜索文本,而 SOLR.Net 正在解析大量文档。

我不确定 Lucene.Net SOLR.Net 是否要求JRE出现在服务器上,因为我不知道他们是否还在使用 Lucene内部和/或 SOLR (Java版本)。

所以这是我的两个问题:

  • 我是否需要在服务器上安装JRE?
  • 如何使用 SOLR.Net 实施搜索?即如果它是基于DLL(API)或我需要做其他事情。

1 个答案:

答案 0 :(得分:10)

Solr位于Lucene之上,它写在Java中,因此需要JRESolr.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,我只尝试使用SolrJetty示例使用Solrhttp://wiki.apache.org/solr/SolrInstall。或者,您可以外包{{1}}托管,例如从此处http://www.websolr.com/plans

2)使用一些API(Solr.net)将文档添加到索引

3)使用一些API(Solr.net)对索引进行搜索