elasticsearch学习(五)文档CRUD

目录

上一篇文章

elasticsearch学习(四)kibana安装

https://blog.csdn.net/github_36801273/article/details/151076329?spm=1011.2124.3001.6209

文档CRUD

创建索引

复制代码
PUT /my-index
{
    "mappings": {
        "properties": {
                "testFieldA": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                },
                "testFieldB": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                }
            }
    }
}

mapping的部分不是必须的,可以通过先创建索引,然后写入数据的方式自动生成mapping

查看索引字段mapping

复制代码
GET /my-index/_mapping

{
  "my-index": {
    "mappings": {
      "properties": {
        "testFieldA": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "testFieldB": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        }
      }
    }
  }
}

更新mapping

复制代码
POST  /my-index/_mapping
{
    "properties": {
        "testFieldC": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "testFieldB": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 512
                }
            }
        }
    }
}

只能新增和更新字段,不能删除字段,删除字段用reindex

删除索引

复制代码
DELETE /my-index

测试索引是否存在

复制代码
HEAD /my-index

查看索引字段结构

复制代码
GET /my-index/_mapping

删除索引

复制代码
DELETE /my-index

文档命令

创建文档

Index

如果ID不存在,则创建新的,否则删除旧的再创建新的,增加版本号

复制代码
POST /my-index/_doc
{
    "id": "park_rocky-mountain",
    "title": "Rocky Mountain",
    "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}

Create

复制代码
// 不指定ID(系统自动生成)
POST /my-index/_doc
{
    "testFieldA":"testA1",
    "testFieldB":"testB1"
}

// 指定ID
POST /my-index/_doc/2
{
    "testFieldA":"testA2",
    "testFieldB":"testB2"
}
Create与Index的区别

create的文档ID如果已存在,会报失败

index的文档ID不存在,会新建,否则会把原来的删除了再增加

更新文档

复制代码
POST /my-index/_update/2
{
    "doc":{
        "testFieldA":"updateTestA2"
    } 
}

删除文档

复制代码
DELETE /my-index/_doc/2

查询文档

支持两种方式:

1 url查询,在url路径中使用查询参数

2 用DSL(Query Domain Specific Language)

简单查询语法

api 作用
/_search 查询集群上所有索引
/{index_name}/_search 查询指定索引
/{index_name1},{index_name2},{...}/_search 查询多个指定索引
/{index_prex}*/_search 查询以{index_prex}为开头的索引
复制代码
// 指定ID查询
GET /my-index/_doc/2

// 查询全量数据
GET /my-index/_search

// 查询my开头的索引数据
GET /my*/_search

// URL查询
GET /my-index/_search?q=testFieldA:updateTestA2

// DSL查询
GET /my-index/_search -H 'Content-Type:application/json' -d
{
    "query":{
        "match":{"testFieldA":"updateTestA2"}
    }
}
相关推荐
阿里云大数据AI技术1 小时前
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
人工智能·elasticsearch·agent
阿里云大数据AI技术1 小时前
FalconSeek 技术解析:阿里云 Elasticsearch 云原生内核如何让查询性能飙升600%
人工智能·elasticsearch
你想知道什么?2 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御2 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
Elastic 中国社区官方博客2 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
Elasticsearch3 小时前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
elasticsearch
minglie14 小时前
zynq中linux系统的自动登录和免密登录
学习
Elastic 中国社区官方博客5 小时前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
茯苓gao5 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习