sphinx 环境搭建

sphinx 环境搭建

一。http://www.sphinxsearch.org/archives/80

前提 yum -y install mysql mysql-devel

yum -y install automake autoconf  主要是自动加载其他配置和配置中文分词使用的(自我的理解,其实不太清楚。automake 好像要求2.2以上版本吧)

wgethttp://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz下载sphinx安装包

tar zxvf sphinx-0.9.9.tar.gz

cd sphinx-0.9.9

/configure –prefix=/usr/local/sphinx #注意:这里sphinx已经默认支持了mysql

make && make install # 其中的“警告”可以忽略

安装完毕后查看一下/usr/local/sphinx下是否有 三个目录 bin etc var,如有,则安装无误!

mysql 数据库导入 进入 test 数据库

CREATE TABLE `documents` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`group_id` int(11) NOT NULL,

`group_id2` int(11) NOT NULL,

`date_added` datetime NOT NULL,

`title` varchar(255) NOT NULL,

`content` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

插入数据:

INSERT INTO `documents` VALUES (1,1,5,'2017-03-13 09:42:40','test one','this is my test document number one. also checking search within phrases.'),(2,1,6,'2017-03-13 09:42:40','test two','this is my test document number two'),(3,2,7,'2017-03-13 09:42:40','another doc','this is another group'),(4,2,8,'2017-03-13 09:42:40','doc number four','this is to test groups');

//进入sphinx 的安装配置目录 /usr/local/sphinx/etc 把example.sql 导入到mysql数据库

sphinx自带的搜索命令:search 后来取消了,所以要使用php来进行测试

cd /usr/local/sphinx/etc #进入sphinx的配置文件目录

cp sphinx.conf.dist sphinx.conf#新建Sphinx配置文件

vim sphinx.conf #编辑sphinx.conf

sphinx 的配置分析:http://blog.csdn.net/gaoxuaiguoyi/article/details/48739263

bin/indexer -c etc/sphinx.conf article ### 建立索引文件的命令

启动sphinx 服务 进入sphinx 安装目录 执行

bin/searchd -c etc/sphinx.conf

测试 安装php-phinx 扩展

#如果没有扩展安装包,先下载

wgethttp://pecl.php.net/get/sphinx-1.3.2.tgz

tar zxvf sphinx-1.3.2.tgz

cd sphinx-1.3.2

/var/lanmps/php/bin/phpize #注意phpize 得编译情况

./configure 或者

./configure --with-php-config=/var/lanmps/php/bin/php-config --with-sphinx=/var/lanmps/sphinx

make

make install

查看extension_dir 目录中是否有sphinx.so文件

通过php -m 查看扩展是否显示  如果sphinx.so 文件存在并且php -m 不显示扩展在php.ini文件中加入

[sphinx]

extension=sphinx.so

重启php-fpm service php-fpm restart

service nginx start

service mysqld start

php 测试sphinx 分析结果


$s = new SphinxClient;

$s->setServer("localhost", 9312);

$s->setMatchMode(SPH_MATCH_ANY);

$s->setMaxQueryTime(3);

$result = $s->query("number is");

echo '';

print_r($result);

yum list installed

yum list php56*

完美配置:http://blog.csdn.net/baidu_34812181/article/details/51263028

rpm -qa nginx

nginx-1.0.15-12.el6.x86_64

rpm -ql nginx-1.0.15-12.el6.x86_64

二。接下来我们需要建立一个Sphinx的配置文件 E:\coreseek\etc\mysql.conf,将其内容改为下面这些:

(参考了:https://www.oschina.net/question/84274_11938

source mysql

{

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,addtime,title,content FROM post

sql_attr_timestamp                 = addtime

}

index mysql

{

source                                      = mysql

path                                         = E:/coreseek/var/data/mysql

charset_dictpath                   = E:/coreseek/etc/

charset_type                           = zh_cn.utf-8

}

searchd

{

listen                                         = 9312

max_matches                         = 1000

pid_file                                     = E:/coreseek/var/log/searchd_mysql.pid

log                                            = E:/coreseek/var/log/searchd_mysql.log

query_log                                = E:/coreseek/var/log/query_mysql.log

}

先讲下这个配置文件中每项的含义。

source mysql{} 定义源名称为mysql,也可以叫其他的,比如:source xxx{}

type  数据源类型

sql_* 数据相关的配置,比如sql_host,sql_pass什么的,这些不解释鸟

sql_query 建立索引时的查询命令,在这里尽可能不使用where或group by,将where与groupby的内容交给sphinx,由sphinx进行条件过滤与groupby效率会更高,注意:select 的字段必须包括一个唯一主键以及要全文检索的字段,where中要用到的字段也要select出来

sql_query_pre 在执行sql_query前执行的sql命令, 可以有多条

sql_attr 以这个开头的配置项,表示属性字段,在where,orderby,groupby中出现的字段要分别定义一个属性,定义不同类型的字段要用不同的属性名,比如上面的sql_attr_timestamp就是时间戳类型。

index mysql{} 定义索引名称为mysql,也可以叫其他的,比如:index xxx{}

source 关联源,就是source xxx定义的。

path 索引文件存放路径,比如:E:/coreseek/var/data/mysql 实际存放在E:/coreseek/var/data/目录,然后创建多个名称为mysql后缀却不同的索引文件

charset_dictpath  指明分词法读取词典文件的位置,当启用分词法时,为必填项。在使用LibMMSeg作为分词 库时,需要确保词典文件uni.lib在指定的目录下

charset_type 字符集,比如charset_type = zh_cn.gbk

searchd{} sphinx守护进程配置

listen 监听端口

max_matches最大匹配数,也就是查找的数据再多也只返回这里设置的1000条

pid_file pid文件路径

log全文检索日志

query_log查询日志

好了,配置文件就这样,配置的参数还有很多,大家可以自己查文档。

三。中文分词 coreseek

http://www.sphinxsearch.org/archives/82

中文分词的 Coreseek 老下载不到资源,好不容易下载到,结果提示我本地autoconf 版本过高,因工作原因暂停试验以后再试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容