首页 > 系统服务 > 详细

linux系统环境下搭建coreseek(+mmseg3) (good)

时间:2015-10-07 11:56:47      阅读:300      评论:0      收藏:0      [点我收藏+]

 

1、下载并解压coreseek软件,操作命令如下:

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

说明:文件下载在系统当前目录中
tar xzvf coreseek-3.2.14.tar.gz
说明:文件解压在系统当前目录中
cd coreseek-3.2.14

2、安装coreseek

2.1、安装mmseg3

cd mmseg-3.2.14

说明:进入mmseg3安装目录

./bootstrap 

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

make && make install

说明:输出的warning信息可以忽略,如果出现error则需要解决

遇到的问题: 

error: cannot find input file: src/Makefile.in 

或者遇到其他类似error错误时... 

解决方案: 

依次执行下面的命令,如果运行‘aclocal‘时又出现了错误,解决方案看下文描述 

yum -y install libtool 

aclocal 

libtoolize --force 

automake --add-missing 

autoconf 

autoheader 

make clean

cd .. #退出mmseg3安装目录

安装好‘libtool‘继续从‘aclocal‘开始执行上面提到的一串命令,执行完后再运行最开始的安装流程即可。

2.2、安装coreseek

cd csft-3.2.14

sh buildconf.sh

说明:输出的warning信息可以忽略,如果出现error则需要解决 

./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 

 

 

说明:如果提示mysql问题,可以查看MySQL数据源安装说明  http://www.coreseek.cn/product_install/install_on_bsd_linux/#mysql 

make && make install 

cd .. #退出csft-3.2.14目录

出现这个 xmlpipe2 support NOT compiled in. To use xmlpipe2, install missing XML libra  错误执行以下命令:

yum -y install expat expat-devel

依次安装后,从新安装coreseek,然后再生成索引,就可以通过了。

3、coreseek系统配置执行

3.1、创建配置sphinx与mysql的配置文件

安装完成后:进入coreseek-3.2.14/testpack/etc目录中的csft_msyql.conf文件,建议下载到本地修改,设置如下:

#源定义

source mysql

{

    type       = mysql #源的名称

    sql_host    = localhost #服务器地址

    sql_user    = root #数据库帐户

    sql_pass    = 123456 #数据库密码

    sql_db      = buy #数据库名称

    sql_port     = 3306 #数据库访问端口

    sql_query_pre= SET NAMES utf8 #数据库访问编码

    sql_query=SELECT ProductID as productid,ClassID as classid,UNIX_TIMESTAMP(AddTime) AS date_added ,ProductTitle as producttitle,TyNames as tynames,ProductBatch as productbatch,CompanyTitle as companytitle FROM products

                                                              #sql_query第一列productid需为整数

# producttitle、productbatch、tynames、companytitle作为字符串/文本字段,被全文索引

sql_attr_uint = classid           #从SQL读取到的值必须为整数

sql_attr_timestamp        = date_added

#从SQL读取到的值必须为整数,作为时间属性

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

sql_query_info= SELECT * FROM products WHERE ProductID=$id

#命令行查询时,从数据库读取原始数据信息

}

 

#index定义

index mysql

{

    source            = mysql             #对应的source名称

    path            = /usr/local/coreseek/var/data

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

    docinfo            = extern

    mlock            = 0

    morphology        = none

    min_word_len        = 1

    html_strip                = 0

  #中文分词配置,详情请查看:

    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 = /usr/local/coreseek/var/log/searchd_mysql.pid 

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

    log = /usr/local/coreseek/var/log/searchd_mysql.log       

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

    query_log = /usr/local/coreseek/var/log/query_mysql.log

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

}

3.2、中文分词核心配置

3.2.1、词汇长度的设置

默认为5个UTF-8汉字,如果需要修改,可以如下操作:

打开:mmseg源代码coreseek-3.2.14/mmseg-3.2.14/src/css/segmenter.cpp

修改:#define MAX_TOKEN_LENGTH 15 //3*5

重新编译mmseg和coreseek(实际上就是重新安装一次)

3.2.2、生成分词库 (注意 mmseg的位置)

/usr/local/mmseg3/bin/mmseg  -u  /usr/local/mmseg3/etc/thesaurus.txt

说明:生成一个thesaurus.txt.uni文件,改名为uni.lib即可,thesaurus.txt必须为UTF-8格式,内容编写规则请查看官方文档。

3.2.3、生成同义词词典

/usr/local/mmseg3/ mmseg -t /usr/local/mmseg3/etc/thesaurus.txt

将thesaurus.lib放到uni.lib同一目录,coreseek索引和搜索时,会自动进行复合分词处理,thesaurus.txt必须为UTF-8格式,内容编写规则请查看官方文档。

3.2.4、特殊短语词库构造命令:

/usr/local/mmseg3/ mmseg -b /usr/local/mmseg3/etc/exceptions.txt

其中, 开关‘-b‘指示mmseg是要构造特殊短语词库;exceptions.txt是用户编辑的特殊短语转换规则。该命令执行后,将在当前目录下产生一个名为"synonyms.dat"的文件,将该文件放在"uni.lib"同一目录下,分词系统将自动启动特殊短语转换功能。exceptions.txt必须为UTF-8格式,内容编写规则请查看官方文档。

3.3、生成索引

3.3.1、执行索引(查询、测试前必须执行一次)

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

3.3.2、执行增量索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf delta --rotate

3.3.3、合并索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --merge main delta --rotate --merge-dst-range deleted 0 0

说明:为了防止多个关键字指向同一个文档加上--merge-dst-range deleted 0 0

3.4、启动守护程序

3.4.1、启动后台服务(必须开启)

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

3.4.2、关闭后台服务

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf --stop

3.43 查找服务

  /usr/local/coreseek/bin/search -c  /usr/local/coreseek/etc/csft_mysql.conf -a 天方

 

四、设置coreseek开机自动后台运行

vi /etc/rc.d/rc.local #编辑,在最后一行添加下面的代码

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

:wq!  #保存退出

vi /usr/local/coreseek/bin/build_index.sh  #添加以下更新索引脚本

#!/bin/sh

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

:wq!  #保存退出

chmod +x /usr/local/coreseek/bin/build_index.sh  #添加脚本执行权限

vi /etc/crontab    #编辑,在最后一行添加以下代码

*/30 * * * * root /usr/local/coreseek/bin/build_index.sh  #每隔30分钟执行一次

:wq!  #保存退出

service crond reload  #重新加载任务计划

 

 

3.5、自动化命令

crontab -e

*/1 * * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf delta --rotate 

*/5 * * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --merge main delta --rotate --merge-dst-range deleted 0 0 

30 1 * * *  /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate

说明:以下任务计划的意思是:每隔一分钟执行一遍增量索引,每五分钟执行一遍合并索引,每天1:30执行整体索引。

linux系统环境下搭建coreseek(+mmseg3) (good)

原文:http://www.cnblogs.com/sanwenyu/p/4828841.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!