coreseek
Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,可以免费下载使用。
什么是CoreSeek
Coreseek 是一个可供企业使用的、基于Sphinx(可独立于Sphinx原始版本运行)的中文全文检索引擎,按照GPLv2协议发行。商业使用(例如, 嵌入到其他程序中)需要获得商业授权。
Coreseek是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高相关度结果的中文全文搜索能力。CoreSeek可以非常容易的与SQL数据库和脚本语言集成。
应用程序可以通过三种不同的接口方式来与Sphinx搜索服务(searchd)通信:a) 通过原生的搜索 API (SphinxAPI),b) 通过Sphinx自身支持的MySQL网络协议 (使用命名为SphinxQL的SQL精简子集), 或者 c) 通过MySQL 服务端的存储插件引擎(SphinxSE)。当然, 还可以通过可以使用 a)、b)、c) 的应用程序来构建webservice来为其他应用程序提供通信
在Sphinx发行版本中提供的原生搜索API支持PHP、Python、Perl、Rudy和Java。搜索API非常轻量化,可以在几个小时之内移植到新的语言上。第三方API接口和插件提供了对Perl、C#、Haskell、Ruby-on-Rails支持,以及对其他可能的语言或者框架的支持。
从版本1.10-beta开始,Sphinx支持两种不同的索引后端:“磁盘(disk)”索引后端和“实时索引(realtime)”(RT)索引后端。磁盘索引支持在线全文索引重建,但是仅支持非文本(属性)数据的在线更新。RT实时索引在此基础上,又增加了在线的全文索引更新。在此之前的版本仅支持磁盘索引。
使用命名为数据源的接口,数据可以被加载到磁盘索引。当前系统内置MySQL和PostgreSQL以及ODBC兼容(MS SQL、Oracle等) 数据库数据源的支持,也支持从管道标准输入读取特定格式的XML数据。通过适当修改源代码,用户可以自行增加新的数据源驱动(例如:对其他类型的DBMS的原生支持)。在Coreseek发行的版本中,用户还可以使用Python脚本作为数据源来获取任何已知世界和未知世界的数据,这极大的扩展了数据源的来源。从1.10-beta版本开始的RT实时索引,只能使用MySQL接口通过SphinxQL来操作。
Sphinx 是SQL Phrase Index的缩写,但不幸的和CMU的Sphinx项目重名。
CoreSeek的特性
索引和搜索性能优异;
先进的索引和查询工具 (灵活且功能丰富的文本分析器,查询语言,以及多种不同的排序方式等等);
先进的结果集分析处理 (SELECT 可以使用表达式, WHERE, ORDER BY, GROUP BY 等对全文搜索结果集进行过滤);
实践证实可扩展性支持数十亿文档记录,TB级别的数据,以及每秒数千次查询;
易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口
易于通过分布式搜索进行扩展
高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒);
高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒150~250次查询);
高扩展性 (最大的索引集群超过30亿条文档,最繁忙时刻的查询峰值达到每天5千万次);
提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;