laravel 实现ES高亮搜索

laravel 实现es高亮搜索 在app目录下创建ES目录及MyEs类 <?php namespace App\Es; use Elasticsearch\ClientBuilder; use Illuminate\Support\Facades\Request; class MyEs { //许多文档属于索引 个人理解 protected $es; //构造函数的作用:实例化类的时候自动调用,执行每个方法前都会自动执行一次 public function __construct() . 阅读详情

1.安装配置

官网下载:下载 Elastic 产品 | Elastic

2.安装完后运行

点击   elasticsearch.bat 运行

 cmd进入  E:\ES\elasticsearch-head-master  文件安装的目录   执行 npm start 

 到此运行成功 在网页上查看   Node Exporter

 

 3.在框架中

composer安装命令

 composer require elasticsearch/elasticsearch

2.封装逻辑层

<?php

namespace App\Http\Business;

use Elasticsearch\ClientBuilder;

class Elasticsearch
{
    //ES客户端链接
    private $client;

    /**
     * 构造函数
     *
     * MyElasticsearch constructor
     *
     * */
    public function __construct()
    {
        $this->client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
    }


    /**
     * 添加文档
     * @param $id
     * @param string $index_name
     * @param string $type_name
     * @return array
     */
    public function add_doc($id, $index_name, $type_name, $doc)
    {
        $params = [
            'index' => $index_name,
            'type' => $type_name,
            'id' => $id,
            'body' => $doc
        ];

        return $this->client->index($params);
    }


    /**
     * @param $key
     * @param $index
     * @param $type
     * @return array|callable
     * 上面的搜索是一个范例
     * 本搜索是做es搜索的主要
     */
    public function search($key, $index, $type)
    {
        //搜索的值和库中的值进行对比
        $params = [
            'index' => $index,//数据库名
            'type' => $type, // 表名
            'body' => [
                'query' => [
                    'match' => [
                        //要搜索的字段↓
                        'fang_name' => $key//要搜索的内容
                    ]
                ],
                'highlight' => [ // 高亮
                    'fields' => [
                        'fang_name' => [
                            'pre_tags' => [
                                '<span style="color: red">'
                            ],//样式
                            'post_tags' => [
                                '</span>'
                            ]
                        ]
                    ]
                ]
            ],
        ];
        //执行搜索
        return $this->client->search($params);
    }
}

3.在数据添加入库时进行es添加

(new Elasticsearch())->add_doc(内容id,'数据库名','表名',数据);

4.进行搜索

 public function serach(){
        $keyword = request()->get('keyword');
        $res = (new Elasticsearch())->search($keyword,'goods','goods_type');
        $data = array_column($res['hits']['hits'],'_source');
        foreach ($data as $k => &$v){
            $data[$k]['image'] = json_decode($data[$k]['image'],true);
            $v['address'] = $res['hits']['hits'][$k]['highlight']['address']['0'];
        }
        if($data){
            return response()->json(['code' => 200,'msg' => '查询成功','data' => $data]);
        }


    }

 数据返回到前端就可以了

web端要解析,如果不修改会解析不出来
<td>{!!$val['title']!!}</td>
laravel8 es搜索及高亮展示 一、官方网址:Elasticsearch-PHP | Elastic二、详细请转看:ES是什么?_柒-的博客-优快云博客_es是什么三、es使用:1、新建app\Business\Es 2、在方法中使用es 3、测试工具测试: 阅读详情

相关推荐

在 Laravel 中使用 Elasticsearch

Laravel 提供了 Elasticsearch 的官方客户端包 “elasticsearch/elasticsearch”,我们可以使用 Composer 进行安装。通过集成 Elasticsearch,你可以更高效地进行全文搜索和数据分析,提升应用的性能和用户体验。在 Laravel 中,我们可以使用 Laravel 的服务容器和依赖注入机制来管理 Elasticsearch 客户端实例。现在,我们已经配置好了 Elasticsearch 客户端,可以开始使用它进行搜索了。这样,我们就可以通过。

YxmtAi的博客 703

laravel使用elasticsearch

laravel使用elasticsearchlaravel 中安装扩展包composer安装elasticsearch扩展包Elasticsearch 官方提供了 Composer 包,在引入时需要注意要指定版本,因为不同版本的 Elasticsearch 的 API 略有不同,因为我用的是 7.12.x,因此需使用 ~7.12.x 来指定包版本。

u013165199的专栏 2882

Windows批处理脚本实战:用Ping命令打造简易网络监控工具(附完整代码)

本文介绍如何利用Windows批处理脚本和Ping命令,快速构建一个轻量级、自动化的网络监控工具。该方案无需额外安装软件,通过周期性探测目标IP连通性,并将结果(成功、失败及延迟)自动记录到带时间戳的日志文件中,适合中小团队或临时监控需求,实现低成本、高效率的网络状态监控。

5f4d3s2a1q的博客 496

关于laravel使用Elastic Search的一些记录

我们在写入商品数据的时候用的是 bulk() 方法,这是 Elasticsearch 提供的一个批量操作接口。设想一下假如我们系统里有数百万条商品,如果每条商品都单独请求一次 Elasticsearch 的 API,那就是数百万次的请求,性能肯定是很差的,而 bulk() 方法可以让我们用一次 API 请求完成一批操作,从而减少请求次数的数量级,提高整体性能。修改App/Providers/AppServiceProvider.php文件。因为我本地php版本是7.3.4,不支持太高的es。

最美不过下雨天 1964

LightGBM参数调优实战:从基础到高级技巧

本文深入探讨了LightGBM参数调优的实战技巧。文章从理解其Leaf-wise生长策略的核心逻辑出发,系统性地介绍了分层调参策略:首先调整控制模型结构的参数(如num_leaves),其次优化学习能力参数(如learning_rate),最后通过正则化与随机化参数提升泛化能力。文中还提供了从建立基线到最终微调的完整实战流程与高级避坑指南,帮助读者高效提升模型性能。

i8j9k0l1的博客 262

N5105 PVE UEFI核显直通Windows:从黑屏到HDMI输出的实战调优

本文详细介绍了在N5105处理器上实现PVE UEFI核显直通Windows的实战调优方法。针对黑屏和HDMI音频无法识别等常见问题,提供了系统参数调整、驱动模块加载、虚拟机配置等解决方案,帮助用户成功实现核显直通并优化性能。

weixin_42566424的博客 207

laravel8 ES搜索(高亮)

/es数据库名:database es表:surface (自定义)//添加到mysql数据库的那条数据的id拿来做存在es里数据key。//构造函数(实例化这个类时调用这个类来连接es后复制$licent)// database ES库 surfaceES表。//create添加会返回添加的这条数据(包括id)//要添加es里面的数据(要求是数组)//自定义es里面的数据库。//自定义es里面的数据表。//白名单(使用create必须加白名单)//转化成数组才可添加es中。

2301_76740365的博客 418

Vmware Vcenter7.0证书web续期发生错误

生成证书,选择第三个(PS,如果没有域名的,一定要写IP,不然很容易卡在85%,服务不能起来)这里大概率可能是证书里面的FQDN和主机不匹配,又或者是主机解析FQDN有问题。vCenter _MACHINE_CERT快到期了,通过web界面更新证书失败。vSphere Client 版本 7.0.2.00200。登陆ssh到vcenter,重新生成证书。先关掉HA,不然证书管理会报错。第一步先这样,重新续订一下证书。

m0_74823595的博客 3951

laravel8如何使用Elasticsearch

在laravel8中使用Elasticsearch搜素引擎

晓看天色暮看云 1117

C#实现不占用串口的串口监听与侦听技术:高效监控串口数据的最佳实践

本文详细介绍了如何实现不占用串口的串口监听与侦听技术,解决了传统串口监听可能带来的串口占用问题。通过使用虚拟串口、外部监听工具或第三方库,我们可以高效地实现串口数据的捕获与处理,适用于各种工业控制、物联网和嵌入式开发的应用场景。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1679

Android——Handler详解

1. 简介 Handler是一套 Android 消息传递机制 可以说只要有异步线程与主线程通信的地方就一定会有 Handler。 在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理 使用Handler消息传递机制主要是为了多个线程并发更新UI的同时,保证线程安全 2. 相关概念解释 Handler、Message、Message Queue、Looper Android消息机制: 以Handler的sendMes

Yawn 7万+

Laravel Scout的高亮(Highlight),知识体系一共包含哪些部分?底层原理是什么?

Laravel Scout 的高亮底层原理是:通过方法配置要高亮的字段,由底层驱动(如 Elasticsearch 驱动)生成搜索引擎的highlightDSL 查询,执行后解析返回的高亮片段,并绑定到 Eloquent 模型的方法上,实现“搜索关键词高亮显示”,是“Scout 抽象 + 驱动适配 + 搜索引擎能力”的完美结合。

长风破浪会有时的博客 1069

基于mediapipe的动作捕捉和unity的人物模型驱动

用到的人体关键点检测的算法是Google开发的基于深度学习的实时多媒体套件,汇集了人体、手部、人脸关键点追踪、物体检测、物体识别等多个流行的视觉任务的成果。整套 Mediapipe正如其名字,专门为便携设备上的多媒体应用设计,模型非常小,在笔记本手机上也能实时跑,跨平台、跨语言。mediapipe实时性是没什么问题。但是是以牺牲了质量为代价的,这种关键点检测一般是用来做动作识别,类似于运动app跳绳计数、判定瑜伽动作标不标准这种。用单目视觉来做人物模型的驱动,总差点意思。

qq_58484580的博客 5728

Laravel/Tp5--ElasticSearch--增删改查-----高亮显示

/** 提前声明 ElasticSearch 私有属性 方便以下使用 * @var */ private $es; /** ElasticSearch的前提 下载 composer require elasticsearch/elasticsearch * * Uploads constructor. * @param Request|null $request */ public function __

qq_55675585的博客 176

【OpenClaw从入门到精通】第23篇:OpenClaw办公自动化实战—报表生成+文档批量处理+跨系统同步(2026实操进阶版)

本文聚焦OpenClaw在办公自动化场景的进阶应用,针对职场中高频且重复的报表生成、文档批量处理、跨系统数据同步三大痛点,提供从环境搭建、原理讲解到完整代码实现的全流程实操指南。方案基于Python生态工具链(pandas、Playwright、PyPDF2等)与OpenClaw的低代码编排能力,兼顾新手入门与进阶提升——新手可直接复用代码快速落地,进阶读者可学习流程编排逻辑进行二次开发。所有案例均基于真实办公场景设计,部分虚拟场景已明确标注,代码经本地环境验证可复现。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 968

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

elasticsearch 添加索引 和搜索

elasticsearch 小程序es搜索

qq_65102318的博客 683

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Laravel-Admin搜索功能优化:如何实现全文检索的完整指南

Laravel-Admin是一款强大的后台管理框架,能够帮助开发者在十分钟内构建一个功能齐全的管理界面。本文将详细介绍如何优化Laravel-Admin的搜索功能,实现高效的全文检索,提升后台管理系统的用户体验和数据处理效率。 ## 为什么需要优化搜索功能? 在后台管理系统中,搜索功能是用户日常操作中使用频率极高的功能之一。一个高效、准确的搜索功能能够帮助用户快速定位所需数据,提高工作效率。L

gitblog_00365的博客 438

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Post::searchQuery($searchQuery)->highlightRaw($highlightConfig) ->from($fro

的底层原理是:通过提供的链式 API,将原始 Elasticsearch Query DSL 和高亮配置构建成标准请求,发送到 ES 执行,返回包含高亮、分页、聚合的,再映射为 Eloquent 模型,是“DSL 自由度 + Laravel 开发体验”的完美结合。

长风破浪会有时的博客 1015

【ElasticSearch】结合laravel做高亮搜索

文章目录注册elasticSearch服务配置env配置在控制器创建搜索设置视图展示效果 在做这个功能前,你需要安装好你的elasticSearch 注册elasticSearch服务 配置 env配置 在控制器创建搜索 public function search() { $params = [ 'index' => 'goods',...

咔咔博客 1527

Laravel Scout ElasticSearch:革命性搜索解决方案 - 如何在 Laravel 中实现多模型 ElasticSearch 搜索

Laravel Scout ElasticSearch 是一个专为 Laravel 框架设计的强大搜索解决方案,它完美集成了 ElasticSearch 搜索引擎,让您能够在多个模型中实现高效、灵活的全文本搜索功能。这款革命性的工具基于 Laravel Scout 官方搜索包构建,为开发者提供了完整的 ElasticSearch 搜索体验,同时保持了 Laravel 的优雅语法和易用性。 ##

gitblog_00298的博客 778

Searchable Trait 与全文搜索引擎对比:如何为 Laravel 项目选择最佳搜索方案

Searchable Trait 是一款专为 Laravel 框架设计的 Eloquent 模型搜索工具,通过简单的 trait 集成即可为模型添加基础搜索功能。本文将深入对比 Searchable Trait 与专业全文搜索引擎的核心差异,帮助开发者根据项目需求选择最适合的解决方案。 ## 🌟 Searchable Trait:轻量级搜索的便捷选择 ### 核心特性与优势 Searchab

gitblog_01002的博客 785

Laravel集成Elasticsearch实现高效中文搜索方案

全文搜索引擎是现代Web应用的核心组件,Elasticsearch作为分布式搜索和分析引擎,通过倒排索引机制实现毫秒级检索。在中文场景下,传统LIKE查询存在分词不准确和性能瓶颈问题,而Elasticsearch配合IK分词器能精准处理中文语义分析。这种技术组合特别适用于电商平台、内容管理系统等需要复杂搜索功能的场景,其中Laravel框架通过Scout扩展包无缝集成Elasticsearch,实现包括智能提示、同义词扩展和高亮显示等高级搜索特性。通过合理配置IK分词器和索引映射,开发者可以构建支持中文分词

weixin_30652897的博客 334

CupCode MLX90614 红外测温模块实战指南:I2C 接线、ohcode 积木编程与 MicroPython 驱动解析

本文以 [README.md](https://link.gitcode.com/i/32ac8f6bc2dce29cdedfe3364118b2fc) 为核心骨架,系统讲解源师兄(CupCode)MLX90614 红外测温扩展的完整使用链路:从 SCL/SDA 硬件接线,到 ohcode 平台上的三个积木搭建,再到底层驱动 [library/mlx90614_lib.py](https://li

gitblog_00188的博客 952

laravel-mongodb文本搜索高亮API:后端实现与前端集成

在现代Web应用中,高效的文本搜索功能已成为提升用户体验的关键。MongoDB作为主流的NoSQL数据库,提供了强大的文本搜索能力,而laravel-mongodb扩展则让Laravel开发者能够轻松利用这些功能。本文将详细介绍如何在laravel-mongodb中实现文本搜索高亮API,并完成前端集成,帮助开发者快速构建类似搜索引擎的高亮效果。 ## 后端实现 ### 创建文本索引 要使用

gitblog_00814的博客 845
上一篇: laravel8 图片上传七牛云
下一篇: PHP+Swoole 搭建 Websocket 聊天室
陈卿诺语
博客等级 码龄5年 167粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值