当前位置: 首页 > news >正文

linux服务器使用curl命令处理常用es查询

目录

场景:

结果格式化显示:

验证服务启动:

 单个参数变量查询:

分页查询:

日期范围查询:

must中单个参数条件查询

must中多个参数条件查询

 使用filter过滤查询

  使用sort过滤查询

总结:

场景:

线上存在浏览器禁止访问es的9200端口的情况,只能在es的服务器上去操作因此用到curl命令下面总结一波、

结果格式化显示:

centos 安装 jq:yum isstall jq

验证服务启动:


curl -X GET 'http://192.168.xx.xxx:9200' -u 'username:password' | jq  .

 单个参数变量查询:

 curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' \
-H 'Content-Type:application/json'\
-u 'username:password' \
-d '{
"query":{
   "match_phrase":{
    "gisq_request_id":"e8bcf64e-7ed9-4a94-9b54-85dd1e277790"}
    }
}' | jq .

分页查询:

curl -X POST 'http://192.168.16.155:9200/esbizlog/_search' \
-H 'Content-Type:application/json' \
-u 'username:password' \
-d '{
    "from":1,
    "size":2
}' | jq .
 

 注意:分页变量from和size是和query平级,不能放在query里面

日期范围查询:

curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' \
-H 'Content-Type:application/json' \
-u 'username:password' \
-d '{
  "query": {
    "range": {
        "datetime": {
          "gt": "2023-06-04 23:59:59",
          "lt": "2023-06-05 12:00:00"
        }
     }
  },
  "from": 1,
  "size": 3
}' | jq .
 

must中单个参数条件查询

curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' -H 'Content-Type:application/json' -u 'elastic:elastic@gisquest.com' -d '{"query":{
 "bool":{
      "must":{"match_phrase":{"gisq_request_id":"e8bcf64e-7ed9-4a94-9b54-85dd1e277790"}}
 }
}}' | jq .

must中多个参数条件查询

curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' -H 'Content-Type:application/json' -u 'elastic:elastic@gisquest.com' -d '{"query":{
 "bool":{
      "must":[
           {"match_all":{} },
           {"range": {
                    "datetime": {
                      "gt": "2023-06-04 23:59:59",
                      "lt": "2023-06-05 12:00:00"
                                 }
                     }
           }
           ]
}}}' | jq .

注:must中如果单个参数查询则后面不用数组形式嵌套,如果多个参数则需要用数组形式嵌套
 

 使用filter过滤查询

curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' \
-H 'Content-Type:application/json' \
-u 'elastic:elastic@gisquest.com' \
-d '{
"query":{
    "bool":{
      "filter":{
          "match":{
             "gisq_request_id":"f7bbae56-405a-4f71-8827-9fff821a9679"}
          }
       }
},"from":0,"size":2
}' | jq .

注:使用filter时要将filter放到bool内部使用,must外部(并列)否则会报错 unknown field [filter]

  使用sort过滤查询

curl -X POST 'http://192.168.xx.xxx:9200/esbizlog/_search' \
-H 'Content-Type:application/json' \
-u 'elastic:elastic@gisquest.com' \
-d '{
    "query":{
         "range": {
            "datetime": {
              "gt": "2023-06-04 23:59:59",
              "lt": "2023-06-05 12:00:00"
                        }
               }
},

"from":0,

"size":10,
"sort":{
   "datetime":{"order":"desc"}
}
}' | jq .

总结:

1.上面便是es的常用的查询,其中查询单个字段直接匹配查询即可,对于filter查询通常要放到bool里面位置和must并列。

2.curl命令 curl -x [请求方式] “url” -H [请求头参数设置] -u 【用户账号:密码】设置 -d 请求提设置

http://www.lryc.cn/news/92105.html

相关文章:

  • Office Visio 2013安装
  • C++ 私有析构函数的作用
  • 【C++】deque的用法
  • Live800:智能客服有哪些未来发展趋势?
  • 【一】Java SE 基础
  • Linux防火墙学习笔记2
  • Linux下MongDB定时备份方案
  • 长尾词挖掘,长尾词的优化方法有哪些
  • JUC基础-0601
  • bash特性
  • [Flink] Flink On Yarn(yarn-session.sh)启动错误
  • 玩转css逐帧动画,努力成为更优质的Ikun~
  • Linux Capabilities
  • 【自制C++深度学习框架】前言
  • 【高危】泛微 e-cology9 存在任意用户登录漏洞
  • 1TB文本的实时全文检索系统搭建
  • RHCA---DO477---变量实验
  • 毕业生高频常用材料线上签,高校毕业季契约锁电子签章一站式助力
  • .ini配置文件介绍与解析库使用
  • 牛客网Linux错题七
  • 牛课刷题Day5(编程题)
  • javascript基础二十五:说说你对函数式编程的理解?优缺点?
  • 常见JavaScript加密算法、JS加密算法
  • 题解2023.6.5
  • 与声音计算研究相关的挑战赛——DCASE和L3DAS
  • 实训总结-----Scrapy爬虫
  • 前端开发职业规划指南:如何做好职业规划与发展
  • 创业第一步:如何写好商业计划书
  • 【Linux驱动】字符设备驱动相关宏 / 函数介绍(module_init、register_chrdev)
  • axios解决跨域问题