欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

coreseek mysql_coreseek 与 php mysql 的联合使用

发布时间:2023/12/10 数据库 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 coreseek mysql_coreseek 与 php mysql 的联合使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、coreseek centos 5.4 下 的安装

##下载coreeseek 3.2.14

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

##安装mmseg  输出的warning信息可以忽略,如果出现error则需要解决

cd mmseg-3.2.14

./bootstrap

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

make && make install

cd ..

##安装coreseek 输出的warning信息可以忽略,如果出现error则需要解决

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

##如果提示mysql问题,可以查看MySQL数据源安装说明

make && make install

cd ..

至此,安装完毕

安装过程中可能会出错:

libmysqlclient.so.16 等错误

执行下面命令即可:(注意修改mysql 的安装位置)

ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so.16

2、创建配置文件

配置文件在 /usr/local/coreseek/etc/  目录下

复制一份 sphinx-min.conf.dist  修改为 my.conf

修改里面的内容,根据数据库的表结构

假设我有一个电影的数据库

里面有一张表 存储电影信息的

sql 为:

CREATE TABLE `movie` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(200) DEFAULT NULL,

`ename` varchar(200) DEFAULT NULL,

`alias` varchar(600) DEFAULT NULL,

`screenwriter` varchar(50) DEFAULT NULL,

`introduction` longtext,

`pubdate` datetime DEFAULT NULL,

`pubdatestring` varchar(50) DEFAULT NULL,

`actors` longtext,

`directors` varchar(200) DEFAULT NULL,

`covercode` varchar(50) DEFAULT NULL,

PRIMARY KEY (`oid`),

UNIQUE KEY `oid` (`oid`),

UNIQUE KEY `id` (`id`) USING BTREE,

KEY `pubdate` (`pubdate`) USING BTREE

) ENGINE=MyISAM DEFAULT CHARSET=utf8; name 电影名称

ename 英文名

alias 别名

introduction 介绍

假设根据这些字段进行搜索,那么配置文件内容是这样的:

配置文件,分为几个部分 :源,索引,索引器,守护进程

#源

source src_movie

{

type= mysql

sql_host= localhost

sql_user= root

sql_pass= root

sql_db= nm.movie

sql_port= 3306# optional, default is 3306

sql_query= \

SELECT id,UNIX_TIMESTAMP(pubdate) AS pubdated , name, ename, alias, screenwriter, actors, directors, introduction FROM movie

sql_attr_timestamp= pubdated

sql_query_info_pre = SET NAMES utf8

}

#索引

index movie

{

source= src_movie

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

docinfo= extern

charset_dictpath = /usr/local/mmseg3/etc/

charset_type = zh_cn.utf-8

mlock = 0

morphology = none

min_word_len = 1

html_strip = 0

}

#索引器

indexer

{

mem_limit= 128M

}

#守护进程

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

}

3、创建索引

#生成所有索引

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

#索引测试

/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/my.conf 拯救大兵瑞恩

#开启守护进程,用来让 php 等程序调用

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

#停止守护进程

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

4、编写php代码

总结

以上是生活随笔为你收集整理的coreseek mysql_coreseek 与 php mysql 的联合使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。