ElasticSearch(四):查询

1.ES查询

1).指定查询参数:

    //查询全部

QueryBuilder queryBuilder = QueryBuilders.matchAllQuery()

    //查询满足指定字段条件的文档

QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery(queryParam, "summary") //查询满足指定字段的数据

    bool查询

    should:返回的文档可能满足should子句的条件(类似与 “||” 的关系);

    must:返回的文档必须满足must子句的条件,并且参与计算分值;

    mustNot:返回的文档必须不满足must_not定义的条件;

    filter:返回的文档必须满足filter子句的条件。但是不会像Must一样,参与计算分值。

            (boost:设置分值权重)

blob.png

2).创建SearchSourceBuilder对象:

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query(queryBuilder);

3).创建查询对象(Search):

   分页:

        from:定义了目标数据的偏移值,默认为0;

        size:定义当前返回的事件数目,默认为10;

blob.png

4).执行查询返回结果

JestResult result = jestClient.execute(search);

2.postFilter过滤查询(后置过滤器)

    post_filter:它是搜索请求内能够接受一个过滤器作为参数的顶层元素。该过滤器会在查询执行完毕后生效(在查询执行之后运行)。

blob.png

3.聚合查询

blob.png

json请求如下,aggregations外面的size表示执行结果显示笔记内容的数量,size=0表示不显示;aggregations里面的size表示执行结果显示聚合的结果对数,不设置的话默认显示10条,size=0表示全部显示。

blob.pngblob.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值