Implementing SOLR.Net and LUCENE.Net



我们希望在 .Net Web 项目中实现完整的文档搜索。

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

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

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

所以这是我的两个问题:

  • 是否需要在我的服务器上安装 JRE?
  • 我如何使用 SOLR.Net 实现搜索?即如果它是基于dll的(API(还是我需要做其他事情。
Solr位于

Lucene之上,它是用Java写的,所以它需要JRESolr.Net只是Solr.net客户端,所以你需要以某种方式托管Solr

另一方面,Lucene最初是用Java编写的,但被移植到.NET,所以你可以简单地引用移植Lucene lib的dll,你会没事的。

还有 ElasticSearch ,它也位于Lucene之上,也是用 Java 编写的,所以它也需要JRE,但它在几个方面都比Solr更好,主要是在更容易扩展方面,在我看来也有更好的 .net 客户端。

根据您的需要,您还可以查看RavenDB,它也位于Lucene之上,具有全文搜索/分面功能,可以在自己的服务器上运行或作为嵌入式数据库运行(它是用.net编写的(。

要回答您的问题:

1(仅对于Lucene,您不需要JRE,我们在Windows Azure Websites上运行使用Lucene.NET的网站,这意味着我们尚未在这些服务器实例上安装额外的安廷。

2( 要使用Solr进行全文搜索,您需要:

1(安装Solr(你需要Servlet Container来托管Solr,我只尝试过TomcatSolr示例使用Jetty(http://wiki.apache.org/solr/SolrInstall。或者,您可以将Solr托管外包,例如从这里:http://www.websolr.com/plans

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

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

最新更新