coreseek,php,mysql全文检索部署(三)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

7.动态添加php扩展模块,使php支持sphinx的类和方法

 首先下载源码包:

root@CC-57:~# wget http://pecl.php.net/get/sphinx-1.3.0.tgz

root@CC-57:~# cd coreseek-3.2.14/csft-3.2.14/api/libsphinxclient/

root@CC-57:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# ./configure; make; make install

root@CC-57:~/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient# cd

root@CC-57:~# tar zxvf sphinx-1.3.0.tgz

root@CC-57:~# cd sphinx-1.3.0

root@CC-57:~/sphinx-1.3.0# /var/www/xxxx/php-cgi/bin/phpize

root@CC-57:~/sphinx-1.3.0# ./configure --with-php-config=/var/www/xxxx/php-cgi/bin/php-config --with-sphinx

root@CC-57:~/sphinx-1.3.0# make; make install

root@CC-57:~/sphinx-1.3.0# cd

root@CC-57:~# cp /root/sphinx-1.3.0/modules/sphinx.so /var/www/xxxx/php-cgi/ext/

root@CC-57:~# vi /var/www/xxxx/php-cgi/etc/php.ini

添加  extension=sphinx.so

root@CC-57:~# /var/www/xxxx/php-cgi/sbin/php-fpm restart

Shutting down php_fpm . done

Starting php_fpm  done

查询页面代码:

      $keyword = urldecode(trim(strip_tags($_GET['keyword'])));

       echo 'keyword=='.$keyword;

       if ($keyword) {

               // sphinx服务器地址

               $server = '114.113.152.186';

               // 端口

               $port = 9312;

               // 索引名 为*时表示搜索所有索引

               $indexName = 'ccvms_video_main';

               // 分页页码

       //      $page = intval($_GET['page']) > 1 ? intval($_GET['page']) : 1;

               // 每页显示的数量

               $pageSize = 30;

               $sphinx = new SphinxClient();

               // 建立连接

               $sphinx->SetServer($server, $port);

               // 连接超时时间(非常必要,比如sphinx服务器挂了等异常情况) 单位为s,秒

       //      $sphinx->SetConnectTimeout(3);

               // 最大查询时间 单位为ms,毫秒

       //      $sphinx->SetMaxQueryTime(2000);

               // 按分页取结果

       //      $sphinx->SetLimits(($page-1)*$pageSize, $pageSize); //第一个参数为offset,第二个参数为limit

               // 模式

               $sphinx->SetMatchMode(SPH_MATCH_ALL);

               //$sphinx->SetMatchMode(SPH_MATCH_ALL);

               // 取到的原始数据

               $orgDatas = $sphinx->query($keyword, $indexName);

               echo 'orgDatas==';

               print_r($orgDatas);

               // 调试用,如果有错误的话,可以打印$errors的值

               $errors = $sphinx->GetLastError();

               echo 'errors==';

               var_dump($errors);

       }




     本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1345683,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
53 0
|
2月前
|
网络协议 关系型数据库 MySQL
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
|
2月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
108 1
|
1天前
|
关系型数据库 MySQL 数据库
mysqlTools 一分钟部署安装本mysql多个版本,解锁繁琐部署过程
mysqlTools 一分钟部署安装本mysql多个版本,解锁繁琐部署过程
25 2
|
2天前
|
网络协议 关系型数据库 MySQL
如何使用宝塔面板部署MySQL数据库,并结合内网穿透实现固定公网地址远程连接
如何使用宝塔面板部署MySQL数据库,并结合内网穿透实现固定公网地址远程连接
9 0
|
12天前
|
关系型数据库 MySQL PHP
【PHP 开发专栏】PHP 连接 MySQL 数据库的方法
【4月更文挑战第30天】本文介绍了 PHP 连接 MySQL 的两种主要方法:mysqli 和 PDO 扩展,包括连接、查询和处理结果的基本步骤。还讨论了连接参数设置、常见问题及解决方法,如连接失败、权限和字符集问题。此外,提到了高级技巧如使用连接池和缓存连接信息以优化性能。最后,通过实际案例分析了在用户登录系统和数据管理中的应用。
|
27天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
1月前
|
关系型数据库 MySQL Linux
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
28 0
|
2月前
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
457 1
|
2月前
|
存储 Kubernetes 关系型数据库
KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)
KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)
64 0