关于 Xunsearch

关于 xunsearch

Xunsearch 是一个高性能、全功能的全文检索解决方案。

Xunsearch 旨在帮助一般开发者针对既有的海量数据,快速而方便地建立自己的全文搜索引擎。

Xunsearch 中文译名为“迅搜”,代码中的经常被缩写为 XS,既是英文名称的缩略也是中文声母缩写。 这儿的“迅”是快速的意思,至少包含了两层涵义:其一代表了搜索结果的响应能力,其二则为二次开发难度、速度。

Xunsearch 采用结构化分层设计,包含后端服务、前端开发包两大部分,层次清晰而不交叉。 其中后端是采用 C/C++ 编写的守护进程,而前端采用最为流行的脚本语言 PHP ,对于 web 搜索项目更为方便。 具体参见架构设计

Xunsearch 极大程度降低的搜索开发的难度,除了常规的中文分词、字段检索、布尔语法等功能外, 还比其它免费的解决方案提供了用户急需的相关搜索、拼音搜索、结果高亮、搜索建议等等。 具体的清单请参见我们的功能列表

Xunsearch 真正全面开源,并使用最流行的开源许可协议 GPL 发布。您可以免费获取本项目的全部源代码, 自由的使用它,并在许可条件下修改和再分发,具体参见授权声明文件。

1. 应用领域

前提是要有一定的 PHP (或其它对应的 SDK 语言) 开发能力,并备有 Unix 类型操作系统的服务器至少一台。

Xunsearch 可以帮助您建立各种行业门户/垂直搜索、BBS 论坛搜索、CMS/Web站内搜索、文档/文献资料检索, 以及各种基于现有数据库系统的全文检索。

2. 历史渊源

大约在 2006 年创始人 hightman 开始了全文检索的相关探索,先是发布了纯 PHP 实现的中文分词代码, 之后又推出了 MySQL/MyISAM 全文索引的中文分词补丁 MyFT。经过一系列不断完善和改进后,于 2007 年正式发布中文分词项目 scws 并一直维护至今。

起初开发分词的目的就是为了解决中文的全文检索,全文检索技术虽然已经趋于成熟,但多为商业产品。免费开源、 并且要好用的还真难找了,于是萌动了自己开发全文检索的念头。2008 年推出了比较粗糙的搜索解决方案 FTPHP, 之后于 2010 年又开启了 Xungle 项目,直接免去各种技术需求,为用户提供包含软硬环境在内的搜索服务。

在 Xungle 项目的运作过程中,我们发现还有大量的用户出于各种原因,不得不自行解决搜索技术。此外, 我们发现了国外一个优秀的开源搜索引擎基础库 Xapian,它采用 C/C++ 开发,并且性能卓越,久经考验。 但是并没有整合中文分词,并且开发难度、复杂度也较大。于是我们下决心整合 Xapian 和 Scws,并在此基础上 提供更多、更常用的搜索功能。这就是 Xunsearch ,目前版本发布正在准备中,代码也已托管到 github 中。

3. 开发团队

本项目由杭州云圣网络科技公司创立并维护,同时也是唯一就 Xunsearch 提供相应的商业技术服务、支持的公司。

著作权登记证书

著作权登记证书

4. 致谢

是大量 xungle 用户的提议促使我们开启 xunsearch 项目,Xunsearch 的往后发展将离不开广大用户的支持, 还要特别感谢在此其间义务参与 xunsearch 内测的一些朋友。

Xunsearch 底层采用 C/C++ 编写,其中用到了许多其它优秀项目,在线特别感谢它们的团队和作者。 主要有以下几个:

  • xapian-core 这是 Xunsearch 的底层索引设计方案
  • scws 默认内置的中文分词解决方案
  • libevent 后端服务器的事件处理模型
  • nginx 搜索服务器的设计借鉴了 nginx 的方式,采用多进程、多线程混合用于处理高并发请求
  • Yii 非常优秀的 PHP 开发框架,xunsearch 官网采用该框架,文档组织形式也参考自 Yii
$Id$