DSL操作ElasticSearch基础命令

news2024/9/23 9:25:05

文章目录

  • 一、DSL操作ES-RESTful风格
  • 二、DSL操作索引库
    • 2.1 PUT 添加索引
    • 2.2 GET 查询索引
    • 2.3 DELETE 删除索引
    • 2.4 POST 打开/关闭索引库
  • 三、DSL操作映射
    • 3.1 数据类型
      • 3.1.1 简单数据类型
      • 3.1.2 复杂数据类型
    • 3.2 创建索引库并设置映射
      • 3.2.1 语法格式
      • 3.2.2 举例
    • 3.3 查询索引库映射
      • 3.3.1 语法格式
      • 3.3.2 举例
    • 3.4 增加映射字段
      • 3.4.1 语法格式
      • 3.4.2 举例
  • 四、DSL操作文档
    • 4.1 添加文档
      • 4.1.1 指定id
        • 4.1.1.1 语法格式
        • 4.1.1.2 举例
      • 4.1.2 不指定id
        • 4.1.2.1 语法格式
        • 4.1.2.2 举例
    • 4.2 查询文档
      • 4.2.1 查询单个
      • 4.2.2 查询全部
    • 4.3 修改文档
      • 4.3.1 语法格式
      • 4.3.2 举例
    • 4.4 删除文档
      • 4.4.1 语法格式
      • 4.4.2 举例
  • 五、Kibana客户端提示#! 解决
    • 5.1 问题
    • 5.2 解决方案


一、DSL操作ES-RESTful风格

在这里插入图片描述

二、DSL操作索引库

# 新增索引库语法
PUT 索引库名

# 查询索引库
GET 索引库名

# 删除索引库
DELETE 索引库名

# 关闭索引库(注意:关闭索引库不能更改数据)
POST 索引库名/_close

# 开放索引库
POST 索引库名/_open

2.1 PUT 添加索引

PUT goods_index

在这里插入图片描述

2.2 GET 查询索引

GET goods_index

在这里插入图片描述

2.3 DELETE 删除索引

DELETE goods_index

在这里插入图片描述

2.4 POST 打开/关闭索引库

关闭索引
POST goods_index/_close

在这里插入图片描述

打开索引库
POST goods_index/_open

在这里插入图片描述

三、DSL操作映射

3.1 数据类型

3.1.1 简单数据类型

1.字符串-text:可以分词,不支持聚合(统计)

分词的数据,内容较为复杂,统计没有意义

2.字符串-keyword:不会分词,将全部内容作为一个词条,支持聚合(统计)

例如:有个文档(相当于数据库一条数据),其中一个字段的值是华为手机
text: 华为、手机
keyword: 华为手机

3.数值
在这里插入图片描述
4.布尔(boolean)

5.二进制(binary)

6.范围类型(integer_range, float_range, long_range, double_range, date_range)

7.日期(date)

3.1.2 复杂数据类型

1.数组 []:没有专用的array数据类型,任何一个字段的值,都可以被添加0个到多个,但要求他们的类型必须一致,当类型一直含有多个值存储到ES中会自动转化成数组类型 [“eric”,“jack”] List Set

2.对象 {} Map User {key:value,key:value}

3.GEO: geo_point 地理位置坐标值

小结:
1.text:适用于分词的场景
2.keyword:适用于结构化精确的查询
3.数字:适合范围查询
4.boolean:适合true或false
5.geo_point:地理位置坐标值

3.2 创建索引库并设置映射

3.2.1 语法格式

# 创建索引库并设置映射语法
PUT person
{
 "mappings": {
   "properties": {
     "属性名":{
       "type": "数据类型"
     },
	 ...
   }
 }
}

3.2.2 举例

#创建索引库并且设置映射(创建person索引库,映射两个字段name、age)
PUT person
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "integer"
      }
    }
  }
}

在这里插入图片描述

3.3 查询索引库映射

3.3.1 语法格式

# 查询索引库映射语法
GET 索引库名/_mapping

3.3.2 举例

# 查询索引库映射
GET person/_mapping

在这里插入图片描述

3.4 增加映射字段

3.4.1 语法格式

# 增加映射字段语法
PUT 索引库名/_mapping
{
  "properties": {
     "新增属性名":{
       "type": "数据类型"
     }
   }
}

