28.1 kibana

        Kibana 是一个免费且开放的用户界面,能够对 Elasticsearch 数据进行可视化操作,从跟踪查询负载,到理解请求如何流经整个应用,都能轻松完成。

1.Kibana安装

        注意要与ES版本保持一致

https://www.elastic.co/downloads/past-releases#kibanahttps://www.elastic.co/downloads/past-releases#kibana

        进入kibana-8.8.2的config文件夹配置,修改kibana.yml配置文件。

        第6、11、43行设置以下内容

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

        然后运行kibana.bat文件,访问网页

http://localhost:5601http://localhost:5601

2.使用调试工具

2.1 点击management

image-20230715121232332

2.2 点击Index Management,进入索引管理的页面

image-20230715121348985

2.3 点击dev tools,和ES进行交互

image-20230715121700513

通过控制台发送请求ES。

GET /job/_mapping

image-20230715124631838

3.Kibana操作

3.1 索引的操作

①创建索引

PUT goods

②查询索引

GET goods

GET _cat/indices?v

③删除索引

DELETE goods

④创建索引并指定映射关系

PUT goods
{"mappings": {"properties": {"id": {"type": "long"},"title": {"type": "text"},"brand": {"type": "keyword"}}}
}

3.2 文档的操作

①添加文档

POST /goods/_doc/1
{"id": 1001,"title": "mate40","brand": "华为"
}
POST /goods/_doc/2
{"id": 1002,"title": "mate50","brand": "华为"
}

②查询文档

#查询文档 GET /goods/_doc/1

#查询所有文档 GET /goods/_search

③修改文档

#全量修改
PUT /goods/_doc/1
{"id": 1000
}PUT /goods/_doc/1
{"price": 4999
}
#局部修改
POST /goods/_update/1
{"doc": {"price": 5000}
}

④删除文档

DELETE /goods/_doc/2

4.match查询

        Match查询是一种基于全文本的查询方法,可以在一个或多个字段中搜索包含指定文本的文档。它会将查询字符串进行分词处理,然后对每个词进行匹配,从而找到所有匹配的文档。

4.1 添加测试数据

        使用Elasticsearch中的Bulk工具批量生成数据。

        ES中提供了批量导入接口Bulk,允许通过以下格式快速导入构建好的文档.接口格式如下

PUT _bulk
{ "index": { "_index": "job", "_id": "1999" }}
{"jid":1999,"title":"Java开发工程师","salary":{"gte":20000,"lte":30000},"city":"深圳","company":"深圳大疆","description":"..."}

index:代表操作类型,index重建索引 , create创建, delete删除

_index:代表指向索引名

_id:要操作的数据id

4.2 查询全部内容

GET /job/_search
{"query": {"match_all": {}},"from": 0,  #分页开始的位置,默认为0"size": 100 #期望获取的文档总数
}

4.3 非字符串精准查询

GET /job/_search
{"query": {"match": {"jid": 1005}}
}

4.4 字符串模糊查询

        查询title中包含开发的文档,title映射定义的数据类型为text,字段内容会被分析

GET /job/_search
{"query": {"match": {"title": "java"}}
}

        查询city包含的文档

GET /job/_search
{"query": {"match": {"city": "深"}}
}

        会发现查询结果是0条记录,原因是我们定义mapping映射,city属性的数据类型为keyword,只能通过精确值搜索到。我们分别搜索深圳北京,可以得到对应的结果。

4.5 排序

        按照jid降序排序

GET /job/_search
{"sort": [{"jid": "desc"}]
}

4.6 分页

        查询5条数据

GET /job/_search
{],"from": 0,"size": 5
}

4.7 查询指定字段

        通过"_source"指定需要查询哪些字段,多个字段用[]括起来。

GET /job/_search
{"_source": ["jid","title"]
}

4.8 多字段查询

        查询company与description包含“金融”的数据。

GET /job/_search
{"query": {"multi_match": {"query": "金融","fields": ["company","description"]}}
}

4.9 单字段boolean查询

        boolean查询可以使用andor 作为条件组合。

        要求title同时出现java架构师两个词才满足条件。

GET /job/_search
{"query": {"match": {"title": {"query": "java 架构师","operator": "and"}}}
}

5.范围查询

        查询薪水在5000~10000之间的数据。

GET /job/_search
{"query": {"range": {"salary": [{"gte":5000,"lte":10000}]}}
}

        只要和文档数据产生交集便会被选中。

