Elasticsearch7.9.3 03.入门-文档

目录

1.创建文档

2.修改文档

3.删除文档

4.删除文档-条件

5.修改字段

6.文档查询-全查询(全文检索)

7.文档查询-条件&分页&指定字段&排序

8.文档查询-多条件 and (must)

9.文档查询-多条件 or (should)

10.文档查询-全完匹配 (match_phrase)

11.文档查询-范围 (range)

12.排序字段设置

13.查看文档所在节点


1.创建文档

    1) 索引已经创建好了接下来我们来创建文档,并添加数据.这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式

    在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc,此处发送请求的方式必须为POST,不能是PUT,否则会发生错误

{

     "ProdutName":"感抗",

     "Made":"吉林长春",

     "Spec":"10片/盒",

     "Price":10.5

}

    返回结果

  {

     "_index"【索引】: "shopping",

     "_type"【类型-文档】: "_doc",

     "_id"【唯一标识】: "Xhsa2ncBlvF_7lxyCE9G", #可以类比为 MySQL 中的主键,随机生成

  "_version"【版本】: 1,

  "result"【结果】: "created", #这里的 create 表示创建成功

  "_shards"【分片】: {

  "total"【分片 - 总数】: 2,

  "successful"【分片 - 成功】: 1,

  "failed"【分片 - 失败】: 0

 },

 "_seq_no": 0,

 "_primary_term": 1 }

    2) 指定ID创建文档,在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc/1001

2.修改文档

    和新增文档一样输入相同的URL地址请求如果请求体变化会将原有的数据内容覆盖

    在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_doc/1001

    

3.删除文档

    删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)

    Postman中向ES服务器发DELETE请求http://localhost:9200/shopping/_update/1001

    

4.删除文档-条件

    一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数据进行删除

    向ES服务器发POST请求http://localhost:9200/shopping/_delete_by_query    

{
 "query":{
     "match":{
         "Made": "吉林长春"
     }
   }
}

    

5.修改字段

    修改数据时,也可以只修改某一给条数据的局部信息

    在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_update/1001

    

6.文档查询-全查询(全文检索)

    1) 在Postman中向ES服务器发POST/GET请求http://localhost:9200/shopping/_search

    返回结果如下:

{
    "took" : 19,        【查询花费时间,单位毫秒】
    "timed_out": false, 【是否超时】
    "_shards": {        【分片信息】
        "total": 1,     【总数】
        "successful": 1,【成功】
        "skipped": 0,   【忽略】
        "failed": 0     【失败】
    },
    "hits": {           【搜索命中结果】
        "total": {      【搜索条件匹配的文档总数】
            "value": 1, 【总命中计数的值】
            "relation": "eq" 【计数规则】# eq 表示计数准确, gte 表示计数不准确
        },
        "max_score": 1.0,【匹配度分值】
        "hits": [{}]     【命中结果集合】
    }
}

    2) 查询所有POST请求http://localhost:9200/shopping/_search        

{
    "query":{
        "match_all":{}
    }
}

    

7.文档查询-条件&分页&指定字段&排序

    1) 条件:POST请求http://localhost:9200/shopping/_search? q=Made:吉林长春

        

    2) 条件:match: POST请求http://localhost:9200/shopping/_search        

{
    "query":{
        "match":{
            "Made":"吉林长春"
        }
    }
}

  

    3) 分页&指定字段&排序,POST请求http://localhost:9200/shopping/_search 

{
    "query":{
        "match_all":{}
    },
    "from":0, //第几页
    "size":2, //页大小
    "_source":["Made"], //指定显示字段
    "sort":[{
        "Made":{
            "order":"desc"
            }
        }
    ]
}

  

8.文档查询-多条件 and (must)

    POST请求http://localhost:9200/shopping/_search    

{
    "query":{
        "bool":{
            "must": [
                {
                    "match":{
                        "ProductName":"感康"
                    }
                },
                {
                    "match":{
                        "Spec":"20"
                    }
                }
            ] 
        }
    }
}

9.文档查询-多条件 or (should)

    POST请求http://localhost:9200/shopping/_search    

{
    "query":{
        "bool":{
            "should": [
                {
                    "match":{
                        "Spec":"10"
                    }
                },
                {
                    "match":{
                        "Spec":"20"
                    }
                }
            ] 
        }
    }
}

10.文档查询-全完匹配 (match_phrase)

    按单词匹配查询所有,POST请求http://localhost:9200/shopping/_search

{
    "query":{
        "match_phrase":{ 
           "Made":"吉林长春" 
        }
    }
}

11.文档查询-范围 (range)

    POST请求http://localhost:9200/shopping/_search    

{
    "query":{
        "range":{
            "Price":{
                "gte":11,
                "lte":13
            }
        }
    } 
}

12.排序字段设置

   PUT请求http://localhost:9200/product/_mapping   

{
    "properties":{
        "Spec":{  
            "type":"text",
            "fielddata":true
        }
    }
}

13.查看文档所在节点

    Get请求 http://localhost:9201/product/_search_shards?routing=pPIJrHkBLF9gqXAuMqNt

{
    "nodes": {
        "rcP5rrMyTyC_653nDhJnUg": {
            "name": "node-1002",
            "ephemeral_id": "Pxt9vL4JQM6uvmyW3IwsiA",
            "transport_address": "127.0.0.1:9302",
            "attributes": {
                "ml.machine_memory": "8010072064",
                "ml.max_open_jobs": "20",
                "xpack.installed": "true",
                "transform.node": "true"
            }
        },
        "fihAIMiWQX2cm3s-ke1BbA": {
            "name": "node-1001",
            "ephemeral_id": "d1oVWq_gQta0jajZpIsDvA",
            "transport_address": "127.0.0.1:9301",
            "attributes": {
                "ml.machine_memory": "8010072064",
                "xpack.installed": "true",
                "transform.node": "true",
                "ml.max_open_jobs": "20"
            }
        }
    },
    "shards": [
        [
            {
                "state": "STARTED",
                "primary": true,
                "node": "rcP5rrMyTyC_653nDhJnUg", //节点id
                "relocating_node": null,
                "shard": 2,
                "index": "product",
                "allocation_id": {
                    "id": "2Zt3LWJ8TBWgIr71-8Y4gA"
                }
            },
            {
                "state": "STARTED",
                "primary": false,
                "node": "fihAIMiWQX2cm3s-ke1BbA",
                "relocating_node": null,
                "shard": 2,
                "index": "product",
                "allocation_id": {
                    "id": "ZrkmaERYQWOlzMT7yRWS_A"
                }
            }
        ]
    ]
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值