Implementing SOLR.Net and LUCENE.Net
本文关键字:Net LUCENE and Implementing SOLR | 更新日期: 2023-09-27 18:34:56
我们希望在 .Net Web 项目中实现完整的文档搜索。
为此,我们遇到了 2 个名字,以下是我推断/推断的。
Lucene.Net 擅长索引和搜索文本,而 SOLR.Net 擅长解析大量文档。
我不确定是否 Lucene.Net,SOLR.Net 要求 JRE存在于服务器上,因为我不知道他们是否仍然在内部使用Lucene和/或SOLR(Java版本(。
所以这是我的两个问题:
- 是否需要在我的服务器上安装 JRE?
- 我如何使用 SOLR.Net 实现搜索?即如果它是基于dll的(API(还是我需要做其他事情。
Solr
位于Lucene
之上,它是用Java
写的,所以它需要JRE
。 Solr.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
,我只尝试过Tomcat
,Solr
示例使用Jetty
(http://wiki.apache.org/solr/SolrInstall。或者,您可以将Solr
托管外包,例如从这里:http://www.websolr.com/plans
2( 使用一些 API (Solr.net( 将文档添加到索引
3( 使用一些 API (Solr.net( 对索引执行搜索