Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实现SOLR.Net和LUCENE.Net_C#_Solr_Lucene_Lucene.net_Solrnet - Fatal编程技术网

C# 实现SOLR.Net和LUCENE.Net

C# 实现SOLR.Net和LUCENE.Net,c#,solr,lucene,lucene.net,solrnet,C#,Solr,Lucene,Lucene.net,Solrnet,我们希望在.Net web project中的项目中实现完整文档搜索 因此,我们遇到了两个名字,下面是我推断的 Lucene.Net擅长索引和搜索文本,而SOLR.Net擅长解析大量文档 我不确定Lucene.Net、SOLR.Net是否要求JRE出现在服务器上,因为我不知道他们是否仍然在内部使用Lucene和/或SOLR(Java版本) 下面是我的两个问题: 我是否需要在服务器上安装JRE 如何使用SOLR.Net实现搜索?i、 如果它是基于dll(API)的,或者我需要做其他事情 Solr

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

因此,我们遇到了两个名字,下面是我推断的

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

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

下面是我的两个问题:

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

  • Solr
    位于
    Lucene
    之上,它是用
    Java
    编写的,因此需要
    JRE
    Solr.Net
    只是
    Solr
    .Net
    客户端,因此您需要主机
    Solr

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

    还有
    ElasticSearch
    ,它也位于
    Lucene
    之上,而且它也是用
    Java
    编写的,因此它也需要
    JRE
    ,但它在几个方面都比
    Solr
    好,主要是在更易于扩展方面,我认为它也有更好的.net客户端

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

    回答您的问题:

    1) 仅对于
    Lucene
    ,您不需要
    JRE
    ,我们在
    windowsazure网站上使用
    Lucene.NET
    运行该网站,这意味着我们没有在这些服务器实例上安装其他内容

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

    1) 安装
    Solr
    (您需要
    Servlet容器
    来承载
    Solr
    ,我只使用了
    Tomcat
    Solr
    示例使用
    Jetty
    )。或者,您可以外包
    Solr
    托管,例如从这里:

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


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

    是否缺少问题2?它在那里,但被合并在同一行中。Grand只是想知道你没有得到你想要的完整答案。有点奇怪。如果我只想使用.Net,请在下面的回答部分询问更多信息。我有一些开源的选择吗?或者我也需要一些第三方的java插件。或者lucene.net的任何插件,它也是基于.net的,不需要基于java的东西。如果你需要简单的东西,没有太多的文档,您不需要缩放-您可以只使用lucene,在这种情况下,安装nuget pacage(还有lucene contrib lib:-例如,如果您需要刻面,则可以轻松地进行设置)。lucene有几个包装器-比如or-在某些情况下它们很好,但我使用lucene时没有任何包装,也没有问题。这就是问题所在,我每天只有数千个文档。对于那些
    不是
    代码的东西,在顶部有一点
    代码块