1.ElasticSearch-入门基础操作

一、介绍

The Elastic Stack 包含ElasticSearch、Kibana、Beats、LogStash
这就是所说的ELK
能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES,ES是一个开源的高扩展的分布式全文搜索引擎,是整个ElasticStack技术栈的核心。它可以近乎实时的存储、检索数据:本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据

官方网站:https://www.elastic.co/cn/
下载地址:
1.https://www.elastic.co/cn/downloads/past-releases#elasticsearch
2.https://www.elastic.co/cn/downloads/elasticsearch

ES中内置了Java的环境,但是我们一般会使用我们本地安装的Java环境
在这里插入图片描述

在这里插入图片描述
注意:9300端口为Elasticsearch集群间组件的通信端口,9200端口为浏览器访问的http协议的RestFul端口
访问一下http://localhost:9200/页面,出现下面的情况
在这里插入图片描述

二、入门

Elasticsearch是面向文档型数据库,一条数据在这里是一个文档
在ES里的index可以看作是一个库,而Types相当于表,Documents则相当于表的行
这里的Types的概念已经被主键弱化,在ElasticSearch6.X中的一个index下已经只能包含一个type,Elasticsearch7.X中Type的概念已经被删除了
在这里插入图片描述

2.1 索引

2.1.1 倒排索引

倒排索引的查询效率是比较快的,并且没有体现表的概念
我们之前是通过id关联内容
但是现在我们引入了关键字,关键字会关联id,id再关联内容
在这里插入图片描述

2.1.2 创建索引

创建索引,就是类似在Mysql中创建一个数据库

启动ES服务
发送PUT请求 http://127.0.0.1:9200/shopping

shopping:表示的就是索引的名称
在这里插入图片描述

2.1.3 查询索引

获取某个索引
在这里插入图片描述
获取全部索引
在这里插入图片描述

2.1.4 删除索引

在这里插入图片描述

2.2 文档

2.2.1 创建文档

索引我们已经创建好了,我们下面会创建文档并添加数据
这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式

返回值中“_id”就是我们唯一性标识

在这里插入图片描述
我们可以自定义id
在这里插入图片描述

2.2.2 查询文档

查询单个信息
在这里插入图片描述
查询全部的信息
在这里插入图片描述

2.2.3 全量修改

全量更新使用的不多
在这里插入图片描述

2.2.4 局部修改

更新不是幂等性的
在这里插入图片描述

2.2.5 删除文档

在这里插入图片描述

2.2.6 条件查询

在这里插入图片描述
但是我们一般使用请求体查询
如下所示
在这里插入图片描述

2.2.7 分页查询

在这里插入图片描述
可以指定某个字段显示
在这里插入图片描述
也可以再进行排序

在这里插入图片描述

2.2.8 全文检索

这个地方我们搜索的是“小华”,但是在全文检索的时候,被分成了“小”和“华”
在这里插入图片描述

2.2.9 完全匹配

这个时候就是精准的匹配
在这里插入图片描述
在这里插入图片描述

2.2.10 高亮查询

在这里插入图片描述

2.2.11 多条件查询

我们也可以进行多条件查询,这个地方有点复杂
”must“表示多条件要同时成立,多一个条件,再must数组中添加一个参数即可
在这里插入图片描述

{"query": {"bool": {"must": [{"match": {"category": "小米"}},{"match": {"price": 1999.00}}]}}
}

也可以对价格进行范围查询

{"query":{"bool":{"must":[{"match":{"category":"小米"}}],"filter":{"range":{"price":{"gt":5000}}}}}
}

2.2.12 聚合查询

在这里插入图片描述

2.3 映射关系

首先我们先创建一个索引user
在这里插入图片描述
下面我们创建一些规则
在这里插入图片描述
然后我们再get一下
在这里插入图片描述
下面再创建一个文档
在这里插入图片描述
查询的时候我们发现搜“男”是搜不到的,因为sex是全量查询的
在这里插入图片描述
对于这个地方我们只能搜“男的”
在这里插入图片描述

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

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

相关文章

通过扣子平台将数据写入飞书多维表格

目录 1.1 创建飞书开放平台应用 1.2 创建飞书多维表格 1.3 创建扣子平台插件 1.1 创建飞书开放平台应用 1.1.1 打开地址:飞书开放平台,点击创建应用 注:商店应用需要申请ISV资质,填写企业主体信息,个人的话&#x…

MYSQL数据库语法补充

一,DQL基础查询 DQL(Data Query Language)数据查询语言,可以单表查询,也可以多表查询 语法: select 查询结果 from 表名 where 条件; 特点: 查询结果可以是:表中的字段…

Redis到底能不能做主数据库?

张三拍案而起:“Redis 是缓存数据库,怎么能当主数据库用?简直是天方夜谭!” 李四冷笑回应:“你没用过,凭什么说不行?我已经用 Redis 做主数据库好几年了,系统稳定得像铁板一块&…

flutter 项目结构目录以及pubspec.ymal等文件描述

在Flutter项目中,目录结构和pubspec.yaml文件是非常重要的组成部分,它们定义了项目的结构、依赖管理以及如何构建和运行项目。下面我将详细解释这些关键元素: 1. Flutter项目目录结构 Flutter项目的标准目录结构通常如下所示: …

CentOS 环境下 MySQL 数据库全部备份的操作指南