image-20230715193549571

6.bool字段复合查询

        bool把各种查询条件通过must(与)、must_not(非)、should(或)的方式进行组合

GET /job/_search
{"query": {"bool": {"must": [{"match": {"company": "咨询"}}],"should":[{"match": {"company": "金融"}}],"must_not":[{"match": {"company": "科技"}}]}}
}

7.高亮

        服务端搜索数据,得到搜索结果,将搜索到的关键字部分加上约定好的标签,前端页面提前写好标签的CSS样式,即可高亮。

在使用match查询的同时,加上一个highlight属性:

  • pre_tags:前置标签

  • post_tags:后置标签

  • fields:需要高亮的字段

GET /job/_search
{"query": {"match": {"description": "springmvc"}},"highlight": {"pre_tags": "<font color='red'>","post_tags": "</font>","fields": {"description": {}}}
}

8.term查询

        term主要用于分词精确匹配,如字符串、数值、日期等未分词的数据。

GET /job/_search
{"query": {"term": {"city": {"value": "北京"}}}
}

        如下查询,得到的结果是0条数据。原因就是ES默认采用Standard Analyzer分词策略。英文按单词切分,中文字段分成一个一个汉字。

GET /job/_search
{"query": {"term": {"title": {"value": "工程师"}}}
}

        查看分词效果:

GET _analyze
{"analyzer": "standard","text": "java开发工程师"
}

种分词策略对中文关键字搜索很不友好,推荐IK 分词器 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看完这篇,别再说不会Spring 分库分表了

多数据源&#xff0c;读写分离&#xff0c;分库分表&#xff0c;基本上已经是现在任何一个项目的基本配置了&#xff0c;在之前的文章Spring多数据源实现https://blog.csdn.net/wangerrong/article/details/131910740 里讲了多数据源的实现&#xff0c;其实已经包含了读写分离…

Linux使用教程

一、Linux命令基础 1、ls、ll命令——展示数据 ①ls命令——平铺展示数据 其中ls命令以平铺的方式展现数据 ②ll命令——列表展示数据 ll命令以列表的方式展现数据 -a选项&#xff0c;表示&#xff1a;all的意思&#xff0c;即列出全部文件&#xff08;包含隐藏的文件/文件夹…

ARM寄存器组织

一、寄存器二、ARM寄存器三、专用寄存器四、CPSR寄存器 一、寄存器 概念 寄存器是处理器内部的存储器&#xff0c;没有地址 作用 一般用于暂时存放参与运算的数据和运算结果 分类 包括通用寄存器、专用寄存器、控制寄存器 二、ARM寄存器 注 在某个特定模式下只能使用当前模…

Web浪漫历程:揭秘二十年间与您“约会”的浏览器发展

&#x1f9d1;‍&#x1f4bc; 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f5a5;️ Node专栏&#xff1a;Node.js从入门到精通 &#x1f5a5;️ TS知识总结&#xff1a;十万字TS知识点总结 &#x1f449; 你的一键三连是我更新的最大动力❤️&#xff01;…

Kafka基础架构与核心概念

Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者&#xff0c;性能特点主要是…

手机照片误删除?无需担忧,点击这里,即可轻松恢复

手机照片误删除&#xff1f;无需担忧&#xff0c;点击这里&#xff0c;即可轻松恢复 开头&#xff1a;在数字化时代&#xff0c;手机已成为我们生活中不可或缺的伙伴。随着手机摄影的普及&#xff0c;我们记录了许多珍贵的瞬间和回忆。然而&#xff0c;有时候我们不小心误删除…

Python编译过程和执行原理

hello&#xff0c;这里是Token_w的文章&#xff0c;主要讲解python的基础学习&#xff0c;希望对大家有所帮助 整理不易&#xff0c;感觉还不错的可以点赞收藏评论支持&#xff0c;感谢&#xff01; 目录 一. Python执行原理二. Python内部执行过程2.1 编译过程概述2.2 过程图解…

遥感数字图像处理实验教程(韦玉春)--部分实验问题回答

个人的学习思考&#xff0c;仅供参考。 目录 实验三、图像合成和显示增强 一、目的 二、要求 三、实验 实验五、图像变换 一、目的 二、要求 三、实验 实验六、图像滤波 一、目的 二、要求 三、实验 实验七、图像分割 一、目的 二、要求 三、实验 实验八、图…

linux判断端口是否占用(好用)

