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:
    在这里插入图片描述
要在Linux上优化Elasticsearch索引文件,可以按照以下步骤进行操作: 1. 进入Elasticsearch的配置文件目录: ``` cd /opt/app/elasticsearch/config/ ``` 2. 打开Elasticsearch的配置文件elasticsearch.yml: ``` vi elasticsearch.yml ``` 3. 根据需要进行以下优化配置: - 修改索引存储路径: 在elasticsearch.yml文件中找到`path.data`配置项,将其指定为一个性能较好的存储路径,例如: ``` path.data: /opt/app/elasticsearch/data ``` - 调整内存分配: 在elasticsearch.yml文件中找到`-Xms`和`-Xmx`配置项,分别表示Elasticsearch的最小和最大堆内存大小。根据服务器的内存情况,可以适当调整这两个值,以提高性能。例如: ``` -Xms2g -Xmx4g ``` - 调整线程池大小: 在elasticsearch.yml文件中找到`thread_pool`配置项,可以根据需要调整各个线程池的大小,以适应并发查询索引的需求。 4. 保存并关闭elasticsearch.yml文件。 5. 重启Elasticsearch服务,使配置生效。 请注意,以上是一些常见的优化配置,具体的优化策略还需要根据实际情况进行调整。另外,优化Elasticsearch索引文件还可以考虑其他方面,如分片设置、缓存配置等,具体的优化策略可以参考Elasticsearch官方文档或相关资料。 #### 引用[.reference_title] - *1* *2* *3* [Linux部署elasticsearch和迁移数据详细教程](https://blog.youkuaiyun.com/qq_39221436/article/details/124397172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值