coreseek 安装及使用

一般站点都需要搜索功能,如果是php+mysql站点,建议选择coreseek,如果是java站点建议使用lucene,coreseek 是一款很好的中文全文检索/搜索软件,支持高速建立索引、有很强的扩展性、支持分布式检索,支持不同的搜索模式(’完全匹配’,’短语匹配’,’任一匹配’)。

logo1

如果下面的过程遇到问题,请参考 coreseek安装遇到的错误和问题解决方案 我把安装和配置遇到的常见问题和解决办法都总结在那里了。

一、coreseek 安装

1:安装mmseg分词库

wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-3.2.14-beta.tar.gz

tar -zxvf coreseek-3.2.14-beta.tar.gz

cd coreseek-3.2.14-beta

cd mmseg-3.2.14

./bootstrap

./configure --prefix=/usr/local/mmseg3 #配置安装目录

make

make install

cd ..

2:安装coreseek

cd csft-3.2.14

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=/usr/local/mysql

make

make install

cd..

3:测试mmseg分词和coreseek检索

cd /usr/local/src/coreseek-3.2.14

cd testpack

cat var/test/test.xml    #现实的是中文的内容

/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml #显示xml文件内容

/usr/local/coreseek/bin/indexer -c etc/csft.conf --all #建立索引

/usr/local/coreseek/bin/search -c etc/csft.conf # 进行搜索

二、coreseek配置和使用

1:配置example.conf文件

cd /usr/local/coreseek/etc

cp sphinx-min.conf.dist example.conf

对example.conf的配置进行改造,变成我们所需的配置文件。

source example

{

type                    = mysql

sql_host                = localhost

sql_user                = ***

sql_pass                = ***

sql_db                    = ***

sql_port                = 3306

sql_sock            = /tmp/mysql.sock

sql_query_pre            = SET NAMES utf8

sql_query                = SELECT id,content FROM table_name #不管表的主键叫什么,查出来的结果都是为id

sql_query_info_pre      = SET NAMES utf8                      #命令行查询时,设置正确的字符集

sql_query_info          = SELECT * FROM table WHERE id=$id  LIMIT 100#命令行查询时,从数据库读取原始数据信息

}

#index定义

index example

{

source            = example             #对应的source名称

path            = /usr/local/coreseek/var/data/example/ #请修改为实际使用的绝对路径

docinfo            = extern

mlock            = 0

morphology        = none

min_word_len        = 1

html_strip                = 0

#中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/

charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾

#charset_dictpath = etc/  #Windows环境下设置,/符号结尾,最好给出绝对路径,

charset_type        = zh_cn.utf-8

}

#全局index定义

indexer

{

mem_limit            = 128M

}

#searchd服务定义

searchd

{

listen                  =   9312

read_timeout        = 5

max_children        = 60

max_matches            = 1000

seamless_rotate        = 0

preopen_indexes        = 0

unlink_old            = 1

pid_file = /usr/local/coreseek/var/log/searchd_example.pid  #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...

log = /usr/local/coreseek/var/log/searchd_example.log  #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...

query_log = /usr/local/coreseek/var/log/query_example.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...

}

2:开启searchd服务 (这点很重要)

coreseek刚安装后searchd服务是没开启的,需要先开启,不然创建索引的时候会出错。

先在 /usr/local/src/coreseek/var/log下创建一个searchd_example.pid文件,然后执行下面的代码:

/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/example.conf

3:创建索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/example.conf --all --rotate

出现下面的提示:

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file '/usr/local/coreseek/etc/example.conf'...

indexing index 'example'...

collected 1 docs, 0.0 MB

sorted 0.0 Mhits, 100.0% done

total 1 docs, 631 bytes

total 0.005 sec, 118854 bytes/sec, 188.35 docs/sec

total 1 reads, 0.000 sec, 0.8 kb/call avg, 0.0 msec/call avg

total 5 writes, 0.000 sec, 0.5 kb/call avg, 0.0 msec/call avg

rotating indices: succesfully sent SIGHUP to searchd (pid=14094).

说明coreseek已经可以使用了。

可以把创建索引的命令写入crontab里面进行定时,实时更新索引。

4:php 和 coreseek 结合进行查询

先下载sphinxapi,然后文件引入结合php进行查询,下面更多参数的详解和配置,可以参考 coreseek api php手册

require_once('sphinxapi');

$s = new SphinxClient();

$s->SetServer('127.0.0.1','9312'); //设置searchd的主机名和TCP端口

$s->SetConnectTimeout(1); // 设置连接超时

$s->SetMatchMode(SPH_MATCH_BOOLEAN); //设置全文查询的匹配模式

$page_size=20;//自己定义的页数

$s->SetLimits($start,$page_size); //设置返回结果集偏移量和数目

$s->SetSortMode( SPH_SORT_EXTENDED,"good_count DESC, @id DESC" ); // 设置排序

$s->SetArrayResult(true);//控制搜索结果集的返回格式

$res = $s->Query($keyword,'*');// 执行搜索查询

$res_list = $res['matches'];

安装遇到的错误和问题解决方案

1、测试mmseg分词的时候

执行

/usr/local/coreseek/bin/indexer -c etc/csft.conf --all

提示下面的错误:

/usr/local/coreseek/bin/indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

原因:sphinx indexer的依赖库ibmysqlclient.so.18找不到。

解决办法:

vi /etc/ld.so.conf

加入 /usr/local/mysql/lib

