es java api 子查询_elasticsearch------java操作之QueryBuilders构建搜索Query

package com.elasticsearch;

import org.elasticsearch.action.ActionListener;

import org.elasticsearch.action.search.SearchResponse;

import org.elasticsearch.index.query.IndicesQueryBuilder;

import org.elasticsearch.index.query.QueryBuilder;

import org.elasticsearch.index.query.QueryBuilders;

/**

* Created by lw on 14-7-15.

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* elasticsearch以提供了一个完整的Java查询dsl其余查询dsl。

* QueryBuilders工厂构建

* API:

* http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/query-dsl-queries.html

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*/

public class Es_QueryBuilders_DSL {

/**

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* match query 单个匹配

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*/

protected static QueryBuilder matchQuery() {

return QueryBuilders.matchQuery("name", "葫芦4032娃");

}

/**

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* multimatch  query

* 创建一个匹配查询的布尔型提供字段名称和文本。

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*/

protected static QueryBuilder multiMatchQuery() {

//现住址和家乡在【山西省太原市7429街道】的人

return QueryBuilders.multiMatchQuery(

"山西省太原市7429街道",     // Text you are looking for

"home", "now_home"       // Fields you query on

);

}

/**

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* boolean query and 条件组合查询

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*/

protected static QueryBuilder booleanQuery() {

return QueryBuilders

.boolQuery()

.must(QueryBuilders.termQuery("name", "葫芦3033娃"))

.must(QueryBuilders.termQuery("home", "山西省太原市7967街道"))

.mustNot(QueryBuilders.termQuery("isRealMen", false))

.should(QueryBuilders.termQuery("now_home", "山西省太原市"));

}

/**

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* ids query

* 构造一个只会匹配的特定数据 id 的查询。

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*/

protected static QueryBuilder idsQuery() {

return QueryBuilders.idsQuery().ids("CHszwWRURyK08j01p0Mmug", "ojGrYKMEQCCPvh75lHJm3A");

}

/**

* TODO NotSolved

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* constant score query

* 另一个查询和查询,包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值