Coreseek 全文搜索工具配置及使用

Coreseek 是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的中文全文搜索能力。Coreseek 可以非常容易的与 SQL 数据库和脚本语言集成。基于 Sphinx 搜索工具编写的中文全文搜索引擎,适用于 Windows / Linux / FreeBSD 等多个平台。

Coreseek 全文搜索工具配置及使用

注意: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);

相关资源

  • Coreseek 4.1 API 文档:https://www.wenjiangs.com/wp-content/uploads/2018/CoreSeek-4-1-Sphinx-api.pdf
  • Coreseek 下载:https://www.wenjiangs.com/wp-content/uploads/2018/coreseek-3.2.14.zip
  • Coreseek 3.2 API 文档:https://www.wenjiangs.com/wp-content/uploads/2018/Sphinx-0-9-9_Coreseek-3-2-api.html

以上是 Coreseek 全文搜索工具配置及使用 的全部内容, 来源链接: utcz.com/p/231914.html

回到顶部