【问题标题】:Implementing SOLR.Net and LUCENE.Net实现 SOLR.Net 和 LUCENE.Net
【发布时间】:2013-10-10 11:17:29
【问题描述】:

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

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

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

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

这是我的两个问题:

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

【问题讨论】:

  • 问题 2 丢失了吗?
  • 它在那里,但它被合并到同一行。
  • Grand 只是想知道您没有得到您想要的完整答案。
  • 有点意思。在下面的回答部分询问了更多信息

标签: c# solr lucene lucene.net solrnet


【解决方案1】:

Solr 位于Lucene 之上,它是用Java 编写的,所以它需要JRESolr.Net 只是 .net 的客户端 Solr,因此您需要以某种方式托管 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 示例使用Jettyhttp://wiki.apache.org/solr/SolrInstall。或者,您可以外包Solr 托管,例如从这里:http://www.websolr.com/plans

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

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

【讨论】:

  • 如果我只想使用 .Net 怎么办。我是否有一些开源选项,或者我也必须获得一些第三方 Java 插件。
  • 或者 lucene.net 的任何插件,它也是纯 .net 基于的,没有基于 java 的东西。
  • 如果你需要简单的东西,没有太多的文档,你不需要缩放 - 你可以只使用 lucene,在这种情况下,它就像安装 nuget pacage 一样容易设置(还有 lucene contrib lib:nuget.org/packages/Lucene.Net.Contrib - 例如,如果您需要刻面)。 lucene 有几个包装器——比如nuget.org/packages/SimpleLucenenuget.org/packages/Lucene.Net.Linq——在某些情况下它们很棒,但是我使用没有任何包装器的 lucene 并且没有问题。
  • 这就是问题所在,我每天只有数千份文件。
  • 有点over the topcode blocks 对于aren't 代码的东西?
猜你喜欢
  • 1970-01-01
  • 2011-01-22
  • 2017-03-02
  • 2010-11-03
  • 1970-01-01
  • 2010-11-07
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多