5.ElasticSearch系列之文档的基本操作
1. 文档写入
# create document. 自动生成 _id
POST users/_doc
{
  "user" : "shenjian",
  "post_date" : "2022-08-07T14:12:12",
  "message" : "trying out Kibana"
}
# 创建指定ID文档,存在则替换
POST users/_doc/1
{
    "user" : "Domi",
    "post_date" : "2022-08-07T14:12:12",
    "message" : "trying out Elasticsearch"
}
2. 文档查询
# 查询id为1的文档
GET users/_doc/1
# 查询字段order_id值为584677的文档
GET kibana_sample_data_ecommerce/_search?q=order_id:584677
# 查询所有文档
GET kibana_sample_data_ecommerce/_search
{
  "query": {
    "match_all": {}
  }
}
# _source指定返回字段 sort排序 form size分页 term查询指定字段
POST kibana_sample_data_ecommerce/_search
{
  "_source": ["currency", "order_date"],
  "sort": [
    {
      "order_date": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 2,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "currency": {
              "value": "EUR"
            }
          }
        }
      ]
    }
  }
}
# 嵌套对象查询
GET community/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "nested": {
            "path": "address_component",
            "query": {
              "bool": {
                "must": [
                  {
                    "match": {
                      "address_component.city": "佛山"
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    }
  }
}
3. 文档更新
# 在原文档上增加字段
POST users/_update/1/
{
    "doc":{
        "post_date" : "2019-05-15T14:12:12",
        "message" : "trying out Elasticsearch"
    }
}
# 批量查询后更新
POST kibana_sample_data_ecommerce/_update_by_query
{
  "script": "ctx._source.customer_first_name='domi'",
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "customer_first_name.keyword": {
              "value": "Eddie"
            }
          }
        }
      ]
    }
  }
}
4. 文档删除
# 删除文档
DELETE users/_doc/1
5. 批量操作[不常用,了解,后续通过python或java客户端批量操作]
# 批量操作
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test2", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }
# 批量查询
GET /_mget
{
    "docs" : [
        {"_index" : "test","_id" : "1"},
        {"_index" : "test","_id" : "2"}
    ]
}
# URI中指定index
GET /test/_mget
{
    "docs" : [
        {"_id" : "1"},{"_id" : "2"}
    ]
}
# 查询指定索引指定字段
GET /_mget
{
    "docs" : [
        {
            "_index" : "test",
            "_id" : "1",
            "_source" : false
        },
        {
            "_index" : "test",
            "_id" : "2",
            "_source" : ["field3", "field4"]
        },
        {
            "_index" : "test",
            "_id" : "3",
            "_source" : {
                "include": ["user"],
                "exclude": ["user.location"]
            }
        }
    ]
}
### msearch 操作
POST kibana_sample_data_ecommerce/_msearch
{}
{"query" : {"match_all" : {}},"size":1}
{"index" : "kibana_sample_data_flights"}
{"query" : {"match_all" : {}},"size":2}
# 删除索引,清除数据
DELETE users
DELETE test
DELETE test2
												
											5.ElasticSearch系列之文档的基本操作的更多相关文章
- Lucene7.2.1系列(二)luke使用及索引文档的基本操作
		
系列文章: Lucene系列(一)快速入门 Lucene系列(二)luke使用及索引文档的基本操作 Lucene系列(三)查询及高亮 luke入门 简介: github地址:https://githu ...
 - Elasticsearch 7.x文档基本操作(CRUD)
		
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html 1.添加文档 1.1.指定文档ID PUT ...
 - elasticsearch 5.x 系列之六  文档索引,更新,查询,删除流程
		
一.elasticsearch index 索引流程 步骤: 客户端向Node1 发送索引文档请求 Node1 根据文档ID(_id字段)计算出该文档应该属于shard0,然后请求路由到Node3的P ...
 - 关于Elasticsearch单个索引文档最大数量问题
		
因为ElasticSearch是一个基于Lucene的搜索服务器.Lucene的索引有个难以克服的限制,导致Elasticsearch的单个分片存在最大文档数量限制,一个索引分片的最大文档数量是20亿 ...
 - 微软BI 之SSRS 系列 - 使用文档结构导航报表元素 Document Map
		
在 SSRS 中也有类似于 Word 文档中的那种导航的效果 - 左侧部分,可以通过导航地图快速的定位到国家下的省份或者城市,并且这种层次结构是由在创建行分组时定义的. 比如说下面的这个例子中,我分了 ...
 - MongoDB文档的基本操作
		
1. MongoDB的安装方法 (1)下载MongoDB 相应的版本: (2)设置数据文件和日志文件的存放目录: (3)启动MongoDB服务: (4)将MongoDB作为服务启动. 2. Mongo ...
 - 死磕nginx系列--配置文档解读
		
nginx配置文件主要分为四个部分: main(全局设置) http ( ) upstream(负载均衡服务器设置) server(主机设置) location(URL匹配特点位置的设置) serve ...
 - elasticsearch 官方监控文档 老版但很有用
		
https://zhaoyanblog.com/page/1?s=elasticsearch 监控每个节点(jvm部分) 操作系统和进程部分 操作系统和进程部分的含义是很清楚的,这里不会描述的很详细. ...
 - elasticsearch 基础 —— 分布式文档存储原理
		
路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片 ...
 
随机推荐
- python中文官方文档记录
			
随笔记录 python3.10中文官方文档百度网盘链接:https://pan.baidu.com/s/18XBjPzQTrZa5MLeFkT2whw?pwd=1013 提取码:1013 1.pyth ...
 - React报错之Encountered two children with the same key
			
正文从这开始~ 总览 当我们从map()方法返回的两个或两个以上的元素具有相同的key属性时,会产生"Encountered two children with the same key&q ...
 - java的stream让我灵光一现
			
说实话,我是一个到了退役也没有搞明白C++的istream和ostream的. 刚开始的时候我把<iostream>直接拆解成ios和tream 真,果粉暴露 退役之后划水,倒是从java ...
 - Spring源码 07 IOC refresh方法2
			
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
 - Oracle-视图,约束
			
试图:试图是数据库对象之一视图在sql语句中体现的角色与表一致,但它不是一张真是存在的表,只是对应了一个查询语句的结果集当试图对应的子查询中含有函数或者表达式时,那么必须指定别名试图根据对应的子查询分 ...
 - linux之间上传下载--SCP
			
1.远程拷贝文件 [root@rhel8-client01 yum.repos.d]# scp root@192.168.72.149:/etc/yum.repos.d/* . (.表示拷贝到当前文件 ...
 - CF1450G. Communism(状压DP)
			
题面 有一个字符串 s \tt s s 和一个有理数 k \tt k k,可以进行如下操作任意次: 选一个当前串中存在的字符 x \tt x x ,令 i 1 , i 2 , . . . , i m ...
 - Math_Music
			
查看代码 #REmoo的优化任务 #1.公式写在<formula_set>类中,统一管理 --- Finished 2022.8.15 12:39 #2.建立<sample_set& ...
 - 最短路径算法-迪杰斯特拉(Dijkstra)算法在c#中的实现和生产应用
			
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先遍历思想),直到扩展到终点为止 贪心算法(Greedy ...
 - B2. Wonderful Coloring - 2
			
链接:Problem - 1551B2 - Codeforces 题意:有m个颜色,要求每种颜色内的数字各不相同,问,颜色的最大长度多少. 题解: 判断每个数字的个数,如果大于m,那么最大长度就加一 ...