netstat 一般的话使用 netstat -tunlp | grep xxx参数作用-t指明显示TCP端口-u指明显示UDP端口-l仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)-p显示进程标识符和程序名称&#xff0c;每一个套接字/端口都属于一个程序。-n不进行…

爬虫002_python程序的终端运行_文件运行_ipython的使用---python工作笔记020

用python运行一个文件,就是要写一个.py结尾的文件 然后保存 然后直接cmd中,python 然后写上py文件的路径就可以了 然后看一下内容 看一下终端中运行,直接输入python进入python环境,然后写python代码 回车运行 退出可以用exit()

设计模式——单例模式

1 概述 单例模式就是保证一个类只有一个对象实例。 为了保证无法创建多余的对象实例&#xff0c;单例类中需要自己创建对象实例&#xff0c;并把自己的构造方法私有化以防止其他地方调用创建对象&#xff0c;且需要提供一个公共的方法给其他类来获取该单例类的实例。 同时单例…

Linux笔记——rpm与yum下载软件命令介绍

系列文章目录 Linux笔记——进程管理Linux笔记——进程管理与网络监控技术讲解Linux笔记——进程管理 Linux笔记——管道相关命令以及shell编程 Linux笔记——磁盘进行分区与挂载介绍 文章目录 系列文章目录 前言 一 RPM介绍 1.1 RPM简单介绍 1.2 RPM命令语法 1.2.1 …

数学建模学习(2):数学建模各类常用的算法全解析

一、评价类算法 常见的评价算法 1.层次分析法 基本思想 是定性与定量相结合的多准则决策、评价方法。将决策的有关元素分解成 目标层、准则层和方案层 &#xff0c;并通过人们的 判断对决策方案的 优劣进行排序 &#xff0c;在此基础上进行定性和定量分析。它把人的思维过程…

Python怎么实现模式匹配

什么是模式匹配 模式匹配是一种用于在数据中寻找特定模式或结构的技术。它可以用于识别、查找和提取符合特定模式要求的数据。 在计算机科学中&#xff0c;模式匹配通常用于字符串处理和数据分析领域。一些常见的模式匹配模式包括&#xff1a; 1. 字符串匹配&#xff1a;在一…

23 自定义控件

案例&#xff1a;组合Spin Box和Horizontal Slider实现联动 新建Qt设计师界面&#xff1a; 选择Widget&#xff1a; 选择类名&#xff08;生成.h、.cpp、.ui文件&#xff09; 在smallWidget.ui中使用Spin Box和Horizontal Slider控件 可以自定义数字区间&#xff1a; 在主窗口w…

Docker 单机/集群 部署 Nacos2.2.0

单机部署 1- 拉取镜像 docker pull nacos/nacos-server:v2.2.02- 准备挂载的配置文件目录和日志目录 日志目录(空目录)&#xff1a;./nacos/logs配置文件&#xff1a;./nacos/conf/application.properties 从官网下载 nacos 压缩包&#xff1a;Release 2.2.0 (Dec 14, 2022…

18.背景轮播

背景轮播 html部分 <div class"container"><div class"slide active" style"background-image: url(./static/20180529205331_yhGyf.jpeg);"></div><div class"slide " style"background-image: url(./s…

【数据挖掘】使用 LSTM 进行时间和序列预测

一、说明 每天&#xff0c;人类在执行诸如过马路之类的任务时都会做出被动预测&#xff0c;他们估计汽车的速度和与汽车的距离&#xff0c;或者通过猜测球的速度并相应地定位手来接球。这些技能是通过经验和实践获得的。然而&#xff0c;由于涉及众多变量&#xff0c;预测天气或…

SpringCloudAlibaba微服务实战系列(二)Nacos配置中心

SpringCloudAlibaba Nacos配置中心 在java代码中或者在配置文件中写配置&#xff0c;是最不雅的&#xff0c;意味着每次修改配置都需要重新打包或者替换class文件。若放在远程的配置文件中&#xff0c;每次修改了配置后只需要重启一次服务即可。话不多说&#xff0c;直接干货拉…

NoSQL之 Redis配置与优化

文章目录 一.关系数据库与非关系型数据库1.关系型数据库2.非关系型数据库3.关系型数据库和非关系型数据库区别4.非关系型数据库产生背景 二.Redis简介1.了解Redis2.Redis 具有以下几个优点3.Redis为何这么快 三.Redis 安装及应用1.Redis 安装部署2.Redis 命令工具2.1 redis-cli…