Coreseek ── 基于 SQL 的中文全文检索引擎
Coreseek ── 基于 SQL 的中文全文检索引擎Coreseek 是一款可供企业使用的中文全文 “检索/搜索” 软件,以 GPL2 许可协议开源发布;基于 Sphinx 研发并独立发布,专攻中文搜索和信息处理领域。适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,可以免费下载使用。商业使用(譬如:嵌入到其他程序中)需要获得商业授权。
Sphinx 是 SQL Phrase Index 的缩写,但不幸的是和 CMU 的 Sphinx 项目重名。
Coreseek 的意图:为其他应用提供高速、低空间占用、高相关度结果的中文全文搜索能力。CoreSeek 可以非常容易的与 SQL 数据库和脚本语言集成。
应用程序可通过 3 种不同接口方式与 Sphinx 搜索服务 (searchd) 通信:1、通过原生搜索 API (SphinxAPI);
2、通过 Sphinx 自身支持的 MySQL 网络协议 (使用命名为 SphinxQL 的 SQL 精简子集);
3、通过 MySQL 服务端存储插件引擎 (SphinxSE);
当然, 还可通过使用 1、2、3 的应用程序构建 Web Service 为其他应用程序提供通信。
Sphinx 发行版提供的原生搜索 API 支持 PHP、Python、Perl、Rudy 和 Java。搜索 API 非常轻量化,可在几个小时内移植到新语言上。第三方 API 接口和插件提供了对 Perl、C#、Haskell、Ruby-on-Rails 的支持,以及对其他可能的语言或者框架的支持。
从版本 1.10-beta 起,Sphinx 开始支持 2 种不同的索引后端:“磁盘(disk)” 索引后端和 “实时索引(realtime)”(RT)索引后端。磁盘索引支持在线全文索引重建,但是仅支持非文本(属性)数据的在线更新。RT 实时索引在此基础上,又增加了在线的全文索引更新。在此之前的版本仅支持磁盘索引。
使用命名为数据源的接口,数据可以被加载到磁盘索引。当前系统内置 MySQL 和 PostgreSQL 以及 ODBC 兼容(MS SQL、Oracle 等) 数据库数据源的支持,也支持从管道标准输入读取特定格式的 XML 数据。通过适当修改源代码,用户可以自行增加新的数据源驱动(譬如:对其他类型的 DBMS的原生支持)。在 Coreseek 发行版中,用户还可使用 Python 脚本作为数据源来获取任何已知世界和未知世界的数据,这极大的扩展了数据源的来源。从 1.10-beta 版本开始的 RT 实时索引,只能使用 MySQL 接口通过 SphinxQL 来操作。
特性
01、优异的索引、搜索性能;
02、先进的索引、查询工具 (灵活且功能丰富的文本分析器、查询语言、及各种不同排序方式、等等);
03、先进的结果集分析处理 (SELECT 可以使用表达式;譬如:WHERE、ORDER BY、GROUP BY 等,对全文搜索结果集进行过滤);
04、实践证实可扩展性支持数 10 亿文档记录,TB 级别的数据,以及每秒数千次查询;
05、易于集成 SQL、XML 数据源,并可使用 SphinxAPI、SphinxQL 或者 SphinxSE 搜索接口;
06、易于通过分布式搜索进行扩展;
07、高速索引建立 (峰值性能可达到 10 ~ 15 MB/秒);
08、高性能搜索 (在 1.2 G 文本、100 万条文档上进行搜索,支持高达每秒 150~250 次查询);
09、高扩展性 (最大索引集群可超过 30 亿条文档,最繁忙时刻的查询峰值可达到每天 5 千万次);
10、提供了优秀的相关度算法,基于短语相似度和统计(BM 25)的复合 Ranking 方法;
11、支持分布式搜索功能;
12、提供文档片段(摘要以及高亮)生成功能;13、内建支持 SphinxAPI 和 SphinxQL 搜索接口,也可作为 MySQL 的存储引擎提供搜索服务;
14、支持布尔、短语、词语相似度、等多种检索模式;
15、文档支持多个全文检索字段 (缺省配置下,最大不超过 32 个);
16、文档支持多个额外属性信息 (譬如:分组信息、时间戳、等);
17、支持查询停止词;
18、支持词形学处理;
19、支持特殊词汇处理;
20、支持单一字节编码、UTF-8 编码;
21、内建支持英语、俄语、捷克语词干化处理;对法语、西班牙语、葡萄牙语、意大利语、罗马尼亚语、德国、荷兰、瑞典、挪威、丹麦、芬兰、匈牙利等语言的支持可通过第三方的libstemmer 库扩展);
22、原生 MySQL 支持 (同时支持 MyISAM、InnoDB、NDB、Archive、等所有类型的数据表 );
23、原生 PostgreSQL 支持;
24、原生 ODBC 兼容数据库支持 (譬如:MS SQL、Oracle、等);
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
Coreseek, Sphinx, MySQL, MariaDB, Ubuntu Server
Coreseek, Sphinx, MySQL, MariaDB, Ubuntu Server
页:
[1]