当前位置: 首页 > article >正文

Elasticsearch—索引库操作(增删查改)

ElasticsearchIndex就相当于MySQL中的数据库表

Mapping映射就类似表的结构。

因此我们想要向Elasticsearch中存储数据,必须先创建IndexMapping

1. Mapping映射属性

Mapping是对索引库中文档的约束,常见的Mapping属性包括:

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

    • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)

    • 数值:longintegershortbytedoublefloat

    • 布尔:boolean

    • 日期:date

    • 对象:object

  • index:是否创建索引,默认为true

  • analyzer:使用哪种分词器

  • properties:该字段的子字段


2.  索引库操作

访问 http://192.168.218.15:5601/ (自己虚拟机IP地址加5601端口)登录Elastic控制台,点击Dev tools,记得先启动kibana和es容器


2.1 创建索引库和映射

2.1.1 基本语法

  • 请求方式:PUT

  • 请求路径:/索引库名,可以自定义

  • 请求参数:Mapping映射

格式:

JSON格式

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

示例:

 PUT /duolai
{
  "mappings": {
    "properties": {
      "address":{
        "type": "text",
        "analyzer": "ik_smart"
      },
      "phone":{
        "type": "keyword",
        "index": "false"
      },
      "user":{
        "properties": {
          "lastName": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

2.1.2  测试: 


2.2 查询索引库

2.2.1 基本语法

  • 请求方式:GET

  • 请求路径:/索引库名

  • 请求参数:无

格式

GET /索引库名

2.2.2 测试


2.3  删除索引库

 2.3.1 基本语法

  • 请求方式:DELETE

  • 请求路径:/索引库名

  • 请求参数:无

格式:

DELETE /索引库名

2.3.2 测试


2.4 修改索引库

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

简单来说就是不能修改已有的字段,但可以添加新的字段

2.4.1 基本语法

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

示例:

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

2.4.2 测试 

查询一下索引库,看看字段是否添加

3. 总结

索引库操作有哪些?

  • 创建索引库:PUT /索引库名

  • 查询索引库:GET /索引库名

  • 删除索引库:DELETE /索引库名

  • 修改索引库,添加字段:PUT /索引库名/_mapping


http://www.kler.cn/a/488480.html

相关文章:

  • LTE( 4G) 网络通讯建立(信令)流程
  • 快速实现一个快递物流管理系统:实时更新与状态追踪
  • C++的标准和C++的编译版本
  • VSCode 在Windows下开发时使用Cmake Tools时输出Log乱码以及CPP文件乱码的终极解决方案
  • 在 macOS 中,设置自动将文件夹排在最前
  • Rust 中调用 Drop 的时机
  • word论文排版常见问题汇总
  • 【JAVA】时间戳和日期时间互转
  • 使用 Spring Boot 实现钉钉消息发送消息
  • computer与watch坚挺的区别与使用
  • Java 工厂模式、工厂方法模式、抽象工厂模式
  • IIS部署.NetCore/.Net8/.Net9项目(从装环境到配置Swagger)
  • 算法面试1
  • HTML5 渐变动画(Gradient Animation)
  • 给定差值的组合
  • day03-前端Web-Vue3.0基础
  • 面向对象分析与设计Python版 面向对象分析方法
  • 机器学习:一元线性回归
  • Python基于jieba和wordcloud绘制词云图
  • gateway在eureka注册报java.lang.IndexOutOfBoundsException
  • Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求
  • 基于Spring Boot的宠物健康顾问系统的设计与实现(LW+源码+讲解)
  • 国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档
  • Docker Desktop的使用方法
  • 什么是Transformer模型中的KV缓存:上下文新增那之前计算的KV还可用,在原有基础上对新增的进行计算就行
  • opencv 学习(3)