一 : 打开本地的elasticsearch和kibana环境

  1. win键 + r 键

  2. 输入cmd 启动命令行工具

  3. 切换到es目录 启动es

  4. 切换到kibana目录 启动kibana

二 : 在框架内下载composer插件

composer require elasticsearch/elasticsearch

三 : 使用命令创建elasticsearch的控制器

php artisan make:controller Api/esasticSearchController

四 : 在控制器内的命名空间下调用

use Elasticsearch\ClientBuilder;

五 : 添加索引的方法

 /***  添加索引* @return string*/public function createDatabase(){//本地调用实例化$client  = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();//创建索引$params = ['index' => 'goods',//数据库名'body' => ['settings' => ['number_of_shards' => 5,//创建后可以更改'number_of_replicas' => 1//创建后不可以更改],'mappings' => ['_doc' => ['_source' => ['enabled' => true],'properties' => [//搜索的字段名'title' => ['type' => 'text','analyzer' => 'ik_max_word',//ik分词器'search_analyzer' => 'ik_max_word']]]]]];//将索引添加到kibana中$response = $client->indices()->create($params);//判断结果if($response){//执行成功return "索引添加成功";}else{//执行失败return "索引添加失败";}}

六 : 将数据添加到kibana中

 /***  添加数据到kibana中* @return string*/public function createData(){//本地调用实例化$hosts = ['127.0.0.1:9200'];//请求连接$client = ClientBuilder::create()->setHosts($hosts)->build();//查询数据表所有的数据并转化数组格式$date = ApiTitle::all()->toArray();//循环foreach ($date as $v){$data = ['index' => 'goods',//更改索引名(数据库名) 其余不变'type' => '_doc','id' => $v['id'],'body' => $v,];$response = $client->index($data);}//判断 是否添加数据成功if($response){return "添加数据成功";}else{return "添加数据失败";}}

七 : 创建需要搜索文章的控制器

php artisan make:controller Api/TitleController

八 : 搜索的方法

    /***  执行搜索* @param Request $request*/public function search(Request $request){//接值$word = $request->get('title');if (!$word){return ['code' => 500,'msg' => '未检测到值','data' => ''];}//请求连接$client = ClientBuilder::create()->build();//搜索的值和库中的值进行对比$params = ['index' => 'goods',//数据库名'type' => '_doc','body' => ['query' => ['match' => [//要搜索的字段↓'title' => $word//要搜索的内容]],'highlight' => ['pre_tags' => ["<em style='color: #ff0000'>"],//样式'post_tags' => ["</em>"],'fields' => [//要搜索的字段↓"title" => new \stdClass()]]],];//执行搜索$results = $client->search($params);//循环取出值foreach ($results['hits']['hits'] as &$v){$v['_source']['title'] = $v['highlight']['title'][0];}//替换$response =array_column($results['hits']['hits'],'_source');//返回return ['code' => 200,'msg' => '请求成功','data' => $response];}

PS:如果在微信小程序中使用的话是直接将标签和值一起输出到页面的,需要加入解析富文本的标签才可以将标签转化格式

  <rich-text nodes="{{item.title}}"></rich-text>

win10+laravel8+PHP+ElasticSearch+Kibana+高亮 接口搜索相关推荐

  1. Elasticsearch教程---高亮搜索(十二)

    6.1 高亮介绍 许多应用都倾向于在每个搜索结果中 高亮 显示搜索的关键词,比如字体的加粗,改变字体的颜色等.以便让用户知道为何该文档符合查询条件.在 Elasticsearch 中检索出高亮片段也很 ...

  2. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建

    目录 一.ELK概述 1.ELK日志分析系统 2.ELK中日志处理步骤 二.Elasticsearch介绍 1.Elasticsearch的基础核心概念 2.分片和副本 三.LogStash概述 1. ...

  3. 【ElasticSearch】大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

    1.概述 转载:大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk述 本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望 ...

  4. 【ELK123】ElasticSearch+Kibana

    公司一个PoC项目需要启用ElasticSearch来支持海量搜索. 互联网一两年前已经在使用了. 虽然慢了一拍,不过对于自己而言,很高兴能继续学习新技术. 官网介绍视频: https://www.e ...

  5. 如何使用Elasticsearch构建强大的搜索和分析应用程序(2023年最新ES新手教程)

    1.Elasticsearch 非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容 什么是elasticsearch 一个开源的分布式搜索引擎,可以用来实现搜索.日志统计.分析.系统监 ...

  6. 小白玩大数据日志分析系统经典入门实操篇FileBeat+ElasticSearch+Kibana 实时日志系统搭建从入门到放弃

    大数据实时日志系统搭建 距离全链路跟踪分析系统第二个迭代已经有一小阵子了,由于在项目中主要在写ES查询\Storm Bolt逻辑,都没有去搭建实时日志分析系统,全链路跟踪分析系统采用的开源产品组合为F ...

  7. ElasticSearch - Kibana操作入门

    ElasticSearch - Kibana 一.全局操作 查看集群情况 GET /_cat/nodes/?v 查看集群健康度 GET /_cat/health/?v 查看集群分片情况 GET /_c ...

  8. Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统

    Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统 原文:Elasticsearch,Kibana,Logstash,NLog实现ASP. ...

  9. Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统

    为什么80%的码农都做不了架构师?>>>    前言: 随着实时分析技术的发展及成本的降低,用户已经不仅仅满足于离线分析.目前我们服务的用户包括微博.微盘.云存储.弹性计算平台等十多 ...

最新文章

  1. 7-1 对称日 (15分)
  2. ES6的 super 关键字
  3. Java机器学习库ML之二Feature Selection(特征选择)
  4. python pyqt5 窗体自适应_Pyqt5自适应布局实例
  5. 常用系统级加压工具简介
  6. 董明珠解释举报奥克斯初衷:这不仅是企业间的竞争 更是道德的选择
  7. 排序算法之 Heap Sort
  8. saltstack安装使用
  9. 转载:VirtualizingStackPanel
  10. centos7刷新dns
  11. 约瑟夫环(Data structure and algorithm -C language)—— #YU
  12. 机器学习之---马尔可夫随机场的应用
  13. 液压机行业研究及十四五规划分析报告
  14. 服务器宕机指的是什么意思?
  15. java 曼哈顿距离_曼哈顿距离(A *)
  16. 网文版ChatGPT来了:大模型辅助写作,澜舟和中文在线联手出品
  17. 大学计算机与应用软件,第5章 应用软件与常用办公软件 大学计算机基础简明教程[最新].doc...
  18. 使用nslookup命令检查DNS服务
  19. allure安装与使用
  20. voip(语音电话)

热门文章

  1. 声学模型训练----Acoustic Modeling
  2. android arcgis使用自定义图片背景底图(tif图片制作)
  3. (数字ic验证)从零开始的apb_watchdog验证模块搭建(二、apb直接发送激励与寄存器模型加入)
  4. H5游戏开发(Egret引擎)及Typescript学习笔记
  5. 什么是虚拟机,有什么用?
  6. flowable报错FlowableTaskAlreadyClaimedException问题
  7. 计算机网卡更改mac地址,Mac电脑网卡MAC地址修改的具体步骤
  8. 学习过程中遇到的一些电脑上的小BUG,非学习问题,实时更新
  9. 【Django | 开发】面试招聘网站(增加csv,excel导出企业域账号集成日志管理功能)
  10. JavaScript原生自动触发事件