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

Kna*_*ack 5 .net lucene indexing solr lucene.net

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

搜索类型有

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

我正在考虑以下替代方案:

  1. Lucene.NET。但移植和维护似乎是一项巨大的工作,所以当 Solr 满足服务器需求时,我对 Lucene.NET 的未来感到担忧。您对 Lucene.NET 的面向未来有何看法?
  2. 在桌面上使用 Solr 作为单独的进程。
  3. 基于 Lucene 的解决方案是否有替代方案?
  4. 创建我自己的。有一些参考资料/教程吗?好处是,我不需要复杂的文本分析或任何评分/分面功能。只需搜索一个术语(可选通配符)并返回一个项目列表。

Ale*_*tch 5

使用 Solr (4.1) 和SolrNet。您需要从源代码编译最新的 SolrNet 以允许它连接到 Solr 4+(这非常简单)。

您可以使用 Solr 在个人计算机上轻松制作包含 10 个字段的 10 万个文档的原型。

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

关于其他几点:

1) Lucene.Net 支持最新的可能,并且从 .Net 与 Solr 的集成非常容易

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

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