然后运行 ldconfig

问题解决

2、执行索引的时候

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_ttd_search.conf --all --rotate

提示下面的错误:

FATAL: failed to open /usr/local/coreseek/var/data/ttd_article/.tmp.spl: No such file or directory, will not index. Try --rotate option.

原因:source源找不到mysql.sock

解决办法:在配置文件csft_ttd_search.conf(自己创建的文件)的 source源 加入下面的代码

sql_sock   = /tmp/mysql.sock

3、执行索引的时候,出现的警告,导致索引没创建成功

WARNING: failed to open pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.

WARNING: indices NOT rotated.

原因:找不到searchd_ttd_search.pid文件

解决办法:在’/usr/local/coreseek/var/log 下创建searchd_ttd_search.pid文件

再执行/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_ttd_search.conf –all –rotate

出现了另外一个警告:

WARNING: failed to scanf pid from pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.

WARNING: indices NOT rotated.

原因:虽然创建了searchd_ttd_search.pid文件,但是里面没有写入进程id

解决办法(根本原因):在执行索引之前没有启动searchd服务,因此执行下面的命令

/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/ttd_search.conf

出现了期待已久的成功提示:

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file '/usr/local/coreseek/etc/ttd_search.conf'...

listening on all interfaces, port=9312

rotating index 'mysql': success

coreseek java_coreseek 安装及使用方法详解相关推荐

  1. linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...

  2. PyKivy入门教程:Kivy Python库的介绍、安装及使用方法详解

    PyKivy入门教程:Kivy Python库的介绍.安装及使用方法详解 Kivy是一个跨平台的Python GUI工具包,可以用于开发能够在多种设备和操作系统上运行的应用程序.Kivy支持触摸输入. ...

  3. 安卓java安装apk代码_Android 通过代码安装 APK的方法详解

    在 APK 开发中,通过 Java 代码来打开系统的安装程序以安装 APK 并不是什么难事,一般的 Android 系统都有开放这一功能. 但随着 Android系统版本的迭代,其对于权限的把控越来越 ...

  4. coreseek 安装及使用方法详解

    coreseek 安装及使用 一般站点都需要搜索功能,如果是php+mysql站点,建议选择coreseek,如果是java站点建议使用lucene,coreseek 是一款很好的中文全文检索/搜索软 ...

  5. 在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...

    『环境配置』- 工欲善其事,必先利其器 视频讲解教程:[Mac系统Python开发环境配置教程详解(Python技术客栈)](https://www.bilibili.com/video/av8076 ...

  6. php性能测试下载,PHP性能测试工具xhprof安装与使用方法详解

    本文实例分析了PHP性能测试工具xhprof安装与使用方法.分享给大家供大家参考,具体如下: xhprof概述: XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞 ...

  7. 计算机iis配置具体步骤,如何配置iis iis的安装及配置方法详解【图文教程】

    导语:随着技术的进步,我们使用计算机的概率越来越大,大家在使用的过程之中难免会遇到一些问题.比如对于IIS配置相信应该是很多朋友们比较困惑的吧!毕竟配置IIS是需要一定的技术的,那么今天小编就给大家普 ...

  8. MongoDB的安装和启动方法详解

    官方文档 安装:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 启动关闭:https://docs.mongo ...

  9. 如何验证php7安装成功_linux安装php7的方法详解

    linux如何安装php7? 1.安装依赖包 yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjp ...

  10. centeros php,CenterOs7 安装oracle19c的方法详解

    服务器版本 centerOs 7.8 64位 4C 12G [root@localhost]# cat /etc/redhat-release CentOS Linux release 7.8.200 ...

最新文章

  1. python PIL(pillow) Image模块的基础功能
  2. 吴恩达 coursera ML 第二课总结+作业答案
  3. Asianux Server 3.0安装截图
  4. 理解Joomla!模板
  5. python3 自动打包部署war包
  6. 07_支持向量机2_统计学习方法
  7. Mountain Road
  8. 2019最新北风网Ant+Java全套视频课程
  9. 未来时速——第一章 用事实的力量管理企业
  10. android logo颜色渐变,2018,很多APP的logo渐变了 -- 渐变色教程
  11. linux停止阿里云盾服务
  12. 算法 64式 7、搜索算法整理_第1部分_1到15题
  13. Android基础四大组件详解
  14. APP的包名和签名获取工具
  15. idea热部署插件JRebel激活(强烈推荐,试试就离不开了)
  16. 天池O2O优惠券使用预测
  17. openwrt - 入门( uHTTPd, opkg, uci, luci, mtd等)
  18. Android开发 系统服务,android 系统服务 开发
  19. 易基因 | 学科前沿:转录组测序在原核生物研究中的应用(2)|文献科普
  20. 酵母中微量元素螯合物的饲料添加剂及其生产方法

热门文章

  1. linux上的MySQL默认端口,linux下mysql 查看默认端口号与修改端口号方法
  2. python库手册_Python 中文开发手册
  3. HFSS阵列天线设计与仿真2
  4. cad计算机土方软件,飞时达土方计算软件FastTFT
  5. Java回调函数实现案例
  6. C#编程VS开发工具安装Nupkg包
  7. 关于DoIP 协议的理解
  8. (IoT物联网)天线的设计步骤 - 完整收藏版
  9. 三菱PlC程序大型项目QCPU+QD77MS16 包含一套完整的电气开发系统资料
  10. SVM多分类算法-一对一