Coreseek 是一款中文全文检索/搜索软件,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,它基本兼容sphinx一些特性,很多方面还是传承于sphinx。
1、Coreseek安装
下载:http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
$tar -zxvf coreseek-4.1-beta
**前提:需提前安装操作系统基础开发库及mysql依赖库以支持mysql数据源和xml数据源
##安装mmseg
$ cd mmseg-3.2.14
$ ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决
$ ./configure --prefix=/usr/local/mmseg3
$ make && make install
$ cd ..
$cd csft-4.1
$sh buildconf.sh
$./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-$mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql
$make && make install
PS:在安装过程中可能会出现一些常见错误:
(1)问题:undefined reference to `libiconv'
解决:$vi csft-4.1/src/Makefile
注释掉:#LIBS = -ldl -lm -lz -lexpat -L/usr/local/lib -lrt -lpthread
替换为:LIBS = -lm -lexpat -liconv -L/usr/local/lib
(2)如下错误:
undefined reference to `dlclose' (-ldl)
undefined reference to `clock_gettime'(-lrt)
解决:$vi csft-4.1/src/Makefile
修改:LDFLAGS = -lrt -ldl
2、使用
$ cd /usr/local/coreseek/etc
$ cp sphinx.conf.dist sphinx.conf
$ vi sphinx.conf
在示例配置文件中,将试图对MySQL数据库test中的 documents 表建立索引;因此在这里还提供了 example.sql 用于给测试表增加少量数据用于测试:
$ mysql -u test < /usr/local/sphinx/etc/example.sql
运行indexer 为你的数据创建全文索引:
$ cd /usr/local/coreseek/etc
$ /usr/local/coreseek/bin/indexer --all
你可以使用search(注意,是search而不是searchd)实用程序从命令行对索引进行检索:
$ cd /usr/local/coreseek/etc
$ /usr/local/coreseek/bin/search test
如果要从PHP脚本检索索引,你需要:
运行守护进程searchd,PHP脚本需要连接到searchd上进行检索:
$ cd /usr/local/coreseek/etc
$ /usr/local/coreseek/bin/searchd
运行PHP API 附带的test 脚本(运行之前请确认searchd守护进程已启动):
$ cd coreseek-4.1-beta/csft-4.1/api
$ php test.php test
将API文件(位于api/sphinxapi.php) 包含进你自己的脚本,开始编程.
PS:(1)索引重新生成,需要重启searchd或者建索引时使用--rotate;
(2)目前支持数据源类型只能是UTF-8,MySQL4.1起可以通过SET NAMES UTF8设定输出字符 集为UTF-8,即使原始数据为GBK也可(Latin1不能直接使用,需先转换为UTF-8或者GBK字符 集);
3、中文分词核心配置
$vi sphinx.conf
index test1
{
.......
#加入以下设置
charset_dictpath = /usr/local/mmseg3/etc/
charset_type = zh_cn.utf-8
#charset_table = .................... #需将原有注释掉
ngram_len = 0
}
4、分布式
加入如下配置:
index dist1
{
type = distributed
local = test1
agent = 172.xx.xx.xx:3312:test1//另一台机器上安装的sphinx
agent_connect_timeout = 1000
agent_query_timeout = 3000
}
5、实时索引
添加统计表:
# in MySQL
CREATE TABLE sph_counter
(
counter_id INTEGER PRIMARY KEY NOT NULL,
max_doc_id INTEGER NOT NULL
);
添加增量索引:
$vi sphinx.conf
#修改test1索引数据源
source test1
{
# ...
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM documents
sql_query = SELECT id, title, body FROM documents \
WHERE id<=( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
}
source delta : test1
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, title, body FROM documents \
WHERE id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
}
# 加在所以test1后
index delta : test1
{
source = delta
path = /path/to/delta
}
添加自动运行脚本:
$cd /usr/local/coreseek/etc/
$vi delta.sh
$/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf delta --rotate >> /usr/local/coreseek/var/log/delta.log
$vi test1.sh
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --merge test1 delta --rotate >> /usr/local/coreseek/var/log/test1.log
$crontab -e
*/1 * * * * /usr/local/coreseek/etc/delta.sh #每隔一分钟运行一次
30 2 * * * /usr/local/coreseek/etc/test1.sh #每天半夜2:30运行
保存并对delta.sh/test1.sh设权限 chmod 755;
#重启crond服务
$service crond stop
$service crond start
接下来可以查看log日志,或者搜索下delta索引;
附:
sphinx中文手册
分享到:
相关推荐
5. **关键词和分类**:文中列出了关键词如搜索引擎、Coreseek全文检索、分布式、Python数据源程序接口,以及相应的中图分类号和文献标识码,方便了学术研究和分类索引。 ### 总结 综上所述,文档“基于Coreseek+...
2. **索引构建**:通过Python调用Coreseek的API,将预处理后的数据导入到Coreseek索引中。 3. **查询接口**:编写Python脚本,实现用户输入查询,与Coreseek通信并返回结果。 4. **结果处理**:Python可以方便地解析...
【Coreseek 安装】 Coreseek 是一个专为中国市场设计的全文检索和搜索软件,它基于Sphinx技术,但能够独立运行。作为一个开源项目,它遵循GPLv2许可证,广泛应用于各种场景,如行业垂直搜索、论坛内部搜索、数据库...
9. **实时更新**:CoreSeek具有实时索引能力,这意味着数据表更新后,搜索结果能迅速反映这些变化,无需重建整个索引。 10. **错误排查与维护**:在使用过程中可能会遇到各种问题,如索引失败、搜索异常等。此时,...
3. **安装mmseg分词模块**:mmseg是一个支持中文分词的库,它需要在编译CoreSeek前被编译安装,以便CoreSeek可以使用它进行中文分词。 4. **获取CoreSeek和Sphinx的源代码**:需要下载CoreSeek和Sphinx的源代码包。...
6. **实时更新**:Coreseek支持实时索引更新,当数据库中的数据发生变化时,无需重建整个索引,只需对变动部分进行更新,保持搜索结果的时效性。 7. **查询扩展与过滤**:Coreseek支持布尔运算符、短语匹配、模糊...
8. **分布式搜索**:CoreSeek还支持分布式搜索,允许在多台服务器上部署索引,以处理大规模的数据量,提高整体的搜索性能和可用性。 9. **性能优化**:为了提升搜索效率,CoreSeek提供了多种优化策略,如使用内存...
Sphinx是一款高性能、高效率的全文搜索引擎,它支持实时索引、分布式搜索、拼写检查等功能。版本2.2.11是Sphinx的一个稳定版本,提供更好的性能和更多的功能优化。 1. **Sphinx 2.2.11的安装步骤**: - 首先,下载...
- 分布式搜索:通过分布式索引和查询,Sphinx能够处理海量数据并提高系统扩展性。 2. CoreSeek与Sphinx的关系: CoreSeek是中国对Sphinx的二次开发版本,它在Sphinx的基础上增加了一些特定的功能和优化,更适合...
4. **实时更新**: CoreSeek支持实时索引更新,这意味着数据一旦发生变化,搜索结果会立即反映这些变化,确保信息的时效性。 5. **API接口**: CoreSeek 提供了多种编程语言的API接口,如PHP、Python、Java等,方便...
总的来说,Sphinx/Coreseek权威手册中文版是一本详尽的指南,涵盖了从安装、配置到开发和优化的全过程,是理解和使用Sphinx/Coreseek进行全文检索的宝贵资源。无论你是初学者还是经验丰富的开发者,都能从中受益匪浅...
#### 二、Windows 平台上安装和使用 Sphinx/Coreseek ##### 2.1 获取文件 - **Coreseek**:从官方网站 [www.coreseek.cn](http://www.coreseek.cn/) 获取最新版本的Coreseek,截至撰写本文时,版本为coreseek-4.1...
SphinxQL和API参考部分提供了详细的命令和方法参考,包括索引命令、搜索命令、拼写检查、索引信息导出工具的使用说明以及SphinxQL的语法和升级备注。 为了使搜索结果具有良好的用户体验,Sphinx提供了多种结果排序...
在安装和使用CoreSeek 3.2.14时,用户需要解压coreseek-3.2.14.tar.gz压缩包,里面包含了源代码、文档、配置示例等文件。按照官方提供的安装指南,可以完成编译、配置、索引构建和启动服务等一系列步骤。同时,持续...
- **实时索引**:具备实时更新索引的能力,可以快速地将新增或更新的数据纳入索引,确保搜索结果的时效性。 - **多语言支持**:内置对多种语言的支持,包括中文,能够有效地处理中文分词和搜索问题。 - **定制化接口...
3. **实时更新**:CoreSeek支持实时索引更新,这意味着新增或修改的数据可以立即反映到搜索结果中,无需重启服务。 4. **多数据源**:它可以连接多种数据库,如MySQL、PostgreSQL等,实现跨数据库的全文检索。 5. ...
Coreseek的核心功能包括实时全文索引、布尔运算、短语搜索、同义词扩展、拼音搜索以及精确排序等。它能够高效地处理大量数据,适用于日志分析、电商商品搜索、内容管理平台等多个领域。Coreseek支持多种数据源,如...
3. **索引构建**:CoreSeek支持实时索引更新和增量索引,可以高效处理大量数据的变化,这对于数据频繁更新的系统尤为重要。用户需要了解如何创建和管理索引,以及如何根据需求设置索引策略。 4. **查询接口**:...