1.ElasticSearch-入门基础操作

news2025/4/18 7:31:59

一、介绍

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.coloradmin.cn/o/2331405.html

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

相关文章

uniapp加载json动画

一、添加canvas画布 <canvas id"lottie_demo" type"2d" style"display: inline-block;width: 148rpx; height: 148rpx;" /> 二、引入依赖和JSON文件 安装依赖 npm install lottie-miniprogram --save import lottie from lottie-mini…

图论:最小生成树

最小生成树 &#xff08;无向无环图&#xff09; 概念 1.Prim算法 P3366 【模板】最小生成树 - 洛谷 邻接矩阵实现 #include<iostream> #include<cstring> using namespace std; const int INF 0x3f3f3f3f; const int N 5e3 10; int dis[N]; //记录每个结点到…

rqlite:一个基于SQLite构建的分布式数据库

今天给大家介绍一个基于 SQLite 构建的轻量级分布式关系型数据库&#xff1a;rqlite。 rqlite 基于 Raft 协议&#xff0c;结合了 SQLite 的简洁性以及高可用分布式系统的稳健性&#xff0c;对开发者友好&#xff0c;操作极其简便&#xff0c;其核心设计理念是以最低的复杂度实…

Dynamics 365 Business Central Recurring Sales Lines 经常购买销售行 来作 订阅

#D365 BC ERP# #Navision# 前面有节文章专门介绍了BC 2024 Wave 2 支持的更好的Substription & Recurring Billing。 其实在D365 BC ERP中一直有一个比较简单的订阅模块Recrring Sales Lines。本文将介绍一下如何用Recurring Sales Lines来 实施简易的订阅Substription。具…

探索生成式AI在游戏开发中的应用——3D角色生成式 AI 实现

概述 自从开创性论文 Denoising Diffusion Probabilistic Models 发布以来&#xff0c;此类图像生成器一直在改进&#xff0c;生成的图像质量在多个指标上都击败了 GAN&#xff0c;并且与真实图像无法区分。 NeRF: Representing Scenes as Neural Radiance Fields for View S…

K8s 老鸟的配置管理避雷手册

Yining, China 引言 对于这种案例&#xff0c;你们的处理思路是怎么样的呢&#xff0c;是否真正的处理过&#xff0c;如果遇到&#xff0c;你们应该怎么处理。 最后有相关的学习群&#xff0c;有兴趣可以加入。 开始 一、血泪教训&#xff1a;环境变量引发的真实灾难 1.1 …

3-Visual Studio 2022打包NET开发项目为安装包

引言 本文将上一期博文>>>门店管理系统开发<<<开发的项目打包为Windows安装包 一&#xff0c;安装扩展 安装此扩展&#xff1a;installer Projects 二&#xff0c;创建安装程序项目 创建项目 右键解决方案-添加-新建项目 选择setup Project项目 填写项目名…

国内外网络安全政策动态(2025年3月)

▶︎ 1.《关于进一步加强智能网联汽车产品准入、召回及软件在线升级管理的通知》发布 3月1日&#xff0c;工业和信息化部、市场监管总局联合发布《关于进一步加强智能网联汽车产品准入、召回及软件在线升级管理的通知》&#xff08;以下简称《通知》&#xff09;。 该通知旨在…

已知Word内容格式固定,通过宏实现Word转Excel

文章目录 需求描述一、宏是什么&#xff1f;二、使用步骤1.启用开发工具2.VBA基础知识3.单个Word文件转为Excel4.批量将Word文件转为Excel文件 总结 需求描述 现在有多个Word文档&#xff0c;Word文档格式固定&#xff0c;假如Word内容分为单选题和多选题&#xff0c;每个题目…

SpringDoc【使用详解】

