【ElasticSearch】结合laravel做高亮搜索

文章目录

    • 注册elasticSearch服务
    • 配置
    • env配置
    • 在控制器创建搜索
    • 设置视图
    • 展示效果

在做这个功能前,你需要安装好你的elasticSearch
参考文档: https://cloud.tencent.com/developer/article/1350622

注册elasticSearch服务

【ElasticSearch】结合laravel做高亮搜索_第1张图片

配置

【ElasticSearch】结合laravel做高亮搜索_第2张图片

env配置

【ElasticSearch】结合laravel做高亮搜索_第3张图片

在控制器创建搜索

【ElasticSearch】结合laravel做高亮搜索_第4张图片

public function search()
    {
        $params = [
            'index' => 'goods',
            'type'  => '_doc',
            'body'  => [
                'query' => [
                    'match' => [
                        'long_title' => '随便'
                    ],
                ],
                "highlight" => [
                    "fields" => [
                        "long_title" => [
                            "pre_tags" => [
                                ""
                            ],
                            "post_tags" => [
                                ""
                            ]
                        ]
                    ]
                ],
                // "size"=>10000,
            ],
        ];

        $data = app('es')->search($params);
        // dump($data);die;
        // dump($data['hits']['hits']);die;
        foreach($data['hits']['hits'] as $k => $v){
            // dump($data['hits']['hits'][$k]['_source']['long_title']);die;
            $data['hits']['hits'][$k]['_source']['long_title'] = $v['highlight']['long_title'][0];
        }
        $realData = $data['hits']['hits'];
        return view('web.member.search',[
            'realData' => $realData
        ]);
    }

设置视图

【ElasticSearch】结合laravel做高亮搜索_第5张图片

展示效果

【ElasticSearch】结合laravel做高亮搜索_第6张图片

你可能感兴趣的:(laravle,ElasticSearch)