如何在thinkphp使用xunsearch
来源:互联网 发布:最专业的网络推广价格 编辑:程序博客网 时间:2024/06/05 09:03
如何在thinkphp框架中使用xunsearch全文搜索引擎
来在 https://www.3maio.com/w-detail/8
注意: 该文档是基于https://github.com/ShaoZeMing/xunsearch-laravel封装的xunsearch的SDK
前提: 安装好xunsearch服务器端
安装xunsearch-laravel SDK的步骤
使用composer安装
php composer.phar require shaozeming/xunsearch-laravel "dev-master"
然后就会在Thinkphp的index.php文件同级目录下创建一个vendor目录。SDK就在这个目录下
在要使用到SDK的方法中引入SDK
require('./vendor/autoload.php'); //接下来就是实例化sdk中的类就可以sdk的方法了。 $xs = new \shaozeming\xunsearch\Search('demo');
完整步骤
前言:
a. 这个步骤的前提是php程序没有和xunsearch服务端在同一台服务器上。
b. 我的xunsearch是安装到centos环境上,安装目录为/usr/local/xunsearch/
c. xunsearch服务器的IP地址是192.168.122.88
安装sdk
//注意该命令要在index.php同级目录下运行
php composer.phar require shaozeming/xunsearch-laravel “dev-master”启动xunserach服务器端
/usr/local/xunsearch/bin/xs-ctl.sh -b inet start
在下载好的sdk目录下编写xunsearch配置文件
也就是找到vendor/shaozeming/xunsearch-laravel/src/app目录,在这个目录下创建shop.ini。 由于xunsearch服务端只能在linux服务器下运行,你的ini配置文件端口需要加入对应服务端IP地址,如示例代码:
project.name = shop
project.default_charset = utf-8
server.index = 192.168.122.88:8383
server.search = 192.168.122.88:8384[id]
type = id[gname]
index = self[price]
具体配置文件的参数如何设置,请参考xunsearch官网(http://www.xunsearch.com/doc/php/guide/ini.guide)。
这里大概说一下:
因为我需要对商品表的gname进行搜索,所以需要index=self,其他字段都不需要搜索,只需要查询出来。
后台新增商品数据的时候,除了将商品数据插入数据库,另外需要将商品数据插入到xunsearch中。代码如下:
$data=[ 'id' => 1, 'gname' => '测试数据', 'price' => 12 ]; //shop就是配置文件中的project.name的值 $xs = new \shaozeming\xunsearch\Search('shop'); $xs->addIndex($data); //创建索引
如何进行搜索
$xs = new \shaozeming\xunsearch\Search('shop'); //在searchAll()方法中传入你要搜索的内容 $data = $xs->searchAll('测试');
- 如何在thinkphp使用xunsearch
- xunsearch在windows下的使用与配置
- Xunsearch搭建及使用
- xunsearch
- xunsearch在Windows下开发
- 如何在ThinkPHP里面使用原生的SQL查询操作
- 如何在三天内使用Thinkphp搭建商城系统(一)
- 在ThinkPHP中如何使用自定义的函数
- coreseek和xunsearch的使用
- PHP搜索引擎xunsearch的使用
- 在ubuntu上配置xunsearch全文搜索引擎
- xampp 如何使用 ThinkPHP 框架
- 该如何使用thinkphp分表呢?
- ThinkPHP如何使用QQ登录?
- 在Thinkphp中使用Soap
- 在THinkPHP中使用pjax
- xunsearch使用namespace后bug修复
- 浅谈xunsearch、mysql使用及错误总结
- windows下mysql5.1忘记root密码解决方法[win7]
- synchronized与ReentrantLock的介绍、使用、适合场景及比较
- 用机器算法预测自杀倾向
- Sqlplus里如何调用Shell脚本?待整理
- mybatis中出现There is no getter for property named 'depIds' in 'class java.lang.String'的错误
- 如何在thinkphp使用xunsearch
- LS文法生成Hilbert-Peano曲线
- Jenkins部署:The username and password you provided are not correct (error 401)
- java基础巩固(1)
- PhotonServer游戏服务器端(一)
- 数据库错误代码大全
- Linux ssh免密码登录
- Vue开发环境下调用接口跨域问题
- LNAMP环境的搭建