Coreseek 全文搜索工具配置及使用
Coreseek 是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的中文全文搜索能力。Coreseek 可以非常容易的与 SQL 数据库和脚本语言集成。基于 Sphinx 搜索工具编写的中文全文搜索引擎,适用于 Windows / Linux / FreeBSD 等多个平台。
注意:Coreseek 目前已经没有任何团队维护了,官网已经失效,也就是说后期如果有什么问题是得不到任何帮助的,只能阅读留下来的 API 文档自己解决,文章末尾附加了一些资源和文件。
主要特性
indexer
: 用于创建全文索引;search
: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引;searchd
: 一个守护进程,其他软件可以通过这个守护进程进行全文检索;sphinxapi
: 一系列 searchd 的客户端 API 库,用于流行的 Web 脚本开发语言(PHP, Python, Perl, Ruby, Java).spelldump
: 一个简单的命令行工具,用于从ispell
或MySpell
(OpenOffice内置绑定) 格式的字典中提取词条。当使用 wordforms 时可用这些词条对索引进行定制.indextool
: 工具程序,用来转储关于索引的多项调试信息。 此工具是从版本 Coreseek 3.1(Sphinx 0.9.9-rc2) 开始加入的。mmseg
: 工具程序和库,Coreseek用于提供中文分词和词典处理。
主要用途
为您的应用实施全文检索,您可以:
- 帮助用户找到您业务中,目前通过全网搜索找不到的80%的信息;
- 可以保证自己信息的私密性,这在公司组织中尤其重要;
- 降低服务器的运行负载,提高系统响应速度,从而大幅度降低您的运营成本;
- 为您的需求修改检索结果的展现方式,更好的组织数据;
- 帮助您发现用户提交的敏感文档或广告。
安装配置
1、下载 Coreseek 并将名字命名为 coreseek,找到 coreseek/etc/csft_mysql.conf,把文件 csft_mysql.conf 配置成如下:
#源定义 source magnet{ type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = magnet sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query =SELECT id, creation_date, name as title, (SELECT GROUP_CONCAT(file.file SEPARATOR ',') FROM file, magnet_file WHERE file.id = magnet_file.file_id and magnet_file.magnet_id = magnet.id) as content, '1' as data_type FROM magnet sql_attr_uint = data_type sql_attr_timestamp = creation_date sql_query_info_pre = SET NAMES utf8 sql_query_info = SELECT * FROM magnet WHERE id = $id } #index定义 index magnet{ source = magnet path = D:/Dpan/coreseek/var/magnet docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 charset_dictpath = D:/Dpan/coreseek/etc/ charset_type = zh_cn.utf-8 } #全局index定义 indexer{ mem_limit = 128M } #searchd服务定义 searchd{ listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = D:/Dpan/coreseek/var/log/searchd_mysql.pid log = D:\Dpan/coreseek/var/log/searchd_mysql.log query_log = D:/Dpan/coreseek/var/log/query_mysql.log }
上面的目录你可以根据自己的具体目录地址修改。
2、安装 searchd 服务,打开 cmd 命令窗口并执行下面命令:
D:\Dpan\coreseek\bin\searchd.exe --install --config D:/Dpan/coreseek/etc/csft_mysql.conf
csft_mysql.conf 就是刚刚我们的配置文件,将 searchd 安装成为一个服务,安装成功后命令行窗口会提示 services searchd installed successfully。
3、建立索引
D:\Dpan\coreseek\bin\indexer -c D:\Dpan\coreseek\etc\csft_mysql.conf --all
csft_mysql.conf 就是刚刚我们的配置文件。
4、在 PHP 中使用 coreseek 搜索,在 API 目录下面有很多的使用例子,各个语言都可以调用 coreseek 的搜索,这里以 PHP 为例。
require ( "sphinxapi.php" ); $cl = new SphinxClient (); $cl->SetServer ( '127.0.0.1', 9312); $cl->SetConnectTimeout ( 3 ); $cl->SetArrayResult ( true ); $cl->SetMatchMode ( SPH_MATCH_ANY); $res = $cl->Query ( '黑', "*" ); print_r($cl); print_r($res);
相关资源
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论