.net - 在 .NET 中使用哪些好的倒排索引库?

标签 .net solr lucene indexing lucene.net

我有一个 .NET 桌面应用程序,我需要在其中搜索大型数据集。每个数据集大约有 100000 个项目,包含 10 个字段。字段的类型是字符串、日期时间、int、float 和自定义项类型。可以有大约 5 个并发数据集,但搜索仅在一个数据集内。

搜索类型是

  • 全文支持通配符
  • 搜索特定字段
  • 日期范围

  • 我正在考虑以下替代方案:
  • Lucene.NET。但是移植和维护似乎是一项巨大的工作,因此 Solr 满足服务器需求,我对 Lucene.NET 的 future 感到担忧。您对 Lucene.NET 的 future 发展有何看法?
  • 在桌面上使用 Solr 作为单独的进程。
  • 是否有基于 Lucene 的解决方案的替代方案?
  • 创建我自己的。有一些引用/教程吗?好消息是,我不需要复杂的文本分析或任何评分/刻面功能。只需搜索一个术语(可选通配符)并返回一个项目列表。
  • 最佳答案

    使用 Solr (4.1) 和 SolrNet .您需要从源代码编译最新的 SolrNet 以允许它连接到 Solr 4+(这很容易)。

    包含 10 个字段的 100,000 个文档是您可以使用 Solr 在您的个人计算机上进行原型(prototype)制作而不会费力的东西。

    最困难的部分是“自定义”项目。您需要弄清楚要搜索它们的内容并将它们转换为 Solr 可识别的格式之一。

    关于其他点:

    1) Lucene.Net 落后于最新的可能,从 .Net 与 Solr 的集成非常容易

    3) 我认为 Lucene/Solr/ElasticSearch 在开源领域处于领先地位,甚至正在扼杀专有解决方案

    4)不要!只是不要。你会想要一个接一个地添加一个功能(地理?),并且只是重新发明轮子。

    关于.net - 在 .NET 中使用哪些好的倒排索引库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991167/

    相关文章:

    c# - ASP .NET Core 2 本地化获取新语言的所有字符串

    java - 无法实例化文档错误 Lucene 6.2.0 API

    solr - lucene 如何与 Neo4j 配合使用

    c# - LINQ on 循环条件

    .net - ASP.NET UserControl 不初始化子控件

    .net - 跨版本序列化和反序列化 .net 对象的最佳实践

    solr - 拆分 SOLR fq 过滤器查询

    tomcat - Broadleaf 3.0.13 版本部署在带有 Solr 服务器的 tomcat 上

    solr - solr中如何比较日期?

    lucene - Lucene 分析器的比较