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系列之文档的基本操作的更多相关文章

  1. Lucene7.2.1系列(二)luke使用及索引文档的基本操作

    系列文章: Lucene系列(一)快速入门 Lucene系列(二)luke使用及索引文档的基本操作 Lucene系列(三)查询及高亮 luke入门 简介: github地址:https://githu ...

  2. Elasticsearch 7.x文档基本操作(CRUD)

    官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html 1.添加文档 1.1.指定文档ID PUT ...

  3. elasticsearch 5.x 系列之六 文档索引,更新,查询,删除流程

    一.elasticsearch index 索引流程 步骤: 客户端向Node1 发送索引文档请求 Node1 根据文档ID(_id字段)计算出该文档应该属于shard0,然后请求路由到Node3的P ...

  4. 关于Elasticsearch单个索引文档最大数量问题

    因为ElasticSearch是一个基于Lucene的搜索服务器.Lucene的索引有个难以克服的限制,导致Elasticsearch的单个分片存在最大文档数量限制,一个索引分片的最大文档数量是20亿 ...

  5. 微软BI 之SSRS 系列 - 使用文档结构导航报表元素 Document Map

    在 SSRS 中也有类似于 Word 文档中的那种导航的效果 - 左侧部分,可以通过导航地图快速的定位到国家下的省份或者城市,并且这种层次结构是由在创建行分组时定义的. 比如说下面的这个例子中,我分了 ...

  6. MongoDB文档的基本操作

    1. MongoDB的安装方法 (1)下载MongoDB 相应的版本: (2)设置数据文件和日志文件的存放目录: (3)启动MongoDB服务: (4)将MongoDB作为服务启动. 2. Mongo ...

  7. 死磕nginx系列--配置文档解读

    nginx配置文件主要分为四个部分: main(全局设置) http ( ) upstream(负载均衡服务器设置) server(主机设置) location(URL匹配特点位置的设置) serve ...

  8. elasticsearch 官方监控文档 老版但很有用

    https://zhaoyanblog.com/page/1?s=elasticsearch 监控每个节点(jvm部分) 操作系统和进程部分 操作系统和进程部分的含义是很清楚的,这里不会描述的很详细. ...

  9. elasticsearch 基础 —— 分布式文档存储原理

    路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片  ...

随机推荐

  1. Fishhole类定义和实现

    当眼睛处于水中,产生类似的鱼眼视角,fov永远是psi_max的2倍.具体算法参考书籍. 类声明: #pragma once #ifndef __FISHHOLE_HEADER__ #define _ ...

  2. 巧用Prometheus来扩展kubernetes调度器

    Overview 本文将深入讲解 如何扩展 Kubernetes scheduler 中各个扩展点如何使用,与扩展scheduler的原理,这些是作为扩展 scheduler 的所需的知识点.最后会完 ...

  3. Rider调试ASP.NET Core时报thread not gc-safe的解决方法

      新建了一个ASP.NET Core 5.0的Web API项目,当使用断点调试Host.CreateDefaultBuilder(args)时,进入该函数后查看中间变量的值,报错Evaluatio ...

  4. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  5. 《Python高手之路 第3版》这不是一本常规意义上Python的入门书!!

    <Python高手之路 第3版>|免费下载地址 作者简介  · · · · · · Julien Danjou 具有12年从业经验的自由软件黑客.拥有多个开源社区的不同身份:Debian开 ...

  6. Luogu3379 【模板】最近公共祖先(LCA) (倍增LCA)

    蒟蒻又来复习模板了.还WA了两次 #include <iostream> #include <cstdio> #include <cstring> #include ...

  7. 一文理解Hadoop分布式存储和计算框架入门基础

    @ 目录 概述 定义 发展历史 发行版本 优势 生态项目 架构 组成模块 HDFS架构 YARN架构 部署 部署规划 前置条件 部署步骤 下载文件(三台都执行) 创建目录(三台都执行) 配置环境变量( ...

  8. RabbitMQ协议-AMQP 0-9-1 (高级消息队列协议)

    工作模型 producer:生产者 Connection:TCP长连接,AMQP 0-9-1 连接通常是长期存在的.AMQP 0-9-1 是一个应用层协议,它使用 TCP 进行可靠传输.连接使用身份验 ...

  9. [CF1525D] Armchairs (DP / 模拟费用流)

    题面简述 一条线上等距地分布着 n n n 老鼠和 m m m 洞( m ≥ n m\geq n m≥n),这连续 n + m n+m n+m 个位置上要么是老鼠要么是洞,一个老鼠进一个洞,代价是所有 ...

  10. CF1019B The hat (二分)

    题面 题解 如果位置为i的人与对面的差是x,i+1位置由于只能+1或-1,所以i+1位置与对面的差就是x.x+2或x-2,可以发现,奇偶性不变. 所以只要判断出是奇差,就可以直接输出"! - ...