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

mysql全文索引thinkphp,tp5整合xunsearch全文检索

tp5整合xunsearch全文检索应用场景:大量数据的模糊搜索,数据统计分析等场景,sunsearch的索引中只添加id和搜索字段,例如:id和content,可以保证索引的简单

tp5 整合 xunsearch 全文检索

应用场景: 大量数据的模糊搜索, 数据统计分析等场景, sunsearch 的索引中只添加 id 和搜索字段, 例如: id 和 content, 可以保证索引的简单性和匹配的效率, 同时可以根据 id 字段配合 mysql 精确查找数据, 保守测试性能是 mysql 的 10 倍以上

运行环境: centos7

首先安装依赖, 烦, 好像还需要 zlib, 就直接 yum install zlib*

yum install gcc-c++

然后下载 xunsearch 源码包cd/usr/local/src

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

tar-zxjf xunsearch-full-latest.tar.bz2

cd xunsearch-full-1.3.0/

sh setup.sh 这一步是执行安装, 没特殊要求按提示走可以了

然后启动

/usr/local/xunsearch/bin/xs-ctl.sh start/stop/restart

然后对接到自己的项目里面, 由于 composer 包没拉下来, 所以只能硬来了

cp -r /usr/local/xunsearch/sdk/php/ /var/www/think/extend

控制器测试代码publicfunctionindex()

{

try{

include'/var/www/think/extend/Xunsearch/lib/Xunsearch.php';

$xs=new\XS('demo');// 创建 XS 对象, 项目名称为: demo

$index=$xs->index;

$doc=new\XSDocument(array(// 创建 XSDocument

'pid'=>123,// 主键字段, 必须指定

'subject'=>'测试文档标题',

'message'=>'测试文档内容',

'chrono'=>time()

));

$index->add($doc);// 添加文档, 不检测便索引库内是否已有同一主键数据

$index->flushIndex();

// ... 在此编写过搜索处理代码 ...

}catch(XSException$e){

echo $e->getMessage();

}

}

publicfunctionsearch(){

include'/var/www/think/extend/Xunsearch/lib/Xunsearch.php';

$xs=new\XS('demo');// 创建 XS 对象, 项目名称为: demo

$search=$xs->search;

$info=$search->search('测试');

print_r($info);

}

来源: http://www.jianshu.com/p/99fde6967891



推荐阅读
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
author-avatar
浩哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有