coreseek 安装记录

前几天我写了 sphinx 的安装记录, 今天再来记录一下 coreseek 的安装记录。

如果你只想使用简单的全文检索的话,请参考 Sphinx 安装记录
如果你已经安装 sphinx 或者 coreseek, 只是想查找怎么配置和使用 sphinx 和 coreseek 的话,请参考 coreeek 和 sphinx 的配置与使用.

coreseek 的官网上,可以看到, coreseek 是基于 sphinx ,CRF++ 和 LibMMSeg 组装而成。

  • coreseek 是一款中文全文检索/搜索软件
  • 以GPLv2许可协议开源发布
  • 基于Sphinx研发并独立发布
  • 专攻中文搜索和信息处理领域
  • 适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景
  • 用户可以免费下载使用
  • 同时针对有实际需要的客户,我们还提供专业的搜索技术与本地化的Sphinx技术支持服务

官网可以很容易找到最新版本,目前是 4.1版本

  
  
  1. tiankonguse:src # wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
  2. tiankonguse:src # tar zxvf coreseek-4.1-beta.tar.gz
  3. tiankonguse:src # cd coreseek-4.1-beta
  4. tiankonguse:coreseek-4.1-beta # ls
  5. README.txt csft-4.1 mmseg-3.2.14 testpack

mmseg 是一个 中文分词软件包。

  
  
  1. tiankonguse:coreseek-4.1-beta # cd mmseg-3.2.14/
  2. tiankonguse:mmseg-3.2.14 # ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决
  3. tiankonguse:mmseg-3.2.14 # ./configure --prefix=/usr/local/mmseg3
  4. tiankonguse:mmseg-3.2.14 # make && make install
  5. tiankonguse:mmseg-3.2.14 # ls /usr/local/mmseg3/
  6. bin etc include lib
  7. tiankonguse:mmseg-3.2.14 # cd ..
  
  
  1. tiankonguse:coreseek-4.1-beta # cd csft-4.1
  2. tiankonguse:csft-4.1 # sh buildconf.sh #输出的warning信息可以忽略,如果出现error则需要解决
  3. tiankonguse:csft-4.1 # ./configure --prefix=/usr/local/coreseek4 --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql
  4. tiankonguse:csft-4.1 # make && make install
  5. tiankonguse:csft-4.1 # ls /usr/local/coreseek4
  6. bin etc share var
  7. tiankonguse:csft-4.1 # cd ..
  
  
  1. tiankonguse:coreseek-4.1-beta # cd /usr/local/coreseek4/etc/
  2. tiankonguse:coreseek-4.1-beta # ls
  3. example.sql sphinx-min.conf.dist sphinx.conf.dist
  4. tiankonguse:coreseek-4.1-beta # cp sphinx-min.conf.dist sphinx.conf
  5. tiankonguse:coreseek-4.1-beta # vi sphinx.conf
  
  
  1. source mysql_source_name
  2. {
  3. type = mysql
  4. sql_host = localhost
  5. sql_user = test
  6. sql_pass = test
  7. sql_db = test
  8. sql_port = 3306
  9. sql_query_pre = SET NAMES utf8
  10. #sql_query第一列id需为整数
  11. #title、content作为字符串/文本字段,被全文索引
  12. sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM test
  13. #从SQL读取到的值必须为整数
  14. sql_attr_uint = group_id
  15. #从SQL读取到的值必须为整数,作为时间属性
  16. sql_attr_timestamp = date_added
  17. #命令行查询时,设置正确的字符集
  18. sql_query_info_pre = SET NAMES utf8
  19. #命令行查询时,从数据库读取原始数据信息
  20. sql_query_info = SELECT * FROM test WHERE id=$id
  21. }
  
  
  1. index mysql_index_name
  2. {
  3. #对应的source名称
  4. source = mysql_source_name
  5. path = /usr/local/coreseek/var/data/mysql_index_name
  6. docinfo = extern
  7. mlock = 0
  8. morphology = none
  9. min_word_len = 1
  10. html_strip = 0
  11. #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
  12. charset_dictpath = /usr/local/mmseg3/etc/
  13. charset_type = zh_cn.utf-8
  14. #必须设置,表示取消原有的一元字符切分模式,不使其对中文分词产生干扰;
  15. #charset_table的配置需要注释掉!
  16. #ngram_len的配置需要设置为0!
  17. ngram_len = 0
  18. }
  
  
  1. #全局index定义
  2. indexer
  3. {
  4. mem_limit = 128M
  5. }
  6. #searchd服务定义
  7. searchd
  8. {
  9. listen = 9312
  10. read_timeout = 5
  11. max_children = 30
  12. max_matches = 1000
  13. seamless_rotate = 0
  14. preopen_indexes = 0
  15. unlink_old = 1
  16. pid_file = /usr/local/coreseek/var/log/searchd_mysql.pid
  17. log = /usr/local/coreseek/var/log/searchd_mysql.log
  18. query_log = /usr/local/coreseek/var/log/query_mysql.log
  19. binlog_path =
  20. }
  
  
  1. <?php
  2. include('api/sphinxapi.php');
  3. $sphinx = new SphinxClient();
  4. $sphinx->setServer('10.12.191.99', 9312);
  5. //$query =$_GET['query'];
  6. $query = "test";
  7. $res = $sphinx->query($query, 't_cover_sphinx_index');
  8. echo "<p>
  9. query = $query
  10. </p>";
  11. echo "<pre>";
  12. print_r($sphinx->GetLastError());
  13. print_r($sphinx->GetLastWarning ());
  14. print_r($res);
  15. echo "</pre> ";
  16. ?>

把错误输出来。

  
  
  1. print_r($sphinx->GetLastError());
  2. print_r($sphinx->GetLastWarning ());

该问题说明你所使用的SphinxClient接口,与服务器端的版本不一致。
需要使用安装Coreseek/Sphinx的包里面的api/目录下对应的Client库。
实际上我用的是 sphinx 的api而不是 coreseek 的 api.
更换之后就Ok了。

  
  
  1. searchd error: client version is higher than daemon version (client is v.1.30, daemon is v.1.25)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值