PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】_php技巧

本文实例讲述了PHP在innodb引擎下快速代建全文搜索功能的方法。分享给大家供大家参考,具体如下:

需要准备的设备:Liunx(Centos)操作系统(只支持Linux),PHP环境。

这里介绍一个国人开发的搜索引擎开源项目—讯搜(xunsearch),它分为:索引服务器和搜索服务器。

在CentOS下面愉快的代建服务器

wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2

准备安装了

cd xunsearch-full-1.3.0/ sh setup.sh //这里可以能遇到安装失败的问题,是因为没有安装gcc gcc-c++ 这样的扩展。用yum 安装十分简单

安装的时候要你输入安装目录,一般是 /usr/local/xunsearch  回车然后再输入Y回车,安装有点漫长。。

等待安装完成。

安装完成后,怎么跨服务器来访问:

安装目录(/usr/local/xunsearch/)+bin/xs-ctl.sh -b a.b.c.d start   // 监听在指定 IP 上 使用这个,把监听绑定到指定的外网能访问的IP上面。我的是 192.168.1163.130
还有需要使用iptables 来开放8383和8384端口。最简单的是关闭iptables.

PHP-SDK 配置文件修改,如下修改

[配置文件]
project.name = demo
project.default_charset = utf-8
server.index = 192.168.116.130:8383 //索引服务器的地址,默认是8383
server.search = 192.168.116.130:8384 //搜索服务器的地址,默认是8384
[pid]
type = id
[subject]
type = title //设置被索引字段
[message]
type = body  //设置被索引字段
[chrono]
type = numeric
[配置文件]

具体使用细节就请查考使用手册:http://www.xunsearch.com/doc/php/guide/index.overview

性能测试:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 全文搜索
, innodb引擎
快速代建
xunsearch、xunsearch sphinx、xunsearch 安装、xunsearch php、xunsearch windows,以便于您获取更多的相关知识。

时间: 2024-09-13 10:47:54

PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】_php技巧的相关文章

php下实现在指定目录搜索指定类型文件的函数_php技巧

复制代码 代码如下: function bdir($dir,$typearr){ $ndir = scandir($dir); foreach ($ndir as $k => $v){ if ($v == '.' || $v == '..'){ continue; } if (filetype($dir.$v) == 'file'){ $arr = explode('.',$v); $type = end($arr); if (in_array($type,$typearr)){ echo $d

MySQL数据库InnoDB引擎下服务器断电数据恢复方法_Mysql

说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时找不到数据库中的表,造成网站无法正常访问. 分析: 1.MySQL数据库,使用拷贝文件方式来恢复数据库,只支持MyISAM引擎: 2.如果有数据库或数据表使用了InnoDB引擎,恢复的时候,必须连同MySQL数据库目录下的ibdata1文件一起拷贝过来. 解决办法: 1.停止MySQL服务 serv

MySQL数据库InnoDB引擎下服务器断电数据恢复

说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时找不到数据库中的表,造成网站无法正常访问. 分析: 1.MySQL数据库,使用拷贝文件方式来恢复数据库,只支持MyISAM引擎: 2.如果有数据库或数据表使用了InnoDB引擎,恢复的时候,必须连同MySQL数据库目录下的ibdata1文件一起拷贝过来. 解决办法: 1.停止MySQL服务 serv

php下汉字转化为拼音的代码第1/2页_php技巧

复制代码 代码如下: <?php $d = array( array("a",-20319), array("ai",-20317), array("an",-20304), array("ang",-20295), array("ao",-20292), array("ba",-20283), array("bai",-20265), array("

php快速url重写更新版[需php 5.30以上]_php技巧

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也使得模块与模块间或页面与页面间的函数简化共享得以实现 .htaccess文件写法: 复制代码 代码如下: #-------------- .htaccess start --------------- RewriteEngine on Rewrit

php快速url重写 更新版[需php 5.30以上]_php技巧

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也使得模块与模块间或页面与页面间的函数简化共享得以实现 .htaccess文件写法: 复制代码 代码如下: #-------------- .htaccess start --------------- RewriteEngine on Rewrit

php在多维数组中根据键名快速查询其父键以及父键值的代码_php技巧

我这么想的: 遍历一遍多维数组,将所有的键建立索引生成一个一维数组: 每次通过键名去查这个键的上级数组及数据 OK,代码如下 indexKey创建索引数组函数: 复制代码 代码如下: <?php /** * FILE_NAME : arr.php FILE_PATH : test/ * 在多维数组中根据键名快速查询其父键以及父键值 * * @copyright Copyright (c) 2006-2010 mail:levi@cgfeel.com * @author Levi * @packa

php 删除目录下N分钟前创建的所有文件的实现代码_php技巧

复制代码 代码如下: <?php//delfile("upload",10);function delfile($dir,$n) //删除当DIR路径下N分钟前创建的所有文件;{if(is_dir($dir))  { if($dh=opendir($dir))   {    while (false !== ($file = readdir($dh)))     {     if($file!="." && $file!="..&qu

php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码_php技巧

web 开发中我们可能会碰到需要将某个目录下的所有文件清空,但不删除这个目录下的子目录(当然也不会删除被删除的根目录)的情况.那么对于这种只删除文件而不删除目录的方法,你是如何处理的呢?下面博主将要和你分享一下对于这个问题的一种比较好的解决办法.看下面这个函数: /*删除指定目录下的文件,不删除目录文件夹*/ function delFile($dirName){ if(file_exists($dirName) && $handle=opendir($dirName)){ while(f