最近阿里云个人服务到期,因为是很久之前买的测试机器,配置较低,上面运行的有技术博客 和以往的测试项目,所以准备放弃掉。 需要备份下上面的表结构和数据、以及代码仓库。 下面是一个完整的 CentOS 环境下 MySQL 数据库全部备份…

ecplise 工具 没有Java EE Tools 选项

Java EE Tools 是将项目转换为web项目的重要的快捷键,如果进行web开发 那是不可或缺的 该工具是一个插件,可以作为插件安装到ecplise上 安装步骤如下: 找到help-->install new software 在弹出的页面中 work with中输入:Jun…

544 eff.c 1761 优化设计文档

1:性能分析 1.1性能对比 oneapi 与hygonGcc性能对比发现,544课题中的eff.c 1761循环处,oneapi 进行了循环向量化, gcc使用标量,循环源码前加 #pragma clang loop vectorize(disable) 找出oneapi在该循环处关闭和开启loop vect 的性能差距&a…

LeetCode.3396.使数组元素互不相同所需的最少操作次数

3396. 使数组元素互不相同所需的最少操作次数 给你一个整数数组 nums,你需要确保数组中的元素 互不相同 。为此,你可以执行以下操作任意次: 从数组的开头移除 3 个元素。如果数组中元素少于 3 个,则移除所有剩余元素。 注意&…

【已完结STM32】--自学江协科技笔记汇总

以下学习笔记代码均来自b站江协科技视频 笔记汇总完结 文章笔记对应江科大视频新建工程【2-2】新建工程江科大STM32-GPIO输出 点亮LED,LED闪烁,LED流水灯,蜂鸣器(学习笔记)_unit32-t rcc-apb2periph-CSDN博客 【3-1】…

QML Loader:加载组件与状态监控

目录 引言相关阅读工程结构示例一:从文件加载组件 (LoaderFile.qml)代码实现被加载的组件:MyComponent.qml代码解析运行效果 示例二:直接加载Component对象 (LoaderComponent.qml)代码实现代码解析运行效果 示例三:监控加载状态 (…

K8S核心技术点

Pod,Service和Deployment的关系 Pod:Kubernetes 中最小的部署单元,用于运行容器化应用。 Service:提供服务发现和负载均衡,为 Pod 提供稳定的网络端点,ClusterIP,NodePort,LoadBala…

Spring 核心注解深度解析:@Autowired、@Repository 与它们的协作关系

引言 在 Spring 框架中,​依赖注入(DI)​​ 是实现松耦合架构的核心机制。Autowired 和 Repository 作为两个高频使用的注解,分别承担着 ​依赖装配​ 和 ​数据访问层标识​ 的关键职责。本文将深入探讨它们的功能特性、协作模式…

[Linux]从零开始的ARM Linux交叉编译与.so文件链接教程

一、前言 最近在项目需要将C版本的opencv集成到原本的代码中从而进行一些简单的图像处理。但是在这其中遇到了一些问题,首先就是原本的opencv我们需要在x86的架构上进行编译然后将其集成到我们的项目中,这里我们到底应该将opencv编译为x86架构的还是编译…

svelte+vite+ts+melt-ui从0到1完整框架搭建

框架太“重”了:通常一个小型项目只由少数几个简单页面构成,如果使用 Vue 或者 React 这些框架来研发的话,有点“大材小用”了。构建的产物中包含了不少框架运行时代码(虚拟 DOM、响应式、状态管理等),这些代码对于小型项目而言是…

无法看到新安装的 JDK 17

在 Linux 系统中使用 update-alternatives --config java 无法看到新安装的 JDK 17,可能是由于 JDK 未正确注册到系统备选列表中。 一、原因分析 JDK 未注册到 update-alternatives update-alternatives 工具需要手动注册 JDK 路径后才能识别新版本。如果仅安装 JDK…

鼎讯信通 便携式雷达信号干扰模拟器:打造实战化电磁环境的新利器

在现代战争中,电磁环境的复杂性直接影响着雷达装备的性能和作战效果。面对敌方日益精进的电子战手段,如何提升雷达设备的抗干扰能力,确保其在实战环境中的稳定性和可靠性,已成为各国军队和科研机构的重要课题。 为此,…

【AI提示词】决策专家

提示说明 决策专家可以帮助你进行科学决策,尽可能避免错误,提升决策成功的概率。 提示词 # Role : 决策专家决策,是面对不容易判断优劣的几个选项,做出正确的选择。说白了,决策就是拿个主意。决策专家是基于科学决策…

力扣Hot100题,刷题

力扣HOT100 - 1. 两数之和 解题思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[]…

uni-app ucharts自定义换行tooltips

实现效果&#xff1a; 第一步&#xff1a;在uni_modules文件夹下找到config-ucharts.js和u-charts.js文件 第二步&#xff1a;在config-ucharts.js文件中配置换行格式 // 换行格式"wrapTooltip":function(item, category, index, opts){return item.name&#xff1a;…

国标GB28181视频平台EasyCVR顺应智慧农业自动化趋势,打造大棚实时视频监控防线

一、方案背景 近年来&#xff0c;温室大棚种植技术凭借其显著的优势&#xff0c;在提升农作物产量和质量、丰富农产品供应方面发挥了重要的作用&#xff0c;极大改善了人们的生活水平&#xff0c;得到了广泛的推广和应用。大棚内的温度、湿度、光照度和二氧化碳浓度等环境因素…