1、ElasticSearch基本操作

76 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

1、前言

最近工作中要使用elasticsearch7.15.0,身为公司的一块砖,项目需要啥技术咱就得学啥技术。以下为初学时的经验。以下内容均基于kibana操作

2、增

//id由es创建
PUT /索引名称
{
"field" : "value"
}

//id由自己创建
PUT /索引名称/id
{
"field" : "value"
}

当大批量插入数据时,id当由ES创建,会提高写入的效率。 注意:当使用PUT /索引名称/id 时,会根据 id 去对应的索引中查询文档,如果能查到,则执行修改操作;如果查不到,才会新建一条数据。

3、查

3.1 轻量搜索

//根据索引名称查询索引下的全部内容
GET /索引名称/_search

//根据索引名称和文档id查询文档信息
GET /索引名称/id

//检查文档是否存在
HEAD /索引名称/id

//搜索role_id 为 admin 的所有文档
/*query match 用于搜索单个字段,首先会针对查询语句进行解析,主要对查询语句进行分词,分词后查询语句的任何一个词项被匹配,文档就会被搜到,默认情况下相当于对分词后词项进行 or 匹配操作。*/
GET /索引名称/_search
{
  "query" : {
    "match": {
      "role_id" : "admin"
    }
  }
}

3.2 复杂查询

//查询 role_id 为 admin 且 年龄大于 20 岁的数据  使用 match,filter两种过滤器
GET /索引名称/_search
{
  "query" : {
    "bool" : {
        "must" : {
            "match" : {
                "role_id" : "admin"
            },
            "filter" : {
                "range" : {
                    "age" : {
                        "gt" : "20"
                    }
                }
            }
        }
    }
  }
}