什么是最好的全文搜索开源项目(.NET首选)?

Ehs*_*san 12 c# lucene full-text-search

我用Lucene库开发了一个索引和搜索应用程序.但是这个库在我的上下文中有一些自定义排名的限制,除了它的性能,我需要可扩展性和访问各种单词频率等等有没有强大的开源全文库?

Vla*_*sny 5

http://www.sphinxsearch.com

http://www.sphinxconnector.net/

关键的Sphinx功能包括:

  • 高索引和搜索性能;
  • 高级索引和查询工具(灵活且功能丰富的文本标记器,查询语言,几种不同的排名模式等);
  • 高级结果集后处理(在文本搜索结果中使用表达式,WHERE,ORDER BY,GROUP BY等进行SELECT);
  • 经验证的可扩展性高达数十亿的文档,数TB的数据和每秒数千个查询;
  • 与SQL和XML数据源以及SphinxAPI,SphinxQL或SphinxSE搜索界面轻松集成;
  • 使用分布式搜索轻松扩展.

为了进一步扩展,Sphinx:

  • 索引速度很快(内部基准测试每个核心高达10-15 MB /秒);
  • 具有较高的搜索速度(每个核心高达150-250个查询/秒,1,000,000个文档,内部基准测试数据为1.2 GB);
  • 具有高可扩展性(最大的已知集群索引超过3,000,000,000个文档,最繁忙的一个峰值超过50,000,000个查询/天);
  • 通过短语邻近排名和统计(BM25)排名的组合提供良好的相关性排名;
  • 提供分布式搜索功能;
  • 提供文档摘录(片段)生成;
  • 提供从应用程序内部使用SphinxAPI或SphinxQL接口进行搜索,以及从MySQL内部使用可插拔SphinxSE存储引擎进行搜索;
  • 支持布尔,短语,单词邻近和其他类型的查询;
  • 支持每个文档的多个全文字段(默认情况下最多32个);
  • 支持每个文档的多个附加属性(即组,时间戳等);
  • 支持停用词;
  • 支持形态词形式词典;
  • 支持标记异常;
  • 支持单字节编码和UTF-8;
  • 支持词干(英语,俄语和捷克语的词干表是内置的;法语,西班牙语,葡萄牙语,意大利语,罗马尼亚语,德语,荷兰语,瑞典语,挪威语,丹麦语,芬兰语,匈牙利语的词干表可通过构建第三方libstemmer库获得);
  • 本机支持MySQL(支持所有类型的表,包括MyISAM,InnoDB,NDB,Archive等);
  • 本机支持PostgreSQL;
  • 本机支持ODBC兼容数据库(MS SQL,Oracle等);
  • ...还有50多个此处未列出的其他功能,请参阅API和配置手册!