linux搜索中文,Linux下sphinx检索Coreseek中文全文检索引擎安装和使用

首先解释下sphinx和Coreseek是什么?sphinx(开源全文检索引擎)Coreseek(开源的中文全文检索引擎)coreseek是一个针对于中文检索方案的一种全文检索技术,基于sphinx开发的。

至于好处,简单说就是迅速和高效,尤其是在当今科技迅速发展的前提下,我们要在成百上千万的数据中查找数据,如果只是单纯的使用(select ..from ..)效率可想而知,而coreseek不但提供了多种语言的API接口,而且时间效率极高。

由于我安装的时候走了一点弯路,各种改!所以还是先把要准备的东西列出来:(当然可以直接安装:yum install ...)

(1) automake...tar.gz  autoconf...tar.gz libtool...tar.gz m4...tar.gz

(2) expat...rpm expat.devel...rpm

(3) coreseek-3.2.14.tar.gz  (主要就是这些,PHP暂时不考虑)

解压(1) (3) tar -xzvh ...tar.gz

解压(2)

rpm -ivh ...rpm

然后执行(1):

设置环境,升级/安装系统基础依赖包:m4、autoconf、automake、libtool

$ sudo bash

$ su -

#设置路径和中文环境:

$ export PATH=/usr/local/bin:$PATH

$ export LC_ALL=zh_CN.UTF-8

$ export LANG=zh_CN.UTF-8

$ curl -O -L http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz

$ tar -xzvf m4-1.4.13.tar.gz

$ cd m4-1.4.13

$ ./configure --prefix=/usr/local

$ make && make install

$ cd ..

$ curl -O -L http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz

$ tar -xzvf autoconf-2.65.tar.gz

$ cd autoconf-2.65

$ ./configure --prefix=/usr/local

$ make && make install

$ cd ..

$ curl -O -L http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz

$ tar xzvf automake-1.11.tar.gz

$ cd automake-1.11

$ ./configure --prefix=/usr/local

$ make && make install

$ cd ..

$ curl -O -L http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz

$ tar xzvf libtool-2.2.6b.tar.gz

$ cd libtool-2.2.6b

$ ./configure --prefix=/usr/local

$ make && make install

$ cd ..

(注:虽然警告在某种程度上也是有错,但可以暂时忽略,遇到ERROR就要解决了,全程安装如是)

紧接着是(2)的安装 (不安装后面的执行操作会报错)

一般的rpm包安装,最后在执行第(3)部,也就是接下来的操作

$ cd coreseek-3.2.14

##安装mmseg中文分词

$ cd mmseg-3.2.14

$ ./bootstrap    #输出的warning信息可以忽略,如果出现error则需要解决

$ ./configure --prefix=/usr/local/mmseg3

$ make && make install

$ cd ..

##安装coreseek,需提前安装MySQL以支持mysql数据源(/usr/local/mysql)

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

include --with-mysql-libs=/usr/local/mysql/lib

$ make && make install

$ cd ..

##测试mmseg分词,coreseek搜索

$ cd testpack

$ cat var/test/test.xml    #此时应该正确显示中文

$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml

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

$ /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索

测试完能正确显示就是配置成功了!但是,这只是第一步!接下来就是要你如何去建立一个索引

http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#conf-sql-query  这里是sphinx和coreseek的参考手册

参数的配置

1、数据源配置项 source 2、索引配置选项 index 3、indexer程序配置选项 4、searchd程序配置选项

代码如下:

source stip{

type = mysql

sql_host = localhost

sql_user = root

sql_pass =

sql_db = test

sql_port = 3306

sql_query_pre = SET NAMES utf8

sql_query = SELECT id,group_id,content FROM documents

sql_attr_uint = author_id

}

index stip{                                                      # index和source应该是成对出现,index就是配置索引的功能(我们还可以配置多个索引 主索引+增量索引的功能)

source = src

path = /usr/local/coreseek/var/data/stip  #路径尽量使用绝对路径

docinfo = extern

mlock =0

morphology = none

min_word_len =1

html_strip =0

charset_type = zh_cn.utf-8

charset_dictpath = /usr/local/mmseg3/etc/

}

searchd{                            #searchd是常驻进程的全文检索服务,默认监控本机的9312端口

listen = 9312

read_timeout =5

max_children = 30

max_matches = 1000

seamless_rotate = 0

preopen_indexes = 0

unlink_old = 1

pid_file = /data/log/searchd_rtindex.pid

log = /data/log/searchd_rindex.log

query_log = /data/log/query_rtindex.log

}

现在进入数据库阶段了,先创建好数据库和表结构

然后就是如何插入数据,成百上千万级别的数据,显而易见是使用循环插入数据

当然我使用的是shell脚本

然后就是测试数据 方法和前面额测试一样,然后测试结果

这些仅代表个人见解,欢迎改错!

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值