博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ELK学习总结(3-2)elk的过滤查询
阅读量:6443 次
发布时间:2019-06-23

本文共 1296 字,大约阅读时间需要 4 分钟。

和一般查询比较,filter查询:能够缓存数据在内存中,应该尽可能使用

 

建立测试数据

查看测试数据

 

1、filtered查询

GET /store/products/_search

{

      "query":{

           "filtered":{

               "query": {

                      "match_all":{}               

               },

               filter:{

                      "terms":{

                            "price":[10,20] 

                      }

               } 

          }

      }

}

 

## 调用没有得到结果? 因为mapping没有指定not_analyzed

GET /store/products/_search

{

      "query":{

           "filtered":{

               "query": {

                      "match_all":{}               

               },

               filter:{

                      "term":{

                            "productID":"QW123"

                      }

               } 

          }

      }

}

 

GET /_analyze?text=QW123

--发现分析结果呈小写qw123

 

GET /store/_mapping

DELETE /store

 

##解决办法:重新建立一个映射,让productID处于not_analyzed模式

PUT /store

{

      "mappings":{

           "products":{

               "properties": {

                      "productID":{

                           “type”:“string”,

                           “index”:“not_analyzed”

                      }               

               } 

          }

      }

}

 

2、bool过滤查询,可以实现组合过滤查询 

"bool":{

     "must":[],

     "should":[], 可以满足,也可以不满足

     "must_not":[]

}

 

GET /store/products/_search

{

      "query":{

           "filtered":{

               "filter": {

                      "bool":{

                          "should":[

                                {"term":{"price":20}},

                                {"term":{"productID":"SD12342"}}

                          ],

                          "must_not":[

                                {"term":{"price":30}}

                          ]

                      }                              

               } 

          }

      }

}

 

3、嵌套查询

 

 

4、and or not查询

    and  并且,类似于must

    or    或者,类似于should

    not  不是,类似于must_not

 

GET /store/products/_search

{

      "query":{

           "filtered":{

               "filter": {

                      "or":[

                                {"term":{"price":20}},

                                {"term":{"productID":"SD12342"}}

                       ]

               },

               "query":{

                      "match_all":{}

               } 

          }

      }

}

 

 

5、range过滤查询

     gt:>

     lt:<

     gte: >=

     lte : <=

 

GET /store/products/_search

 

{

      "query":{

           "filtered":{

               "filter": {

                      "range":{

                          "price":{

                                "gte":20,

                                "lt":50

                          }

                      }                              

               } 

          }

      }

}

 

6、过滤空和非空

     exists

     missing

 

7、cache缓存

     

 

转载地址:http://ocpwo.baihongyu.com/

你可能感兴趣的文章
curl 命令
查看>>
AngularUI团队封装的专用于AngularJS的前端UI库
查看>>
使用cookie管理会话
查看>>
用K-means聚类算法实现音调的分类与可视化
查看>>
cisco Vlan间通信之单臂路由
查看>>
CentOS-5.6-x86_64 下安装配置NFS
查看>>
我的友情链接
查看>>
ClassLoader
查看>>
COM 互操作 - 第一部分”示例
查看>>
Oracle中随机抽取N条记录
查看>>
自动安装
查看>>
Javascript生成随机数
查看>>
java中关于this的学习笔记
查看>>
sql打印了,但数据库木有数据处理
查看>>
机器学习面试之各种混乱的熵(一)
查看>>
zabbix3.0.4安装部署文档(三)----添加监控主机
查看>>
抓鸡 抓服务器 1433 3306 全自动效率抓鸡
查看>>
Linux常用软件
查看>>
Java下数字类型的转换
查看>>
DNS原理及DNS服务器的建立(主从)
查看>>