Processing math: 100%

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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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(striptags(_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,如需转载请自行联系原作者




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
140 72
|
5天前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
37 18
|
2月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
1月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
148 25
|
2月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
3月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
232 26
|
3月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
3月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
93 5
|
3月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
104 4
|
3月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 servername="localhost";username = "root"; password="password";dbname = "test_db"; // 创建连接 conn=newmysqli(se
111 0