php全文搜索视频教程,【php启用sphinx全文搜索的实现要领】_PHP技巧_电脑技术学习,计算机学习网站,电脑维修技术教程,培训资料学习网-OAWHY...
这篇文章主要介绍了<?php启用sphinx全文搜索的实现要领 ,详细讲述了sphinx相关的配置与使用技巧,具有必然的参考借鉴价值,需要的伴侣可以参考下
本文实例讲述了<?php启用sphinx全文搜索的实现要领 。分享给各人供各人参考。具体阐明如下:
在编译安装 sphinx 的时候呈现很多中文乱码,最后抛堕落误卡住了,我去到官方直接下载一个 rpm 包,安装就很爽,具体错误不想研究了,忙开发呢.
安装两个包,一个是 mmseg 这个是生成中文字典的措施,一个是 csft 也就是中国版的sphinx .
rpm -ivh 安装完以后,很顺利~~不到半分钟就装完了.
中文字典库,我直接去 csft 官方下载了,挺好的想得很周到.
unigram.txt uni.lib
unigram.txt 字典文本,可以在里面添加你本身的关键字.
然后使用:mmseg -u unigram.txt 生成字典文件:unigram.txt.uni 然后重命名一下 uni.lib 这个就是sphinx 认识的字典了.
放哪里?放你在 sphinx.conf 里面配置的字典路径里面,等会说到,然后基本就差不多了,在看下sphinx 几个实用的措施:
代码如下:
[root@beihai365 /]# csft-
csft-indexer csft-search csft-searchd
csft-indexer 是生玉成文搜索索引的 措施
csft-search 是测试搜索是否生效用的,也很好用,不如我还没用客户端脚本开发,电脑维修视频教程,就可以用这个来检察全文搜索是否乐成
csft-searchd 这个就是 sphinx 搜索的守护措施了。 启动以后,就可以用脚本 <?php python 等,开查询了。
就那么简单,在看下关键的两部门对象.
sphinx.conf 配置文件:
代码如下:
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/mysql3307.sock
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_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
}
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/mysql3307.sock
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_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
}
再看一下,测试客户端代码:
代码如下:
header("content-type:text/html;charset=utf-8");
include 'sphinxapi.<?php ';
$cl = new sphinxclient();
$cl->;setserver('localhost',3312);
$cl->;setmatchmode(sph_match_all);
$cl->;setarrayresult(true);
$res = $cl->;query("名卡","*");
print_r($res);
?>;
header("content-type:text/html;charset=utf-8");
include 'sphinxapi.<?php ';
$cl = new sphinxclient();
$cl->;setserver('localhost',3312);
$cl->;setmatchmode(sph_match_all);
$cl->;setarrayresult(true);
$res = $cl->;query("名卡","*");
print_r($res);
?>;
“名卡”这个关键字是我本身手动在字典里面添加的,看是否能真的搜到,实例代码如下:
代码如下:
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
)
)
)
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-indexer xx
[root@beihai365 /]# csft-search app 搜索关键字 app,不外看下面信息没有搜到和没有命中任何的文档.
coreseek full text server 3.1
copyright (c) 2006-2008 coreseek.com
using config file './csft.conf'...
1,
pt:1, 1; index 'tmsgsindex': query 'app ': returned 0 matches of 0 total in 0.017 sec
words:
1. 'app': 0 documents, 0 hits
当各人在运行这些命令的时候发明,需要你本身手动的置顶 --config sphinx.conf 配置文件的路径,很不方便,所以我干脆 ln -s 一个在 ./,这样不消每次都去敲入 --config.
但愿本文所述对各人的<?php措施设计有所帮手 。
php全文搜索视频教程,【php启用sphinx全文搜索的实现要领】_PHP技巧_电脑技术学习,计算机学习网站,电脑维修技术教程,培训资料学习网-OAWHY...相关推荐
- php 全局搜索方法,php启用sphinx全文搜索的方法
php启用sphinx全文搜索的方法 sql_pass = 1 sql_db ...
- 【转载】Discuz!NT企业版之Sphinx全文搜索
Discuz!NT企业版之Sphinx全文搜索(上) 作为Discuz!NT企业版中的一员,在设计企业级搜索架构之初,就考虑了海量数量,准实时索引更新,并发访问,安装布署等诸多方面.目前在生产环境下被 ...
- mysql 支持全文搜索_MySQL全文本搜索:启用全文本搜索支持
一般在创建表时启用全文本搜索. CREATE TABLE 语句接受 FULLTEXT 子句,它给出被索引列的一个逗号分隔的列表. 下面的 CREATE 语句演示了 FULLTEXT 子句的使用: 输入 ...
- sphinx 全文搜索引擎
sphinx简介 参考指南 参考指南 sphinx API中文 sphinx 全文搜索引擎:顾名思义,是做收索用的,因为普通的搜索在数据量小的时候,能应对自如,但是当数据量上千万,或者上亿的时候.纯粹 ...
- Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合
Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...
- sphinx分词搜索
使用背景 在mysql中优化的时候,对varchar,char,text对这些数据进行查询时,如果我们使用like '%单词',是无法使用到索引,如果网站的数据量比较大,会拖垮网站的速度.比如在根据电 ...
- mysql搜索斯芬克斯_如何用sphinx正确搜索数字?
我需要在mysql中搜索十亿条记录,这是一个很长的过程(现在可以了).斯芬克斯能帮我吗?如何正确配置sphinx的搜索号码?是否应使用整数属性进行搜索(而不是字符串字段)? 我只需要获取时间戳&quo ...
- java电商商品搜索_Java生鲜电商平台-搜索模块的设计与架构
说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面.目前也是快速的检索商品. 对于移动端的APP买家用户而言,要求的速度在3秒内完成.支持模糊查询,由于业务实战表面,整个搜索频率不到1 ...
- 怎样搜索计算机文档,怎么样快速搜索电脑文件 Windows系统秒搜电脑文件
不知大家有没有遇到过这样的情况,当电脑里储存的文件越来越多的时候,就会经常找不到需要用到的文件放在什么地方,遇到急需该文件却又忘了放在什么位置的时候是最气的!而如果我们使用Windows自身的全盘搜索 ...
最新文章
- JDK1.6.0下载安装与环境配置
- php,http_build_query,乱码
- php 远程代码执行漏洞复现 cve-2019-11043
- Requests请求库
- sentinel里的双检锁
- idea 无法打开项目_Premiere出现quot;项目看来已经损坏,无法打开”的解决方法...
- vue-cli 3.0安装和使用
- MySQL concat()函数
- Hyper-v和VMware 兼容问题
- 设计模式:代理模式(C++)【代理服务器案例】
- 【英语学习】【医学】有机化学 - 烷的命名
- python缩进设计_Python 的缩进是不是反人类的设计?
- ODI11G 在Linux上的安装配置
- 你的第一个java_【JAVA SE基础篇】3.你的第一个JAVA程序
- LwIP 协议栈之 udp 协议解析
- STM32RBT6+RC522读取CPU卡demo
- threejs特效:选中效果
- 恋爱测试题测男生软件,男友求生欲测试题大全
- 问题 F: 解救小哈
- Selenium3自动化学习(三)
热门文章
- 【OpenCV-Python-课程学习(贾)】 OpenCV3.3课程学习笔记-开篇和简介
- 在JS中 onclick=return false; return false是什么意思
- universal bios_技嘉开始为400系主板提供BIOS更新
- zabbix6.4 Database history tables upgraded
- mp4是什么格式?如何录制mp4格式的视频?一招解决
- bullmind在线思维导图软件,bullmind在线流程图软件
- oracle创建record,oracle record | 学步园
- 静态时序分析 第三章 标准单元库
- 经典企业信息管理系统-任亮-专题视频课程
- 怎么办理软件产品登记测试报告,软件产品登记有什么作用?