常用的es操作

前言

我们前面写过ES基础操作ES高级查询 写的都很细,但是很多时候我们仅仅是忘记具体的某个语法,去那两篇博客查找就很麻烦了,这篇博客就把常用的ES操作进行总结。

常用操作

  1. 建索引(建表,不过并没有指定字段名和类型)
text 复制代码
向ES服务器发送PUT请求:
http://127.0.0.1:9200/索引名
  1. 删除索引(删表)
text 复制代码
向ES服务器发送DELETE请求:
http://127.0.0.1:9200/索引名
  1. 创建文档(往表中插入数据)
text 复制代码
向 ES 服务器发 POST 请求:
http://127.0.0.1:9200/索引名/_doc

请求体内容:
{
"name":"zs",
"age":23
}

一般都会指定唯一id:

text 复制代码
向 ES 服务器发 POST 请求:
http://127.0.0.1:9200/索引名/_doc/1

请求体内容:
{
"name":"zs",
"age":23
}
  1. 根据唯一id查看对应的一行数据
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_doc/1
  1. 根据唯一id更新对应的一条数据中所有字段
text 复制代码
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_doc/1

请求体中写入要插入的json字符串
{
"name":"ls",
"age":24
}
  1. 根据唯一id更新一行指定字段的数据
text 复制代码
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_update/1

请求体内容:
{ 
 "doc": {
 "age":24
 } 
}
  1. 根据唯一标识删除一行数据
text 复制代码
向 ES 服务器发 DELETE 请求 :
http://127.0.0.1:9200/索引名/_doc/1
  1. 根据查询条件删除对应的数据
text 复制代码
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_delete_by_query

请求体内容:
{
 "query":{
	 "match":{
	 "price":4000.00
	 }
 }
}
  1. 给索引添加映射
text 复制代码
向 ES 服务器发 PUT或者POST 请求 :
http://127.0.0.1:9200/索引名/_mapping

请求体内容:
{
 "properties": {
	 "name":{
	 "type": "text",
	 "index": true
	 },
	 "age":{
	 "type": "long",
	 "index": false
	 }
 }
}
  1. 给索引新增一个字段
text 复制代码
向 ES 服务器发 PUT 请求 :
http://127.0.0.1:9200/索引名/_mapping

请求体内容:
{
  "properties": {
    "sex": {
      "type": "text"
    }
  }
}
  1. 查看映射
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_mapping
  1. 查看所有文档
text 复制代码
向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/索引名/_search

请求体内容:
{
 "query": {
 "match_all": {}
 }
}
  1. 分词(match)匹配查询
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{
 "query": {
	 "match": {
	 "name":"zs"
	 }
 }
}
  1. 精确(term)查询
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:

{
    "query": {
        "term": {
            "name": {
                "value": "zhangsan"
            }
        }
    }
}
  1. 组合查询(bool把各种其它查询通过must(必须 )、must_not(必须不)、should(应该)的方式进行组合)
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search

请求体内容:
{
    "query": {
        "bool": {
            "must": [
                {
                    "match": {
                        "name": "zhangsan"
                    }
                }
            ],
            "must_not": [
                {
                    "match": {
                        "nickname": "lisi"
                    }
                }
            ]
        }
    }
}
  1. 范围查询
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{
    "query": {
        "range": {
            "age": {
                "gte": 30,
                "lte": 35
            }
        }
    }
}
  1. 模糊查询
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{
    "query": {
        "fuzzy": {
            "name": {
                "value": "zhangsan",
                "fuzziness": 2
            }
        }
    }
}
  1. 单个字段排序
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{
    "query": {
        "match": {
            "name": "zhangsan"
        }
    },
    "sort": [
        {
            "age": {
                "order": "desc"
            }
        }
    ]
}
  1. 多个字段排序
text 复制代码
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{
    "query": {
        "match_all": {}
    },
    "sort": [
        {
            "age": {
                "order": "desc"
            }
        },
        {
            "_id": {
                "order": "desc"
            }
        }
    ]
}
相关推荐
Dragon--Z2 天前
搭建 Elasticsearch 集群:完整教程
es
Dragon--Z2 天前
使用 esrally race 测试 Elasticsearch 性能:实践指南
大数据·elasticsearch·压力测试·es
mengml_smile9 天前
Elasticsearch一分钟
搜索引擎·es
【上下求索】19 天前
学习笔记041——Elastic Search的学习与使用以及SpringBoot整合
elasticsearch·es
Cshaosun25 天前
js版本之ES5特性简述【String、Function、JSON、其他】(二)
前端·javascript·es
llody_551 个月前
ARM64环境部署EFK8.15.3收集K8S集群容器日志
java·运维·elasticsearch·云原生·容器·kubernetes·es
hengzhepa1 个月前
ElasticSearch备考 -- Cross cluster replication(CCR)
大数据·学习·elasticsearch·搜索引擎·es
hengzhepa1 个月前
ElasticSearch备考 -- 集群配置常见问题
运维·学习·elasticsearch·搜索引擎·es
wang01122331 个月前
ElasticSearch 简单的查询。查询存在该字段的资源,更新,统计
android·java·elasticsearch·搜索引擎·全文检索·es