es-DSL语句基础操作(Elasticseach)

简介: es-DSL语句基础操作(Elasticseach)

 目录

索引库操作

索引库属性解释

DSL创建索引库

DSL修改索引库

DSL查看索引库

DSL删除索引库

文档操作

DSL新增文档

DSL查看文档

DSL删除文档

DSL修改文档


索引库操作

索引库属性解释

mappings:是对索引库中文档的约束;常见属性如下:

  • type:数据类型
  • index:是否索引
  • analyzer:分词器
  • properties:子字段

type: 字段数据类型,常见的类型有:

  • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
  • 数值:long、integer、short、byte、double、float
  • 布尔:boolean
  • 日期:date
  • 对象:object

index:是否创建索引,默认为true(需要根据某个字段查询,默认为true;不需要查询当前字段设置为false)

analyzer:使用哪种分词器(只有text值需要分词,其他基本不需要要)

properties:该字段的子字段

DSL创建索引库

ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。

语法

PUT /索引库名称
{
  "mappings": {
    "properties": {
      "字段名1": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "字段名2": {
        "type": "keyword",
        "index": "false"
      },
      "字段名3": {
        "properties": {
          "子字段": {
            "type": "keyword"
          }
        }
      },
      // ...省略
    }
  }
}

image.gif

示例

PUT /user
{
  "mappings": {
    "properties":{
      "info": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "name": {
        "type": "keyword",
      },
      "email": {
        "type": "keyword",
        "index": false
      },
      "address": {
        "type": "object",
        "properties": {
          "province": {
            "type": "keyword"
          },
          "city": {
            "type": "keyword"
          },
          "district": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

image.gif

DSL修改索引库

修改索引库和mapping一旦创建无法修改,但是可以添加新的字段。

语法

PUT /索引库名/_mapping
{
  "properties": {
    "新字段名": {
      "type": "integer"
    }
  }
}

image.gif

示例

PUT /user/_mapping
{
  "properties": {
    "age": {
      "type": "integer"
    }
  }
}

image.gif

DSL查看索引库

语法

GET /索引库名

image.gif

示例

GET /user

image.gif

DSL删除索引库

语法

DELETE /索引库名

image.gif

示例

DELETE /user

image.gif

文档操作

DSL新增文档

语法

POST /索引库名/_doc/文档id
{
  "字段1": "字段值1",
  "字段2": "字段值2",
  "字段3": {
    "子属性1": "值3",
    "子属性2": "值4"
  },
  // 省略
}

image.gif

示例

POST /user/_doc/1
{
  "info": "一个小可爱呀",
  "email": "xka@xiaokeai.cn",
  "addrees": {
    "province": "广东省",
    "city": "广州市",
    "district": "天河区"
  }
}

image.gif

DSL查看文档

语法

GET /索引库名/_doc/文档id

image.gif

示例

GET /user/_doc/1

image.gif

DSL删除文档

语法

DELETE /索引库名/_doc/文档id

image.gif

示例

DELETE /user/_doc/1

image.gif

DSL修改文档

方法一:全量修改,会删除旧文档,添加新文档(输入文档内所有的值)

语法

PUT /索引库名/_doc/文档id
{
  "字段1": "值1",
  "字段2": "值2",
  // ... 省略
}

image.gif

示例

PUT /user/_doc/1
{
  "info": "一个小小可爱呀",
  "email": "xxka@xiaokeai.cn",
  "addrees": {
    "province": "河南省",
    "city": "郑州",
    "district": "中原区"
  }
}

image.gif

方式二:增量修改,修改指定字段值

语法

POST /索引库名/_update/文档id
{
  "doc": {
    "字段名": "新的值",
    "字段名2": "新的值2",
    // ... 省略
  }
}

image.gif

示例

POST /user/_update/文档id
{
  "doc": {
    "email": "kljj@kailangjiaojiao.cn"
  }
}

image.gif


相关文章
|
安全 NoSQL 关系型数据库
使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
1168 0
使用cnpm搭建企业内部私有NPM仓库
|
1月前
Wireshark_win32_2.2.1.0安装步骤详解
下载Wireshark安装包并双击运行,按提示选择语言、同意协议,确保勾选WinPcap驱动。可自定义安装路径和快捷方式,安装完成后建议重启电脑。启动时以管理员身份运行,即可开始抓包分析网络流量。(239字)
|
Linux 数据库 iOS开发
CrossOver 25.1.0 for macOS & Linux - 领先的 Wine 解决方案
CrossOver 25.1.0 for macOS & Linux - 领先的 Wine 解决方案
544 0
|
10月前
|
存储 弹性计算 安全
阿里云服务器ECS通用型规格族解析:实例规格、性能基准与场景化应用指南
作为ECS产品矩阵中的核心序列,通用型规格族以均衡的计算、内存、网络和存储性能著称,覆盖从基础应用到高性能计算的广泛场景。通用型规格族属于独享型云服务器,实例采用固定CPU调度模式,实例的每个CPU绑定到一个物理CPU超线程,实例间无CPU资源争抢,实例计算性能稳定且有严格的SLA保证,在性能上会更加稳定,高负载情况下也不会出现资源争夺现象。本文将深度解析阿里云ECS通用型规格族的技术架构、实例规格特性、最新价格政策及典型应用场景,为云计算选型提供参考。
|
自然语言处理 索引
Elasticsearch之常用DSL语句
mapping是对索引库中文档的约束
414 1
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
5627 2
|
自然语言处理 Java Maven
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
这篇博客介绍了如何使用Spring Boot整合TransportClient搭建Elasticsearch服务,包括项目创建、Maven依赖、业务代码和测试示例。
715 0
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
|
存储 数据安全/隐私保护
贴片卡与插拔卡的优缺点
在讨论贴片卡(通常指的是嵌入在设备内部的存储卡,如SIM卡、eMMC等)与插拔卡(如SD卡、microSD卡等,用户可以轻松插入和拔出的存储卡)的优缺点时,我们可以从多个方面进行比较:
|
Dubbo Java 应用服务中间件
SpringBoot——SpringBoot集成Dubbo
SpringBoot——SpringBoot集成Dubbo
1715 0
SpringBoot——SpringBoot集成Dubbo
|
机器学习/深度学习 数据采集 人工智能
大模型时代如何快速开发AI应用?云上开发的优势与入门技巧
本文探讨了在大模型时代如何快速开发AI应用,包括选择合适的开发工具和框架、掌握常用的算法和模型、利用开源项目和社区资源以及注重数据预处理和特征工程等方面的技巧。此外,文章还介绍了云上AI开发的优势,包括高效的计算资源、便捷的协同办公、灵活的资源调度和安全可靠的数据存储和处理。最后,文章分享了一些快速入门AI开发的教程和技巧,帮助初学者更好地掌握AI开发的基础知识和实用技能。
819 1

热门文章

最新文章