Linux中Elasticsearch索引的简单操作

本文介绍了Elasticsearch在Linux环境中的基本操作,包括数据模型、PUT、POST、GET等操作。详细讲解了如何创建、更新、删除和查询文档,以及批量操作和各种查询方式的应用。

一、ES数据模型简介

Elasticsearch是一个实时的分布式搜索和分析引擎,它可以处理大规模数据的速度。
1、基础数据模型
Index : 索引,由多个Document组成
Type : 索引类型
Document : 文档,由多个Field组成
Field : 字段,包括字段名与字段值,对应数据库中的字段
2、 Document管理
ps:文档是ES最小数据单元
1) 原始数据
_source:原始JSON格式文档
2) 文档元数据
_index:索引名
_type:索引类型
_id:文档编号
_version:文档版本号用于并发控制
_score:在搜索结果中的评分
3)文档的基本操作
PUT 创建
POST 创建、修改(增加、删除、修改)
DELETE 删除
GET 查询

二、PUT操作

PUT 一般用于插入数据,也可用于更新,但是会使得更新的字段替换原有的所有字段,如果无需全部替换不建议使用;也可用于创建索引
用法:
PUT 索引/类型
{
JSON串
}
PUT 索引/类型/类型的编号
{
JSON串
}
eg:
在这里插入图片描述
在这里插入图片描述PS:一个索引下只能存在一种类型

三、POST

POST 一般用于更新数据、删除数据,以及批量插入数据
1、更新数据:
POST /索引/类型/编号/_update
{
“doc”:{
列名:值------------>精准修改
}
}
eg:
在这里插入图片描述
执行结果:
在这里插入图片描述
修改后的数据:
在这里插入图片描述
2、批量插入数据:
POST /_bulk ----代表批量操作
ps:必须写在同一行 ,create语句一行,json串一行

  1. 创建:
    {“create“:{“_index”:索引,“_type”:类型,”_id”:编号}}
    {json串}
    eg:
    在这里插入图片描述
    2)、 删除数据
    {“delete“:{“_index”:索引,“_type”:类型,”_id”:编号}}-----指定编号
    eg:
    在这里插入图片描述
    或者:
    delete 索引/类型/编号 -----指定编号
    eg:
    在这里插入图片描述
    执行结果:
    在这里插入图片描述
    3)更新数据
    {“updata“:{“_index”:索引,“_type”:类型,”_id”:编号}}
    eg:
    在这里插入图片描述
    或者
    在这里插入图片描述

四、GET

  1. GET /索引/类型/_search ----------查询所有
    {“query“:{“match_all”:{}}}
    eg:
GET /aaaa/stu/_search
{
  "query": {
    "match_all": {}
  }
}
  1. GET /索引/类型/1?_source=字段列表1,字段列表2
    用于查询指定字段
    eg:
    在这里插入图片描述

  2. GET /索引/类型/_search
    1)match类
    {“query”:{
    “match”:{json串}
    }
    }
    eg:
    在这里插入图片描述
    ps: 对查询字符串进行分词,根据分词结果构造布尔查询,字段中包含John就行
    match_phrase:短语匹配查询,对查询字符串进行分词,字段值必须依次匹配所有分词,各分词位置不能改变
    match_phrase_prefix:短语前缀匹配查询,最后一个分词作为前缀匹配
    multi_match:多字段匹配查询
    eg:
    在这里插入图片描述
    ps:multi_match 是模糊查询,只要包含fields中的字段包含了query中字段的都能匹配出来

  3. term/terms:词条查询
    按照存储在倒排索引中的确切字词,对字段进行匹配
    在这里插入图片描述
    ps:不支持多字段查询,[]必须有,如果字段多个值匹配用terms,单个字段值可以用term
    3)range:范围查询
    eg:

GET aaaa/stu/_search
{
    "query": {
        "range" : {
            "yearOfBorn":{
                "gte":1995,
                "lte":2000
            }
        }
    }
}
  1. bool:布尔查询------must \ must not \should
    eg:
    在这里插入图片描述
    ps:should查询的值可以为空,返回的是结果数,返回结果为0不影响查询语句的执行,可以通过规定返回结果数进行设置
    5)from+size浅分页
    eg:
    在这里插入图片描述
  2. scroll深分页
    保存结果快照,需要分页时,直接从结果中获取
    eg:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值