在我们php开发中如何使用sphinx技术?

答:对应MySQL数据库中的字段,就是将字段中的中文信息拆分成多个词语,然后对这些词语建立索引。以后查询的时候,先去查询这些索引文件,然后返回这些满足条件的记录的主键id,然后根据主键id查询MySQL数据库,返回记录。

 

 

什么是sphinx?(百度百科)

注意:对于sphinx来说,单表千万条记录,响应的时间都是毫秒级别的。

注意:默认sphinx只支持英文和俄文

官网:

http://sphinxsearch.com/

 

由于Sphinx只支持以上两种语言,所以有第三方公司为sphinx开发了中分分词包,叫做coreseek

官网:

http://www.coreseek.cn/

客户案例:http://www.coreseek.cn/products/ft_powered/

 

 

注意两点:

  1. sphinx是一个全文搜索引擎,只支持俄文和英文
  2. 由于上面的原因,有专门的公司为其开发了中文分词包,叫做coresesk。
  3. 中国有一家做的比较好的公司(海量分词)

    http://www.hylanda.com/

    故事:http://home.hylanda.com/show_5_19.html

     

     

    实操

  4. 下载

     

    2. 构建一个大数据的表(歌词表)

    mysql > source d:/songs.sql

    文件目录:

    命令:


    sphinx安装-使用

    安装

    千万注意:sphinx的配置文件一定不能使用Windows的记事本打开。(BOM头)

    API接口文件:可以用php调用该接口去操作sphinx服务器端的索引文件。

     

  5. 修改配置文件

    索引文件

    内存设置:

    sphinxd配置:

     

  6. 建立索引

    配置文件中index后面的名称

    建立索引后的目录结构

     

    3. 实际使用

    a. 开启sphinx的服务,可以使用帮助信息查看如何使用

    使用:

  7. 可以单独的读取配置文件运行
  8. 也可以安装成Windows的一个系统服务来运行

     

    启动sphinx服务(读取配置文件单次启动)

    定义为系统服务后(安装)

    使用

    1. 具体使用(sphinx流程可以见下图)

    sphinx流程图:

    sphinx存储引擎:通过下面的步骤发现,发现php程序在做查询的时候,必须先根据sphinx服务器返回主键ID,然后根据主键ID去查询MySQL数据库,最后返回数据库。

    这个时候,可以这样思考,将sphinx作为MySQL的一个存储引擎使用,这个时候php程序就可以直接的去连接MySQL服务器,MySQL服务器去自身的sphinx存储引擎里面获取分词后的数据。不需要连接一次sphinx服务器了。这个存储引擎叫做sphinxSE。

    http://blog.csdn.net/uestc_huan/article/details/6395145

     

     

  9. 简单使用

     

  10. 使用

     

学习sphinx的更多相关文章

  1. sphinx在c#.net平台下使用(一)

    Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个可以结合MySQL,PostgreSQL全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.是做站内全文搜 ...

  2. sphinx的配置和管理.No2

    网上配置文档众多,但是对着他们的文档来做老是出问题,于是花了点时间研究了一下,写成总结,方便以后查阅.也希望学习sphinx的朋友能少走弯路.Coreseek的安装请参考:http://blog.ch ...

  3. 关于多属性查找问题的sphinx解决方案

    需求描述 mysql中,每一个文档都有多个标签,查询时可以筛选一个标签也可以筛选同时拥有多个标签的文档. 数据示例 文档 标签 1 1,2,3,4,5 2 2,3,4,5,6 3 3,4,5,6,7 ...

  4. sphinx的配置和管理

    网上配置文档众多,但是对着他们的文档来做老是出问题,于是花了点时间研究了一下,写成总结,方便以后查阅.也希望学习sphinx的朋友能少走弯路.Coreseek的安装请参考:http://blog.ch ...

  5. TP-常见错误1

    1.无法加载模块 FILE: D:\wamp64\www\www.test_shop.com\ThinkPHP\Library\Think\Dispatcher.class.php LINE: 178 ...

  6. Sphinx学习之sphinx的安装篇

    一.  Sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与 ...

  7. Sphinx Search 学习 (一)

    参考资料一:(中文)http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html (官方)http://sphinxsearch.com/doc ...

  8. Sphinx学习笔记2

    因为网站搜索的需要,启动了一个搜索引擎项目,其实也算不上完整的搜索引擎,需求很简单,如下:     1)搜索产品名.类别名.品牌名.副标题.关键字等字段     2)数据量目前为13000左右,未来可 ...

  9. Sphinx学习笔记(一)

    最近负责一个项目,需要用到全文检索,我的环境大体如下:       1.数据保存在MySQL中     2.需要支持中文检索     3.尽可能的简单       选择了Sphinx,至于solr和E ...

随机推荐

  1. Pascal小游戏 不要消灭星星

    不要消灭星星 Pascal小游戏 Chaobs改编自pascal吧 控制台小游戏嘛,就当是练习一下结构化的写法. program wxtw; uses crt; type      zbdy=reco ...

  2. 关于JavaScript设计模式的学习(二)

    第二部分来了,是关于结构型的,同样的,还是在简书中,GitHub上也有代码示例和详细注释 简书:http://www.jianshu.com/p/face1be4b846 github:https:/ ...

  3. C语言中强制类型转换总结

    C语言中强制类型转换总结  ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围 ...

  4. 你的第一个自动化测试:Appium 自动化测试

    前言: 这是让你掌握 App 自动化的文章 一.前期准备 本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接. 1 ...

  5. Oracle 插入数据时获取系统时间

    insert into table_xx (xx,dateTime) values( 'xx',sysdate) 这个sysdate 相当于sql server中的GETDATE()函数 另to_ch ...

  6. Linux下vsftp匿名用户配置

    Linux下vsftp匿名用户上传和下载的配置 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FT ...

  7. 【bzoj3829】[Poi2014]FarmCraft 贪心

    原文地址:http://www.cnblogs.com/GXZlegend/p/6826667.html 题目描述 In a village called Byteville, there are   ...

  8. 【Luogu】P3228数列(数学题)

    题目链接 考虑我们把所有的增加量拿出来做成一个序列b. 那么在所有n中开头中$1~\sum\limits_{i=1}^{k-1}b[i]$是合法的 也就是说我们枚举所有b[i],然后答案就是$n*m^ ...

  9. POJ 3264 Balanced Lineup | st表

    题意: 求区间max-min st表模板 #include<cstdio> #include<algorithm> #include<cstring> #inclu ...

  10. POJ3252 Round Numbers 【数位dp】

    题目链接 POJ3252 题解 为什么每次写出数位dp都如此兴奋? 因为数位dp太苟了 因为我太弱了 设\(f[i][0|1][cnt1][cnt0]\)表示到二进制第\(i\)位,之前是否达到上界, ...