java多条件组合查询6,多条件组合查询

本文展示了如何在Java中使用BoolQuery进行多条件的组合查询,包括And、Or和Not条件查询,以及含有子BoolQuery的复杂组合查询。示例代码详细解释了如何构造和执行这些查询。
摘要由CSDN通过智能技术生成

示例1

通过BoolQuery进行And条件查询。/**

* 通过BoolQuery进行And条件查询。

* @param client

*/

public static void andQuery(SyncClient client){

/**

* 查询条件一:RangeQuery,Col_Long的列值大于3。

*/

RangeQuery rangeQuery = new RangeQuery();

rangeQuery.setFieldName("Col_Long");

rangeQuery.greaterThan(ColumnValue.fromLong(3));

/**

* 查询条件二:MatchQuery,Col_Keyword的列值要匹配"hangzhou"。

*/

MatchQuery matchQuery = new MatchQuery();

matchQuery.setFieldName("Col_Keyword");

matchQuery.setText("hangzhou");

SearchQuery searchQuery = new SearchQuery();

{

/**

* 构造一个BoolQuery,设置查询条件为必须同时满足"查询条件一"和"查询条件二"。

*/

BoolQuery boolQuery = new BoolQuery();

boolQuery.setMustQueries(Arrays.asList(rangeQuery, matchQuery));

searchQuery.setQuery(boolQuery);

//searchQuery.setGetTotalCount(true);//设置返回匹配的总行数。

SearchRequest searchRequest = new SearchRequest("sampleTable", "sampleSearchIndex", searchQuery);

//通过设置columnsToGet参数可以指定返回的列或返回所有列,如果不设置此参数,则默认只返回主键列。

//SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();

//columnsToGet.setReturnAll(true); //设置为返回所有列。

//columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); //设置为返回指定列。

//searchRequest.setColumnsToGet(columnsToGet);

SearchResponse resp = client.search(searchRequest);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值