如何在thinkphp使用xunsearch
编辑时间:2017-08-10 作者:jack
## 如何在thinkphp框架中使用xunsearch全文搜索引擎 注意: 该文档是基于 https://github.com/ShaoZeMing/xunsearch-laravel 封装的xunsearch的SDK 前提: 安装好xunsearch服务器端 ## 安装xunsearch-laravel SDK的步骤 1. 使用composer安装 php composer.phar require shaozeming/xunsearch-laravel "dev-master" 然后就会在Thinkphp的index.php文件同级目录下创建一个vendor目录。SDK就在这个目录下 2. 在要使用到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 1. 安装sdk //注意该命令要在index.php同级目录下运行 php composer.phar require shaozeming/xunsearch-laravel "dev-master" 2. 启动xunserach服务器端 /usr/local/xunsearch/bin/xs-ctl.sh -b inet start 3. 在下载好的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,其他字段都不需要搜索,只需要查询出来。 4. 后台新增商品数据的时候,除了将商品数据插入数据库,另外需要将商品数据插入到xunsearch中。代码如下: $data=[ 'id' => 1, 'gname' => '测试数据', 'price' => 12 ]; //shop就是配置文件中的project.name的值 $xs = new \shaozeming\xunsearch\Search('shop'); $xs->addIndex($data); //创建索引 5. 如何进行搜索 $xs = new \shaozeming\xunsearch\Search('shop'); //在searchAll()方法中传入你要搜索的内容 $data = $xs->searchAll('测试');
来说两句吧
最新评论