tp5整合xunsearch全文检索

作者: 会写bug的鸟 | 来源:发表于2018-05-20 12:25 被阅读22次

    应用场景:大量数据的模糊搜索,数据统计分析等场景,xunsearch的索引中只维护id和检索字段,例如id和content,可以保证索引的简单易维护性和命中速度,同时可以根据id字段配合mysql精确查找数据,单表100万数据保守测试性能是mysql的10倍以上

    运行环境:centos7

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

    yum install gcc-c++

    yum install bzip2

    然后下载xunsearch源码包

    cd /usr/local/src

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

    tar -jxvf 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

    控制器测试代码

    public function index()

    {

        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();

        }

    }

    public function search(){

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

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

        $search = $xs->search;

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

        print_r($info);

    }

    相关文章

      网友评论

        本文标题:tp5整合xunsearch全文检索

        本文链接:https://www.haomeiwen.com/subject/ehzzdftx.html