#bool查询
#老版本的filtered查询已经被bool代替
#用 bool包括 must should must_not filter来完成 ,格式如下:
#bool:{
#  "filter":[],
#  "must":[],
#  "should":[],
#  "must_not"[],
#}
#must 数组内的所有查询都必须满足
#should 数组内只需要满足一个
#must_not 一个都不能满足

#建立测试数据
POST lagou/testdb/_bulk
{"index":{"_id":}}
{"salary":,"title":"python"}
{"index":{"_id":}}
{"salary":,"title":"Scrapy"}
{"index":{"_id":}}
{"salary":,"title":"Django"}
{"index":{"_id":}}
{"salary":,"title":"Elasticsearch"}
#简单过滤查询

#最简单的fiter查询
#select * from testdb where salary=20
#filter 薪资为20的工作

GET lagou/testdb/_search
{
"query":{
"bool": {
"must":{
"match_all":{}
},
"filter": {
"terms": {
"salary": [,]
}
}
}
}
}

#filter里面也能写多值查询

#select * from testdb where title="python"
GET lagou/testdb/_search
{
"query":{
"bool": {
"must":{
"match_all":{}
},
"filter": {
"term": {
"title": "Python"
}
}
}
}
}

#数据在入库的时候就都已经进行大小写处理了,所以现在用term查询的时候是找不到需要的内容的,但是用match的时候就可以了

#查看分析器的解析结果
GET _analyze
{
"analyzer": "ik_max_word",
"text":"python网络"
}
#bool过滤查询,可以组合过滤查询

# select * from testdb where (salary=20 OR title=Python) AND (salary != 30)
# 查询薪资等于20k或者工作为python的工作,排除价格为30k的

GET lagou/testdb/_search
{
"query":{
"bool": {
"should":[
{"term": {"salary": }},
{"term": {"title": "python"}}
],
"must_not": [
{"term":{"salary":}},
{"term":{"salary":}}
]
}
}
} x
#嵌套查询

#select * from testdb where title="python" or ( title="django" AND salary=30)

GET lagou/testdb/_search
{
"query":{
"bool": {
"should":[
{"term": {"title": "python"}},
{"bool": {
"must": [
{"term": {"title": "django"}},
{"term": {"salary": }}
]
}}
]
}
}
}
#过滤空和非空

#建立测试数
#select tags from testdb2 where tags is not NULL

GET lagou/testdb2/_bulk
{"index":{"_id":""}}
{"tags":["salary"]}
{"index":{"_id":""}}
{"tags":["salary","python"]}
{"index":{"_id":""}}
{"other_fields":["some data"]}
{"index":{"_id":""}}
{"tags":null}
{"index":{"_id":""}}
{"tags":["salary",null]}
#处理null空值的方法

#select tags from testdb2 where tags is not NULL

GET lagou/testdb2/_search
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "tags"
}
}
}
}
}

利用kibana插件对Elasticsearch进行bool查询的更多相关文章

  1. 利用kibana插件对Elasticsearch查询

    利用kibana插件对Elasticsearch查询 Elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据. 查询分类: 基本查询:使用Elasticsear ...

  2. 利用kibana插件对Elasticsearch进行映射

    映射(mapping) 映射是创建索引的时候,可以预先定义字段的类型以及相关属性 Elasticsearch会根据JSON源数据的基础类型去猜测你想要的字段映射.将输入的数据变成可搜索的索引项.Map ...

  3. 利用kibana插件对Elasticsearch进行批量操作

    #############批量获取################# #获取所有数据 GET _mget { "docs": [ {"_index":" ...

  4. 利用kibana插件对Elasticsearch进行文档和索引的CRUD操作

    #添加索引PUT lagou { "settings": { "index": { , } } }#查看 索引设置 GET lagou/_settings GE ...

  5. 使用kibana来进行ElasticSearch的信息查询检索

    大家经常会听到使用ELK搭建日志管理平台.完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢? ELK包括ElasticSearch(数据存储.快速查询).logstash(日 ...

  6. 利用Logstash插件进行Elasticsearch与Mysql的数据

    Logstash与Elasticsearch的安装就不多说了,我之前有两篇文章写的比较详细了ElasticSearch + Logstash + Kibana 搭建笔记 和 Filebeat+Logs ...

  7. kibana和ElasticSearch的信息查询检索

    使用kibana来进行ElasticSearch的信息查询检索 大家经常会听到使用ELK搭建日志管理平台.完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢? ELK包括Ela ...

  8. 利用kibana学习 elasticsearch restful api (DSL)

    利用kibana学习 elasticsearch restful api (DSL) 1.了解elasticsearch基本概念Index: databaseType: tableDocument: ...

  9. Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射

    索引的创建及删除 1. 通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 利用Kibana提供的DevTools来执行命令,要创建一个索引 ...

随机推荐

  1. App测试的策略

    (一).App测试的策略 1.App测试需要考虑的方面     设备多样性     操作系统.浏览器.应用程序运行时环境.屏幕分辨率.人机交互界面和接口.人体工程学设计.屏幕尺寸等     运营商网络 ...

  2. [译]Ocelot - Service Discovery

    原文 你可以指定一个service discovery provider,ocelot将使用它来找下游的host和port. Consul 下面的配置要放在GlobalConfiguration中.如 ...

  3. 针对缓存在Redis中的聊天消息的持久化方案分析

    选型依据 数据库的选型主要考虑一下几个方面: 数据库本身是否收费 数据库后期维护成本 是否支持水平及垂直扩展,及扩展的容易程度 业务数据本身特性 使用此数据库的开发成本 由于此数据库主要用来存储缓存在 ...

  4. docker学习------记录centos7.5下docker安装更换国内源的处理过程

    一.centos7.5下更换阿里源 1.装好centos7.5镜像,将yum源更换为阿里源 第一步:刚出的centos7.5是解析不到阿里的东西的,所以找了台centos7.4,下载一些包 (1) 下 ...

  5. 支付宝沙箱测试-ALI40247

    支付宝快速接入文档 测试支付宝APP支付时碰到ALI40247问题 前提:服务端采用沙箱测试. 关于沙箱 如何接入沙箱 沙箱环境是开放平台提供给开发者调试接口的环境,具体操作步骤见沙箱接入指南. Ap ...

  6. xls 打乱序列 -和给拼接字符串加上双引号

    打乱  给空列 添加函数 =RAND() ,下拉,排序,即可打乱 添加双引号: =""""&C1&"""" ...

  7. C# - 设计模式 - 虚模式

    虚模式 问题场景 子类从抽象派生是为了解耦,但为了适应新的变化,可能需要向抽象类添加新功能,假如在添加新功能之前已经有100个子类实现了抽象,那么接下来你得在100个子类中去重写向抽象添加的新功能. ...

  8. JavaScript事件循环机制

    事件循环 事件循环不仅仅包含事件队列,而是具有至少两个队列,除了事件,还要保持浏览器执行的其他操作.这些操作被称为任务,并且分为两类:宏任务(或通常称为任务)和微任务. 单次循环迭代中,最多处理一个宏 ...

  9. P5304 [GXOI/GZOI2019]旅行者

    题目地址:P5304 [GXOI/GZOI2019]旅行者 这里是官方题解 一个图 \(n\) 点 \(m\) 条边,里面有 \(k\) 个特殊点,问这 \(k\) 个点之间两两最短路的最小值是多少? ...

  10. 微信小程序开发学习(二)

    一些官方API 总结了一些官方API,便于之后有用时针对性查找(发现官方给了好多好用的API)官方API文档 基础 wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用,返回 ...