Lamp环境下安装及使用coreseek

首先在你的linux上先下载一个coreseek的一个linux的安装包
博主给大家奉献的下载地址:


打开linux首先安装如下依赖包;(如果有的话只需要更新)

yum -y install m4 autoconf automake libtool

yum -y install gcc gcc-c++ wget

yum -y install mysql-devel

mmseg3是一个中文分词插件

执行如下命令:

tar xzvf coreseek-3.2.14.tar.gz                 //解压命令

cd coreseek-3.2.14                              //进入目录

cd mmseg-3.2.14/                                //进入中文分词插件

./bootstrap                                 

./configure --prefix=/usr/local/mmseg3          //检测配置

make   && make install                          //编译 &&  编译安装


cd ../csft-3.2.14/                              //进入配置目录

sh buildconf.sh                                 //执行脚本


./configure --prefix=/usr/local/coreseek --without-python --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --host=arm                       
                                                 //检测配置

安装过程需要修改一个配置文件

vi src/sphinxexpr.cpp

//然后将所有的
    T val = ExprEval ( this->m_pArg, tMatch ).....
//修改为
    T val = this->ExprEval ( this->m_pArg, tMatch )
//(建议大家将此文件拿到本地进行修改)
make
make install
cd /usr/local/coreseek/etc          //进入coreseek安装完成的路径

输入ls会看到3个文件
example.sql sphinx.conf.dist sphinx-min.conf.dist
其中example.sql是示例sql脚本我们将其导入到数据库中的test数据库中作为测试数据(会创建两张表 documents和tags)

vi sphinx.conf

输入以下内容:
source src1
{
    type                    = mysql
    sql_host                = 192.168.214.128
    sql_user                = root
    sql_pass                = root
    sql_db                  = test
    sql_port                = 3306  # optional, default is 3306
    sql_sock                = /tmp/mysql.sock
    sql_query_pre = SET NAMES utf8
    sql_query               = 
        SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \FROM documents
    sql_attr_uint           = group_id
    sql_attr_timestamp      = date_added
    sql_query_info          = SELECT * FROM documents WHERE id=$id
}
index test1
{
    source                  = src1
    path                    = /usr/local/coreseek/var/data/test1
    docinfo                 = extern
    charset_type            = zh_cn.utf-8
    mlock                   = 0
    morphology              = none
    min_word_len            = 1
    html_strip              = 0
    charset_dictpath        = /usr/local/mmseg3/etc/
    ngram_len               = 0
}
indexer
{
    mem_limit               = 32M
}


searchd
{
    port                    = 9312
    log                     = /usr/local/coreseek/var/log/searchd.log
    query_log               = /usr/local/coreseek/var/log/query.log
    read_timeout            = 5
    max_children            = 30
    pid_file                = /usr/local/coreseek/var/log/searchd.pid
    max_matches             = 1000
    seamless_rotate         = 1
    preopen_indexes         = 0
    unlink_old              = 1
}

说明:
代码段source src1{***} 代表数据源里面主要包含了数据库的配置信息,src1表示数据源名字,可以随便写。
代码段index test1{***} 代表为哪个数据源创建索引,与source 是成对出现的,其中的source参数的值必须是某一个数据源的名字
其他参数可以查看手册,这里不再赘述。

生成索引

//其中参数--all表示生成所有索引
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all

当然也可以是索引的名字例如

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf test1

执行后可以在/usr/local/coreseek/var/data目录中看到多出一些文件,是以索引名为文件名的不同的扩展名的文件

在不启动sphinx的情况下即可测试命令:

/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf number 
//(这是开启sphinx的命令行搜索就是说 number是你要查询的数据名称)
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf
//(searchd是开启sphinx的搜索服务功能)

Php操作linux上的sphinx

在站点域名目录下创建一个文件列如test.php
在test.php文件中写入如下内容
(注意与test同级需要将本身的sphinxapi类加载进来)

<?php
    header("content-type:text/html;charset=utf8");
    include'./sphinxapi.php';
    $sphinx= new SphinxClient();
    $sphinx->SetServer('你linux上的ip地址',9312);
    $res=$sphinx->Query("搜索字段","*");  //这里的*代表匹配所有定义好的规则
    print_r($res);
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值