php启用sphinx全文搜索的实现方法
来源:才华咖 本文已影响2.37W人
来源:才华咖 本文已影响2.37W人
文章主要介绍了php启用sphinx全文搜索的实现方法,详细讲述了sphinx相关的配置与使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下。
本文实例讲述了php启用sphinx全文搜索的实现方法。分享给大家供大家参考。具体分析如下:
在编译安装 sphinx 的时候出现很多中文乱码,最后抛出错误卡住了,我去到官方直接下载一个 rpm 包,安装就很爽,具体错误不想研究了,忙开发呢.
安装两个包,一个是 mmseg 这个是生成中文字典的程序,一个是 csft 也就是中国版的sphinx .
rpm -ivh 安装完以后,很顺利~~不到半分钟就装完了.
中文字典库,我直接去 csft 官方下载了,挺好的想得很周到.
字典文本,可以在里面添加你自己的.关键字.
然后使用:mmseg -u 生成字典文件: 然后重命名一下 这个就是sphinx 认识的字典了.
放哪里?放你在 里面配置的字典路径里面,等会说到,然后基本就差不多了,在看下sphinx 几个实用的程序:
复制代码 代码如下:
[root@beihai365 /]# csft-
csft-indexer csft-search csft-searchd
csft-indexer 是生成全文搜索索引的 程序
csft-search 是测试搜索是否生效用的,也很好用,不如我还没用客户端脚本开发,就可以用这个来查看全文搜索是否成功
csft-searchd 这个就是 sphinx 搜索的守护程序了。 启动以后,就可以用脚本 php python 等,开查询了。
就那么简单,在看下关键的两部分东西.
配置文件:
复制代码 代码如下:
source tmsgs
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 1
sql_db = phpwind75sp3
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/
sql_query_pre = SET NAMES gbk
sql_query = SELECT id,name,type,stock FROM pw_tools
#sql_attr_uint = id
sql_attr_uint = stock
}
index tmsgsindex
{
source = tmsgs
path = /var/mmseg/searchdata/beihai365
docinfo = extern
charset_type = zh_
#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/
query_log = /var/log/
read_timeout = 5
max_children = 30
pid_file = /var/log/
max_matches = 1000
#seamless_rotate = 1
#preopen_indexes = 0
#unlink_old = 1
}
source tmsgs
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 1
sql_db = phpwind75sp3
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/
sql_query_pre = SET NAMES gbk
sql_query = SELECT id,name,type,stock FROM pw_tools
#sql_attr_uint = id
sql_attr_uint = stock
}
index tmsgsindex
{
source = tmsgs
path = /var/mmseg/searchdata/beihai365
docinfo = extern
charset_type = zh_
#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/
query_log = /var/log/
read_timeout = 5
max_children = 30
pid_file = /var/log/
max_matches = 1000
#seamless_rotate = 1
#preopen_indexes = 0
#unlink_old = 1
}
php配置文件phpini的方法参考
PHP之sprintf函数用法详解
php安装xdebug/pear/phpunit图文详解
WinXP如何安装Apache+MySQL+PHP环境
php配置文件phpini的方法
php开启openssl的方法
PHP中session使用方法详解
PHP使用方法之phpize
CentOS 7.0编译安装Nginx+MySQL+PHP的方法
PHP之sprintf函数用法
php中php://input和$-POST有什么不同
PHP中php://input和$-POST的区别
Linux+Apache+Mysql+PHP优化技巧
CentOS 7.0编译安装Nginx+MySQL+PHP的方法大纲
php+ajax实时输入自动搜索匹配的方法
php通过Chianz.com获取IP地址与地区的方法
快速实现搜索引擎的方法
PHP实现多服务器共享SESSION 数据
PHP执行Linux系统命令函数的方法
WINDOWS和Linux上怎么安装php7 alpha 和 yaf
如何启用Apache的PHP-FPM多实例
PHP脚本修改Linux系统口令的方法
thinkPHP实现的省市区三级联动功能
搜索有善的作文7篇
linux上使用strace查看C语言级别的php源码的方法
PHP构建自定义搜索引擎的方法
php在服务器执行exec命令失败的解决方法-php技巧
PHP配置文件详解php.ini
thinkPHP实现的联动菜单功能
phpstorm配置Xdebug进行调试PHP教程
如何实现PHP获取表单数据与HTML嵌入PHP脚本
PHP构建自定义搜索引擎的方法总结
用“搜索”造句
php发展和php应用为什么比asp强
中学生搜集作文素材的方法
jquery+php实现搜索框自动提示
iPhoneX搜索不了历史短信怎么办
php开启openssl的步骤
PHP中使用cURL实现Get和Post请求的方法
实现PHP获取表单数据与HTML嵌入PHP脚本的技巧