Java - Elasticsearch查询类型

查询类型

queryType

描述

后台代码样例

matchAllQuery

全匹配

QueryBuilder qb = matchAllQuery();

matchQuery

单个匹配

QueryBuilder qb = matchQuery(

    "name",

    "kimchy elasticsearch"

);

multiMatchQuery

多字段单值匹配

QueryBuilder qb = multiMatchQuery(

    "kimchy elasticsearch",

    "user","message"

);

wildcardQuery

模糊匹配

WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery("empname","*emp*");


复合查询类型

boolType

描述

后台代码样例

AND

BoolQueryBuilder subCodeQuery = QueryBuilders.boolQuery();

        WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery("empname","*emp*");

        WildcardQueryBuilder queryBuilder2 = QueryBuilders.wildcardQuery("gender","*male*");

        subCodeQuery.must(queryBuilder1);

        subCodeQuery.must(queryBuilder2);

OR

类同(subCodeQuery.should)


分页
通过from和size参数进行分页。From定义查询结果开始位置,size定义返回的hits(一条hit对应一条记录)最大数量。

RestFul样例

后台代码样例

{

    "from" : 0,"size" : 10,

    "query" : {

        "term" : { "user": "kimchy" }

    }

}

SearchResponse response = client.prepareSearch("dept")

                .setTypes("employee")

                .setQuery(queryBuilder)

                .setFrom(0).setSize(2)

                .execute()

                .actionGet();



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值