3.4.2 举例

#增加映射字段
PUT person/_mapping
{
  "properties":{
    "sex":{
      "type":"keyword"
    }
  }
}

注意:一旦涉及到ES的映射的字段修改或删除,都必须重建索引库

在这里插入图片描述
注意:ES不能单独修改映射字段名称或类型,不能单独删除某个字段,如果需要修改,直接删除整个索引库再重建

四、DSL操作文档

4.1 添加文档

4.1.1 指定id

4.1.1.1 语法格式

# 添加文档,指定id   
POST 索引库名/_doc/指定id
{
  "属性名":属性值,
  ...
}

4.1.1.2 举例

POST person/_doc/1
{
  "name":"张三",
  "age":18,
  "sex":"男"
}

在这里插入图片描述

4.1.2 不指定id

4.1.2.1 语法格式

# 添加文档,不指定id   
POST 索引库名/_doc
{
  "属性名":属性值,
  ...
}

4.1.2.2 举例

POST person/_doc
{
  "name":"翠花",
  "age":20,
  "sex":"女"
}

在这里插入图片描述

4.2 查询文档

4.2.1 查询单个

GET person/_doc/1   

在这里插入图片描述

GET person/_doc/JHOaYoUBDyHDigT_2Vu8 

在这里插入图片描述

4.2.2 查询全部

GET person/_search

在这里插入图片描述

4.3 修改文档

4.3.1 语法格式

# 修改一条文档数据
PUT 索引库名/_doc/指定id
{
  "属性名":属性值,
  ...
}

4.3.2 举例

PUT person/_doc/1
{
  "name":"如花",
  "age":20,
  "sex":"女"
}

在这里插入图片描述

再次查看
GET person/_doc/1    

在这里插入图片描述

4.4 删除文档

4.4.1 语法格式

# 删除一条文档数据
DELETE 索引库名/_doc/指定id

4.4.2 举例

DELETE person/_doc/1

在这里插入图片描述

五、Kibana客户端提示#! 解决

5.1 问题

Kibana提示#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. Seehttps://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security.
在这里插入图片描述

5.2 解决方案

在es的安装路径下的config目录下elasticsearch.yml文件去 配置禁用安全选项xpack.security.enabled,之后重启Elasticsearch和kibana
在这里插入图片描述

network.host: 127.0.0.1
xpack.security.enabled: false

在这里插入图片描述
重启ES
在这里插入图片描述

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

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

相关文章

python中的类型注解

目录 一.类型注解 变量的类型注解 类型注解的语法 类型注解主要功能在于: 函数方法的类型注解 函数(方法)形参进行类型注解 函数(方法)返回值进行类型注解 小结 Union类型 小结 一.类型注解 变量的类型注解 思考 为什么…

Android美团多渠道打包Walle集成

一、为什么使用美团多渠道打包的方式? 打包更加快速 传统的通过productFlavors渠道包的方式,渠道10个以内还可以接受,如果100个渠道包,每个包需要打5Min,就是将近10个小时的打包,而采用美团Walle多渠道打包的方式只需…

PyTorch 2.0 推理速度测试:与 TensorRT 、ONNX Runtime 进行对比

PyTorch 2.0 于 2022 年 12 月上旬在 NeurIPS 2022 上发布,它新增的 torch.compile 组件引起了广泛关注,因为该组件声称比 PyTorch 的先前版本带来更大的计算速度提升。 这对我们来说是一个好消息,训练时间改进的结果令人印象深刻。PyTorch 团…

JavaScript 入门基础 - 流程控制(四)

JavaScript 流程控制 - 分支和循环 文章目录JavaScript 流程控制 - 分支和循环1. 什么是流程控制2. 顺序流程控制3. 分支流程控制 之 if语句3.1 什么是分支结构3.2 if 语句3.2.1 if 语句基本理解3.2.2 if 语句执行流程3.2.3 if 语句案例3.3 if else语句(双分支语句&…

Threejs实现鼠标点击人物行走/镜头跟随人物移动/鼠标点击动画/游戏第三人称/行走动作

1,功能介绍 Threejs获取鼠标点击位置、实现鼠标点击人物行走、人物头顶显示名称标签、镜头跟随人物移动并且镜头围绕人物旋转,类似游戏中第三人称、鼠标点击位置有动画效果,如下效果图 2,功能实现 获取鼠标点击位置,…

【Linux】进程间通信 - 匿名/命名管道与System V共享内存

目录 前言 一.管道 0.什么是管道 1).管道的概念 2).管道的本质 3).管道指令: "|" 1.匿名管道 1).如何创建匿名管道 2).如何使用匿名管道进行通信 3).匿名管道的特点总结 2.命名管道 0).指令级的命名管道的通信 1).如何在编程时创建命名管道 2).如何在…

