2

我们想在.Net web 项目中的项目中实现完整的文档搜索。

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

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

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

所以这是我的两个问题:

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

1 回答 1

10

Solr坐在上面,Lucene它是用 写的Java,所以它需要JRE. Solr.Net只是.net客户端Solr,因此您需要Solr以某种方式使用主机。

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

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

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

要回答您的问题:

1)Lucene只是,您不需要JRE,我们正在使用Lucene.NETon运行网站Windows Azure Websites,这意味着我们没有在这些服务器实例上安装任何额外的东西。

2) 要Solr用于全文搜索,您需要:

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

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

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

于 2013-10-10T11:18:23.607 回答