美文网首页
使用ES查询语句须知

使用ES查询语句须知

作者: 转身一世铅华尽 | 来源:发表于2020-01-19 14:09 被阅读0次

查询样例

{"query": { 
  "bool": {
    "must": [{
        "query_string": {
            "default_field": "s_attack_type",
            "query": " *XXX* "
        }
    }],
    "should": [],
    "must_not": [],
    "filter": [{
        "range": {
            "l_last_ts": {
                "gte": 1579086000000,
                "lt": 1579172400000
            }
        }
    }, {
        "term": {
            "s_appId": "5308e20b"
        }
    }, {
        "term": {
            "s_app_type": "ios"
        }
    }, {
        "exists": {
            "field": "s_attack_type"
        }
    }]
}
}
}

这条语句代表这利用Kibana从ES中查询,查询条件以 query标签开始,以bool查询形式插入条件,其中可以插入条件
must , must_not , should , should_not , filter等,must , must_not , should , should_not , 这些是查询条件是以单独一条的形式存在的,就是说,如果使用,must,则must这个语句块总只放一个单独的条件,在filter中,这个语句块中可以放多个条件,如 range ,
term , exists等,range 表示用来查询时间区间内的数据,一个term相当于一个条件查询,多个term 则是相当于 条件 and 条件
exists则是代表,ES索引中必须存在这个key。
上述语句相当于下列 java 代码:

 QueryBuilder queryBuilder  = QueryBuilders.boolQuery().
                    filter(QueryBuilders.rangeQuery(EsQueryConstant.L_LAST_TS).gte(1579086000000).lt(1579172400000)).
                    filter(QueryBuilders.termQuery("s_appId", appId)).
                    filter(QueryBuilders.termQuery("s_app_type", "ios")).
                    filter(QueryBuilders.existQuery("s_attack_type")).
                    must(QueryBuilders.stringQuery("s_attack_type", "*" + "XXX" + "*"));

ES的查询语句必须满足JSON格式
其余的如 agg 等内容,下次再写吧

相关文章

  • 使用ES查询语句须知

    查询样例 这条语句代表这利用Kibana从ES中查询,查询条件以 query标签开始,以bool查询形式插入条件,...

  • Elasticsearch大数组搜索

    一、出现问题: 使用es时,我们习惯使用terms加数组作为查询条件,类似于sql中的in语句,然而当使用must...

  • OCP课程基础总结一

    基本命令 基本的select查询语句 基本函数查询语句 条件查询语句 使用联接显示多个表中的数据 使用子查询来解决...

  • Java自学-JDBC 查询

    在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQue...

  • ES基本语法

    背景:最近使用接触 ES 总体来说还是比较多的,故记录一下信息 语句作用get _cat/indices?v查询 ...

  • ElasticSearch Rest查询请求分析

    环境信息 ES 5.6 单实例 查询语句 http://127.0.0.1:9200/website/blog/_...

  • Request Body Search

    介绍 本章会介绍怎样将查询语句通过http request body发送给es,并介绍简单的DSL 分页 使用fr...

  • es查询语句详解

    一、 ES简单的增删改查 1、创建一篇文档(有则修改,无则创建) 2、查询指定索引信息 3、 查询指定文档信息 4...

  • Python 操作ES

    1、python查询es数据的语句[https://www.cnblogs.com/bainianminguo/a...

  • 9. 使用子查询

    使用子查询 查询(query) 任何SQL 语句都是查询,但此术语一般指SELECT 语句。 子查询(subque...

网友评论

      本文标题:使用ES查询语句须知

      本文链接:https://www.haomeiwen.com/subject/sryrzctx.html