php启用sphinx全文搜索的方法_第1页
php启用sphinx全文搜索的方法_第2页
php启用sphinx全文搜索的方法_第3页
php启用sphinx全文搜索的方法_第4页
php启用sphinx全文搜索的方法_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——php启用sphinx全文搜索的方法php启用sphinx全文探寻的方法

主要介绍了php启用sphinx全文探寻的实现方法,细致陈述了sphinx相关的配置与使用技巧,具有确定的参考借鉴价值,需要的挚友可以参考下。

本文实例陈述了php启用sphinx全文探寻的实现方法。共享给大家供大家参考。概括分析如下:

在编译安装sphinx的时候展现好多中文乱码,结果抛出错误卡住了,我去到官方直接下载一个rpm包,安装就很爽,概括错误不想研究了,忙开发呢.

安装两个包,一个是mmseg这个是生成中文字典的程序,一个是csft也就是中国版的sphinx.

rpm-ivh安装完以后,很顺遂~~不到半分钟就装完了.

中文字典库,我直接去csft官方下载了,挺好的.想得很周到.

unigram.txtuni.lib

unigram.txt字典文本,可以在里面添加你自己的关键字.

然后使用:mmseg-uunigram.txt生成字典文件:unigram.txt.uni然后重命名一下uni.lib这个就是sphinx熟悉的字典了.

放哪里?放你在sphinx.conf里面配置的字典路径里面,等会说到,然后根本就差不多了,在看下sphinx几个实用的程序:

复制代码代码如下:

[root@beihai365/]#csft-

csft-indexercsft-searchcsft-searchd

csft-indexer是生成全文探寻索引的程序

csft-search是测试探寻是否生效用的,也很好用,不如我还没用客户端脚本开发,就可以用这个来查看全文探寻是否告成

csft-searchd这个就是sphinx探寻的守护程序了。启动以后,就可以用脚本phppython等,开查询了。

就那么简朴,在看下关键的两片面东西.

sphinx.conf配置文件:

复制代码代码如下:

sourcetmsgs

type=mysql

sql_host=localhost

sql_user=root

sql_pass=1

sql_db=phpwind75sp3

sql_port=3306#optional,defaultis3306

#sql_sock=/tmp/mysql3307.sock

sql_query_pre=SETNAMESgbk

sql_query=SELECTid,name,type,stockFROMpw_tools

#sql_attr_uint=id

sql_attr_uint=stock

indextmsgsindex

source=tmsgs

path=/var/mmseg/searchdata/beihai365

docinfo=extern

charset_type=zh_cn.gbk

#min_prefix_len=0

#min_infix_len=2

#ngram_len=2

charset_dictpath=/var/mmseg/data

#min_prefix_len=0

#min_infix_len=0

#min_word_len=2

indexer

mem_limit=128M

searchd

#listen=3312

log=/var/log/searchd.log

query_log=/var/log/query.log

read_timeout=5

max_children=30

pid_file=/var/log/searchd.pid

max_matches=1000

#seamless_rotate=1

#preopen_indexes=0

#unlink_old=1

sourcetmsgs

type=mysql

sql_host=localhost

sql_user=root

php启用sphinx全文探寻的方法

sql_pass=1

sql_db=phpwind75sp3

sql_port=3306#optional,defaultis3306

#sql_sock=/tmp/mysql3307.sock

sql_query_pre=SETNAMESgbk

sql_query=SELECTid,name,type,stockFROMpw_tools

#sql_attr_uint=id

sql_attr_uint=stock

indextmsgsindex

source=tmsgs

path=/var/mmseg/searchdata/beihai365

docinfo=extern

charset_type=zh_cn.gbk

#min_prefix_len=0

#min_infix_len=2

#ngram_len=2

charset_dictpath=/var/mmseg/data

#min_prefix_len=0

#min_infix_len=0

#min_word_len=2

indexer

mem_limit=128M

searchd

#listen=3312

log=/var/log/searchd.log

query_log=/var/log/query.log

read_timeout=5

max_children=30

pid_file=/var/log/searchd.pid

max_matches=1000

#seamless_rotate=1

#preopen_indexes=0

#unlink_old=1

再看一下,测试客户端代码:

复制代码代码如下:

?php

headerContent-type:text/html;charset=utf-8;

includesphinxapi.php;

$cl=newSphinxClient;

$cl-SetServerlocalhost,3312;

$cl-SetMatchModeSPH_MATCH_ALL;

$cl-SetArrayResulttrue;

$res=$cl-Query名卡,*;

print_r$res;

?

?php

headerContent-type:text/html;charset=utf-8;

includesphinxapi.php;

$cl=newSphinxClient;

$cl-SetServerlocalhost,3312;

$cl-SetMatchModeSPH_MATCH_ALL;

$cl-SetArrayResulttrue;

$res=$cl-Query名卡,*;

print_r$res;

?

"名卡'这个关键字是我自己手动在字典里面添加的,看是否能真的搜到,实例代码如下:

复制代码代码如下:

Array

[error]=

[warning]=

[status]=0

[fields]=Array

php启用sphinx全文探寻的方法

[0]=name

[1]=type

[attrs]=Array

[stock]=1

[matches]=Array

[0]=Array

[id]=8

[weight]=1

[attrs]=Array

[stock]=100

[total]=1

[total_found]=1

[time]=0.018

[words]=Array

[名卡]=Array

[docs]=1

[hits]=1

Array

[error]=

[warning]=

[status]=0

[fields]=Array

[0]=name

[1]=type

[attrs]=Array

[stock]=1

[matches]=Array

[0]=Array

[id]=8

[weight]=1

[attrs]=Array

[stock]=100

[total]=1

[total_found]=1

[time]=0.018

[words]=Array

[名卡]=Array

[docs]=1

[hits]=1

完全没问题,探寻出来了,几个关键的操作:

[root@beihai365/]#csft-searchd--stop中断探寻守护

[root@beihai365/]#csft-indexer--all针对全体节点生成索引,你也可以针对某个节点生成索引譬如:csft-indexerxx

[root@beihai365/]#csft-searchApp探寻关键字App,不过看下面信息没有搜到和没有命中任何的文档.

CoreseekFullTextServer3.1

Copyrightc2022-2022

usingconfigfile./

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论