Es初步检索命令(上)

简介: Es初步检索命令

1、_cat

GET /_cat/nodes:查看所有节点

请求 :

http://192.168.107.129:9200/_cat/nodes

响应 :

127.0.0.1 15 95 8 0.19 0.16 0.24 dilm * 32bb46713f1b

GET /_cat/health:查看 es 健康状况

请求 :

http://192.168.107.129:9200/_cat/nodes

响应  :

1672289253 04:47:33 elasticsearch green 1 1 3 3 0 0 0 0 - 100.0%

GET /_cat/master:查看主节点

请求 :

http://192.168.107.129:9200/_cat/master

响应  :

0UIKX1bRRBWnz03krbYtXw 127.0.0.1 127.0.0.1 32bb46713f1b

GET /_cat/indices:查看所有索引 (show databases)

请求 :


http://192.168.107.129:9200/_cat/masterhttp://192.168.107.129:9200/_cat/indiceshttp://192.168.107.129:9200/_cat/master


响应  :


green open .kibana_task_manager_1   zrlBv8ZPRrelVQk8Ha-4GQ 1 0 2 0 38.3kb 38.3kb

green open .apm-agent-configuration isnuogXsRt-nDUuNNoRp9A 1 0 0 0   283b   283b

green open .kibana_1                ITqnjQoXRse1VhpieOA6oQ 1 0 2 0 11.3kb 11.3kb


2、索引一个文档(保存)

发送put请求

保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识

PUT customer/external/1;在 customer 索引下的 external 类型下保存 1 号数据为

PUT customer/external/1

请求:

http://192.168.107.129:9200/customer/external/1

jsion数据:

1. { 
2.     "name": "John Doe"
3. }

bd135f42d6754ed9b1835d00663b39a7.png


响应


{
    "_index": "customer",//在哪个索引下
    "_type": "external",//在哪个type下
    "_id": "1",//id
    "_version": 1,//版本
    "result": "created",//结果新建
    "_shards": {//分片
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

再一次这个发送请求

响应:

{
    "_index": "customer",
    "_type": "external",
    "_id": "1 ",
    "_version": 2,
    "result": "updated",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 3,
    "_primary_term": 5
}

这个时候可以发现是更新操作。发送多次为更新

注意:再一次发送这个请求的时候如果发现出现的响如果为

{
    "error": {
        "root_cause": [
            {
                "type": "cluster_block_exception",
                "reason": "index [customer] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"
            }
        ],
        "type": "cluster_block_exception",
        "reason": "index [customer] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"
    },
    "status": 403
}

这个错的意思呢,就是你的索引库为只读状态。

解决方法:

配置文件后加上这句:

cluster.routing.allocation.disk.threshold_enabled: false

执行完了之后需要重启ES。

接下来,我们把只读状态改了:

使用PUT提交:http://127.0.0.1:9200/索引名称/_settings

{
"index.blocks.read_only_allow_delete": null
}

或者将其指定为false。自己根据自己需要来。

发送post请求时

这个时候不带id时


dcdce72f3b6441bb851b22bba83e043f.png

响应

{
    "_index": "customer",
    "_type": "external",
    "_id": "5SfpXIUB7T24Ga4R2BS6",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 4,
    "_primary_term": 5
}

"_id": "5SfpXIUB7T24Ga4R2BS6":返回一个随机的id

再一次发送不带id的post请求

响应

{
    "_index": "customer",
    "_type": "external",
    "_id": "5ifrXIUB7T24Ga4RnBSe",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 5,
    "_primary_term": 5
}

我们可以发现这个时候也是新增,返回了一个随机的id

但是如果带了id发送post请求那么效果跟put请求的效果是一样的

总结

PUT 和 POST 都可以,

POST 新增。如果不指定 id,会自动生成 id。指定 id 就会修改这个数据,并新增版本号

PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改 操作,不指定 id 会报错。



相关文章
|
4月前
|
缓存 索引
kibana上执行ES DSL语言查询数据并查看表结构与数据、删除索引、查看文件大小
kibana上执行ES DSL语言查询数据并查看表结构与数据、删除索引、查看文件大小
244 0
|
6月前
|
存储 Unix 索引
ES常用查询命令
ES常用查询命令
|
6月前
|
存储
ES批量写入数据
ES批量写入数据
233 1
|
测试技术 索引
ES数据删除优化
分享一下ES数据删除优化的相关经历,根据业务需要一共优化了3次,包含了其中踩到的坑和一些花时间解决的问题.
1086 0
|
JSON API 数据格式
|
SQL JSON 自然语言处理
|
存储 自然语言处理 搜索推荐
【es】elasticsearch/es搜索服务器介绍
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
730 0
【es】elasticsearch/es搜索服务器介绍
ES查询学习(随时更新)
ES查询学习(随时更新)
134 0
|
索引
ElasticSearch01_简介、安装es以及kibana、详解倒排索引、检索es基本信息、增删改查文档(二)
ElasticSearch01_简介、安装es以及kibana、详解倒排索引、检索es基本信息、增删改查文档(二)
367 0
ElasticSearch01_简介、安装es以及kibana、详解倒排索引、检索es基本信息、增删改查文档(二)