枯燥无味的Elasticsearch检索参数字典

2023-02-24  本文已影响0人  醉鱼java

2023年第一篇文章就这样水文了,拿出写了好久的《Elasticsearch查询请求时参数使用说明》水一次,懒惰了、兄弟们见谅,从发出来这篇文章开始,懒惰一去不回了兄弟们,让我们一起在新的一年更进一步。今年计划重心主要还是Elasticsearch与MySQL,如果你想补充一下其他方面的知识欢迎留言评论

今天给大家带来的是Elasticsearch检索请求的最详细参数说明,把检索请求中经常用到的与不经常用的都展现出来,下面跟我一起来学习下吧

环境

添加测试数据

首先我们创建个索引

PUT /zfc-doc-000001
{
  "settings": {
    "index":{
      "number_of_shards":3,
      "number_of_replicas":2
    }
  },
  "mappings": {
    "properties": {
      "title":{
        "type":"keyword"
      },
      "content":{
        "type":"text"
      },
      "createTime":{
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" 
      },
      "agreeNum":{
        "type": "integer"
      },
      "comment":{
        "type": "nested",
        "properties": {
          "content":{
            "type":"text"
          },
          "name":{
            "type":"keyword"
          },
          "time":{
            "type":"date",
            "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
          }
        }
      }
    }
  }
}

加入测试数据

{ "index" : { "_index" : "zfc-doc-000001", "_id" : "1" } }
{ "title" : "Java知识点大全","content":"java 泛型,基本类型有哪些","createTime": "2022-12-19","agreeNum":"99","comment":{"name":"张三","content":"学习java必备","time":"2022-12-19 09:00:00"} }
{ "index" : { "_index" : "zfc-doc-000001", "_id" : "2" } }
{ "title" : "MySQL必知必会","content":"mysql 索引、事务、锁","createTime": "2022-12-18","agreeNum":"500","comment":[{"name":"张三","content":"学习mysql通俗易懂","time":"2022-12-18 09:00:00"},{"name":"李四","content":"mysql 入门到精通必备的","time":"2022-12-18 10:00:00"}  ]}
{ "index" : { "_index" : "zfc-doc-000001", "_id" : "3" } }
{ "title" : "Redis运维实战","content":"redis的rdb与aof","createTime": "2022-12-18","agreeNum":"300","comment":[{"name":"小红","content":"redis的备份","time":"2022-12-18 09:00:00"},{"name":"李四","content": "redis 入门","time":"2022-12-18 15:00:00"}  ]}
{ "index" : { "_index" : "zfc-doc-000001", "_id" : "4" } }
{ "title" : "Elasticsearch","content":"ES crud","createTime": "2022-12-17","agreeNum":"300","comment":[{"name":"小红","content":"es的基础SQL语法","time":"2022-12-17 09:00:00"},{"name":"李四","content": "es 入门","time":"2022-12-18 16:00:00"}  ]}
{ "index" : { "_index" : "zfc-doc-000001", "_id" : "5" } }
{ "title" : "常见MQ知识点汇总","content":"rabbitmq kafka rockmq activemq","createTime": "2022-12-16","agreeNum":"260","comment":[{"name":"小红","content":"kafka的基础概念","time":"2022-12-18 09:00:00"},{"name":"李四","content": "事务消息","time":"2022-12-18 15:00:00"}  ]}

对于索引中mapping的字段为啥设置为nested类型,具体可以参考历史文章nested类型说明,具体链接给到下面

Nested嵌套对象类型还挺实用

下面还是简单的先学习一下_search API的使用,

Search API

GET zfc-doc-000001/_search

_search API 支持如下几种方式

GET /<_target>/_search

GET /_search

POST /<_target>/_search

POST /_search

其中<_target>是要检索的索引名称,要检索全部索引可以忽略此参数或者设置为*或者_all

支持的参数

参数有两种设置方式,一种是在请求路径参数中设置,另一种是在请求体中设置。如果两种都设置,则以请求路径参数为准

请求路径参数

请求体参数

响应参数

通过上面的参数学习,我们已经学会了搜索请求所需要的参数,以及响应的参数内容,下面就自己尝试练习一下吧,下一篇将开启新的写作模式

补充:Elasticsearch除了上述的参数外,还有校验参数等,后面会着重介绍,2023年第一篇文章就这样草草开始了,新的一轮发文已经起航

参考

https://www.elastic.co/guide/en/elasticsearch/reference/8.1/search-search.html

本文由mdnice多平台发布

上一篇 下一篇

猜你喜欢

热点阅读