Sphinx 死文克斯 联合Mysql实现中文全文索引

        PHP高级工程师之Sphinx中文全文索引

    在这里和大家分享一下Mysql5.5以后支持的全文索引Sphinx安装配置和运行概念。

    如有不善,多提意见(QQ:1595068971-邮箱:1595068971@qq.com)

  Sphinx服务器支持网络

  工作原理

文件包文件

  api:使用php操纵Sphinx 访问这个文件。

  bin:经常用到的命令(生成Sphinx索引文件,操纵服务)。

  etc:配置文件(csft_mysql.conf,uni.lib“海量词库文件 也叫 切词文件”)。北京-天安门

  var:Sphinx运行中的日志文件。

  生成Sphinx索引文件   就会把sql查询关联语句结果取出来   扔到Sphinx资源包里产生一个二进制资源文件(存储sql语句查询结果)

1.配置

2.生成索引文件

  

  文件另存为  更换编码

  

  再次运行,下图为成功。

  

  启动服务第一条命令才CMD运行,但是关闭的话,就不好使了,所以我们使用第二条。

  

  然后在《服务》里找到searchd

  

  然后右击启动服务。

3.php操作Sphinx

  php操作Sphinx

    连接api:api文件夹下Sphinx_api.php文件, 引入api类 

    $sc = new SphinxClient(); 实例化Sphinx类

    $sc->SetServer('localhost',9312)  连接服务

    $sc->SetConnectTimeout(10) 连接的超时时间

    $sc->SetMaxQueryTime(30)  最大的查询时间

    $sc->SetArrayResult(true) 返回值类型(数组)

    $sc->SetMatchMode(SPH_MATCH_ANY)  切词方式

      (SPH_MATCH_ALL:完全匹配才查询【‘北京’,‘天安门’,‘北京天安门’】)

      (SPH_MATCH_ANY:单个匹配【‘三个词其中一个就匹配’】)

      (SPH_MATCH_PHRASE:不切词)

    $result = $sc->Query($post ,"*")  查询索引文件(关键字,select)

    搜索后matches返回搜索记录

posted @ 2017-08-19 15:24  互联网技术小兵  阅读(501)  评论(0编辑  收藏  举报