SpringDoc使用详解 一、何为SpringDoc二、概念解释三、SpringDoc使用2.1简单集成2.2 配置SpringDoc2.2.1 yml方式配置2.2.2配置文档信息 2.3配置文档分组2.4使用注解2.4.1 Tag2.4.2 Operation2.4.3 Schema2.4.4 NotNull2.4.5 Parameter2.4.6 Parameters2.4.7 ApiResponses 和Ap…

Redis持久化 | RDB AOF | 常见问题

目录 RDB&#xff08;Redis DataBase&#xff09; 给什么内存数据做快照——&#xff08;全量&#xff09; 触发机制 RDB文件生成的时候会阻塞主线程吗&#xff1f; 关闭持久化命令 bgsave执行流程 RDB文件怎么配置&#xff1f;有哪些优缺点 优点&#xff1a; 缺点&am…

React 列表渲染

开发环境&#xff1a;Reacttsantd 你可能经常需要通过 JavaScript 的数组方法 来操作数组中的数据&#xff0c;从而将一个数据集渲染成多个相似的组件。在这篇文章中&#xff0c;你将学会如何在 React 中使用 filter() 筛选需要渲染的组件和使用 map() 把数组转换成组件数组。 …

[ctfshow web入门] web25

信息收集 要想拿到flag&#xff0c;需要突破两层if。 解题 第一个if 传入r0&#xff0c;拿到mt_rand的值&#xff0c;由于每一次访问都会重新设置种子&#xff0c;所以每一次访问都是一样的随机数。 所以我们的r mt_rand-显示的值 1799250188 r1799250188就可以突破第一…

【数据结构】树的介绍

目录 一、树1.1什么是树&#xff1f;1.2 树的概念与结构1.3树的相关术语1.4 树形结构实际运用场景 二、二叉树2.1 概念与结构2.2 特殊的二叉树2.2.1 满二叉树2.2.2 完全二叉树 个人主页&#xff0c;点击这里~ 数据结构专栏&#xff0c;点击这里~ 一、树 1.1什么是树&#xff1…

Android源码之App启动

目录 App启动概述 App启动过程 App启动过程图 源码概述 跨进程启动 进程内启动 下面以应用桌面Launcher启动App的MainActivity来举例&#xff1a; App启动概述 首先&#xff0c;MainActivity是由Launcher组件来启动的&#xff0c;而Launcher又是通过Activity管理服务Act…

【GESP】C++二级练习 luogu-B3721 [语言月赛202303] Stone Gambling S

GESP二级练习&#xff0c;多层循环分支练习&#xff0c;难度★✮☆☆☆。 题目题解详见&#xff1a;https://www.coderli.com/gesp-2-luogu-b3721/ 【GESP】C二级练习 luogu-B3721 [语言月赛202303] Stone Gambling S | OneCoderGESP二级练习&#xff0c;多层循环分支练习&am…

2. Qt界面文件原理

本节主要介绍ui文件如何与窗口关联&#xff0c;并通过隐式连接方式显示对话框 本文部分ppt、视频截图原链接&#xff1a;[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1 UI文件如何与窗口关联 1.1 mainwindow.cpp的头文件ui_mainwindow.h 根据编译原理的基本规…

Elastic 的 OpenTelemetry 分发版(EDOT)现已正式发布:开源、可用于生产环境的 OTel

作者&#xff1a;来自 Elastic Miguel Luna 及 Bahubali Shetti Elastic 自豪地宣布正式发布 Elastic OpenTelemetry 分发版&#xff08;Elastic Distributions of OpenTelemetry - EDOT&#xff09;&#xff0c;其中包含 Elastic 自定义版本的 OpenTelemetry Collector 以及多…

docker部署jenkins并成功自动化部署微服务

一、环境版本清单&#xff1a; docker 26.1.4JDK 17.0.28Mysql 8.0.27Redis 6.0.5nacos 2.5.1maven 3.8.8jenkins 2.492.2 二、服务架构&#xff1a;有gateway&#xff0c;archives&#xff0c;system这三个服务 三、部署步骤 四、安装linux 五、在linux上安装redis&#…