Elasticsearch文档&索引库操作(二)
  19qMgiCiiRfc 2023年11月02日 54 0

一、索引库操作 

1.mapping映射属性

索引库类似数据库表,mapping映射就类似表的结构。我们要向es中存储数据必须先创建库和表。

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

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

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

数值:long、integer、short、byte、double、float

布尔:boolean

日期:date

对象:object

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

analyzer:使用哪种分词器,一般只有text类型需要使用

properties:指定字段的子字段


2.索引库的CRUD

新增索引库

基本语法:

  1. 请求方式:PUT
  2. 请求路径:/索引库名,可以自定义
  3. 请求参数:mapping映射

格式:

PUT /索引库名称
{
  "mappings": {
    "properties": {
      "字段名":{
        "type": "数据类型",
        "analyzer": "分词器"
      },
      "字段名2":{
        "type": "数据类型",
        "index": boolean值
      },
      "字段名3":{
        "properties": {
          "子字段": {
            "type": "数据类型"
          }
        }
      },
      // ...略
    }
  }
}

Elasticsearch文档&索引库操作(二)_文档

查询索引库

基本语法:

  1. 请求方式:GET
  2. 请求路径:/索引库名
  3. 请求参数:无

格式:

GET /索引库名

Elasticsearch文档&索引库操作(二)_文档_02

修改索引库

基本语法:

  1. 请求方式:PUT
  2. 请求路径:/索引库名/_mapping,可以自定义
  3. 请求参数:mapping映射

格式:

PUT /索引库名/_mapping
{
  "properties": {
    "新字段名":{
      "type": "数据类型"
    }
  }
}

Elasticsearch文档&索引库操作(二)_索引库_03

Elasticsearch文档&索引库操作(二)_文档_04

删除索引库

基本语法:

  1. 请求方式:DELETE
  2. 请求路径:/索引库名
  3. 请求参数:无

格式:

DELETE /索引库名

Elasticsearch文档&索引库操作(二)_索引库_05

二、文档操作

1.新增文档

基本语法:

  1. 请求方式:POST
  2. 请求路径:/索引库名/_doc/文档id
  3. 请求参数:json文档

格式:

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

示例代码:

Elasticsearch文档&索引库操作(二)_文档_06

2.查询文档

基本语法:

  1. 请求方式:GET
  2. 请求路径:/索引库名称/_doc/文档id
  3. 请求参数:无

格式:

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

Elasticsearch文档&索引库操作(二)_文档_07

3.删除文档

基本语法:

  1. 请求方式:DELETE
  2. 请求路径:/索引库名/_doc/文档id
  3. 请求参数:无

格式:

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

Elasticsearch文档&索引库操作(二)_索引库_08

4.修改文档

修改有两种方式:

  1. 全量修改:会删除旧文档,添加新文档
  2. 增量修改:指定修改文档中的部分字段

全量修改是覆盖原来的文档,其本质是:

  1. 根据指定的id删除文档
  2. 新增一个相同id的文档

全量修改基本语法

  1. 请求方式:PUT
  2. 请求路径:/索引库名/_doc/文档id
  3. 请求参数:json文档

格式:

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

Elasticsearch文档&索引库操作(二)_文档_09

增量修改

增量修改是只修改指定id匹配的文档中的部分字段。

基本语法:

  1. 请求方式:POST
  2. 请求路径:/索引库名/_update/文档id
  3. 请求参数:json文档

格式:

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

Elasticsearch文档&索引库操作(二)_索引库_10

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

19qMgiCiiRfc