你好2023-使用msys64 openssl 制作QSslSocket实验所需证书

2023年开始了,第一篇,记录最近帮朋友制作QSslSocket所需证书的过程。 使用传统的TCP连接依旧是很多工业软件的常见通信方法。但如果恰好不希望别人通过抓包等方法研究上位机和控制器模块之间的协议格式,那使用SSL连接是一种掩耳盗铃的好办法&…

Pyinstaller - 你的“神”队友

哈哈!今天是我在2023年发布的第一篇文章呀! 这两天,我在做一个爬虫项目。因为我做好后准备给我的朋友看看,但我朋友没有 Python 环境。所以,只好想办法把 .py 打包成 .exe 。 在网上搜了一下,发现目前相对…

设计模式 ——工厂模式

前言 有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文: 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这就不需要多说了吧。 职责单一原则。每个类都应该只有一个单一的功…

第三十一讲:神州路由器策略路由的配置

从局域网去往广域网的流量有时需要进行分流,即区别了不同用户又进行了负载分担,有时这种目标是通过对不同的源地址进行区别对待完成的,通过策略路由的方法可以解决此问题。 实验拓扑图如下所示 R1 R2 R3 F0/0 1.1.3.1/24 F0/0 1.1.3.2…

【AcWing每日一题】4261. 孤独的照片

Farmer John 最近购入了 N 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。 奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。 然而&#xff0c…

java多线程(11):线程协作

1 线程通信 应用场景 : 生产者和消费者问题 假设仓库中只能存放一件产品 , 生产者将生产出来的产品放入仓库 , 消费者将仓库中产品取走消费 如果仓库中没有产品 , 则生产者将产品放入仓库 , 否则停止生产并等待 , 直到仓库中的产品被消费者取走为止 如果仓库中放有产品 ,…

Chrome Extension 基础篇

Extensions are software programs, built on web technologies (such as HTML, CSS, and JavaScript) that enable users to customize the Chrome browsing experience. 扩展程序是基于 Web 技术(例如 HTML、CSS 和 JavaScript)构建的软件程序&#xf…

C语言递归

递归指的是在函数的定义中使用函数自身的方法。 举个例子: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚…

redis的安装

1.Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖: yum install -y gcc tcl2.上传安装包并解压 tar -xzf redis-6.2.6.tar.gz3.解压后,进入redis目录 cd redis-6.2.64.运行编译命令 make && make install如果没有…

3_运行时数据区概述及线程

前言 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时…

56. 数据增广 / 图像增广

1. CES上的真实故事 2. 数据增强 增加一个已有数据集,使得有更多的多样性 在语言里加入各种不同的背景噪音改变图片的颜色和形状 例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现在不同的位置,减少模型对于对象出现位置…

Linux系统如何添加磁盘分区基本情况

Linux系统如何添加磁盘&&分区基本情况 原理介绍 Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。 Linux采用了一种…

JavaScript-DOM和BOM详解

文章目录DOM 和 BOM1. DOM2. BOM2.1 BOM 简介2.2 分类2.3 语法1) Navigator 当前浏览器2)Histry 向前或向后翻页3)Location 地址栏的信息DOM 和 BOM 1. DOM 浏览器已经为我们提供了文档节点的对象,这个对象是 window 对象的属性可以在页面中…

Netconf协议讲解

目录 什么是Netconf 为什么要提出Netconf 数据的类别 传统网络配置协议 Netconf配置协议 Netconf协议架构 安全传输层 消息层 操作层 内容层 Netconf配置设备流程 通过Python进行Netconf配置 什么是Netconf NETCONF(Network Configuration Protocol&…