热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分词搜索sphinx3.1.1+php7+mysql

下载sphinx3.1.1wgethttp:sphinxsearch.comfilessphinx-3.1.1-612d99f-linux-amd64.tar.gz解压 tarzx

  1. 下载sphinx3.1.1

    • wget http://sphinxsearch.com/files/sphinx-3.1.1-612d99f-linux-amd64.tar.gz



  2. 解压 

    • tar zxf sphinx-3.1.1-612d99f-linux-amd64.tar.gz



  3. 改名 sphinx 并移动到 /usr/local/

    • mv sphinx-3.1.1 sphinx

    • mv sphinx /usr/local/



  4. 到sphinx目录下创建 data,log文件夹,并赋777权限

    • cd /usr/local/sphinx

    • mkdir data

    • chmod -r 777 data

    • mkdir log

    • chmod -r 777 log



  5. 在/usr/local/sphinx/etc 编写 sphinx.conf 配置文件


    • cd /usr/local/sphinx/etc

    • vim sphinx.conf

    • #
      # minimal sphinx configuration sample (clean, simple, functional)
      #
      source src1
      {
      type = mysql
      sql_host = localhost
      sql_user = root
      sql_pass = root
      sql_db = test
      sql_port = 3306 # optional, default is 3306
      sql_query_pre = set names utf8
      sql_query = \
      select id, group_id, unix_timestamp(date_added) as date_added, title, content \
      from documents
      sql_attr_uint = group_id
      sql_attr_timestamp = date_added
      }
      index test1
      {
      source = src1
      path = /usr/local/sphinx/data
      min_word_len = 1
      ngram_len = 1
      ngram_chars = u+3000..u+2fa1f
      }
      indexer
      {
      mem_limit = 128m
      }
      searchd
      {
      listen = 9312
      listen = 9306:mysql41
      log = /usr/local/sphinx/log/searchd.log
      query_log = /usr/local/sphinx/log/query.log
      read_timeout = 5
      max_children = 30
      pid_file = /usr/local/sphinx/log/searchd.pid
      seamless_rotate = 1
      preopen_indexes = 1
      unlink_old = 1
      binlog_path = /usr/local/sphinx/data
      }



  6. 在test数据库中 运行/usr/local/sphinx/etc目录下的example.sql文件

    • 进入mysql

    • use test;

    • source /usr/local/sphinx/etc/example.sql



  7. 添加索引

    • /usr/local/sphinx/bin/indexer -c  /usr/local/sphinx/etc/sphinx.conf test1




  8. 运行sphinx

    • /usr/local/sphinx/bin/searchd -c  /usr/local/sphinx/etc/sphinx.conf




  9. php操作sphinx

    • 下载sphinxapi.php 自带的类文件缺少function



https://files.cnblogs.com/files/wxzxc/sphinxclient.zip





    • $sphinx = new sphinxclient();
      $q = $_get['key'] ?? 'test'; //搜索关键字
      $sql = "";
      $host = "127.0.0.1";
      $port = 9312;
      $index = "*";
      $sphinx->setserver($host, $port);
      $sphinx->setconnecttimeout(10);
      $sphinx->setarrayresult(true);
      $sphinx->setmatchmode(sph_match_all);
      $res = $sphinx->query($q, $index);
      print_r($res);

       运行结果如下:










结束,记得数据库数据改变后需重新生成索引

 



推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
author-avatar
jAne
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有