除此之外还有较为详细的对于 idsQuery 的使用讲解:
QueryBuilders.idsQuery

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:* <a>http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/query-dsl-queries.html</a>* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
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* 另一个查询和查询,包裹查询只返回一个常数分数等于提高每个文档的查询。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder constantScoreQuery() {/*return // Using with FiltersQueryBuilders.constantScoreQuery(FilterBuilders.termFilter("name", "kimchy")).boost(2.0f);*/// With Queriesreturn QueryBuilders.constantScoreQuery(QueryBuilders.termQuery("name", "葫芦3033娃")).boost(2.0f);
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* disjunction max query* 一个生成的子查询文件产生的联合查询,* 而且每个分数的文件具有最高得分文件的任何子查询产生的,* 再加上打破平手的增加任何额外的匹配的子查询。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder disMaxQuery() {return QueryBuilders.disMaxQuery().add(QueryBuilders.termQuery("name", "kimchy"))          // Your queries.add(QueryBuilders.termQuery("name", "elasticsearch"))   // Your queries.boost(1.2f).tieBreaker(0.7f);
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* fuzzy query* 使用模糊查询匹配文档查询。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder fuzzyQuery() {return QueryBuilders.fuzzyQuery("name", "葫芦3582");
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* has child / has parent* 父或者子的文档查询* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder hasChildQuery() {return // Has ChildQueryBuilders.hasChildQuery("blog_tag",QueryBuilders.termQuery("tag", "something"));// Has Parent/*return QueryBuilders.hasParentQuery("blog",QueryBuilders.termQuery("tag","something"));*/
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* matchall query* 查询匹配所有文件。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder matchAllQuery() {return QueryBuilders.matchAllQuery();
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* more like this (field) query (mlt and mlt_field)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder moreLikeThisQuery() {// mlt QueryQueryBuilders.moreLikeThisQuery("home", "now_home") // Fields.likeText("山西省太原市7429街道")                 // Text.minTermFreq(1)                                 // Ignore Threshold.maxQueryTerms(12);                             // Max num of Terms// in generated queries// mlt_field Queryreturn QueryBuilders.moreLikeThisFieldQuery("home")              // Only on single field.likeText("山西省太原市7429街道").minTermFreq(1).maxQueryTerms(12);
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* prefix query* 包含与查询相匹配的文档指定的前缀。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder prefixQuery() {return QueryBuilders.prefixQuery("name", "葫芦31");
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* querystring query*   查询解析查询字符串,并运行它。有两种模式,这种经营。* 第一,当没有添加字段(使用{ @link QueryStringQueryBuilder #字段(String)},将运行查询一次,非字段前缀*   将使用{ @link QueryStringQueryBuilder # defaultField(字符串)}。* 第二,当一个或多个字段*   (使用{ @link QueryStringQueryBuilder #字段(字符串)}),将运行提供的解析查询字段,并结合*   他们使用DisMax或者一个普通的布尔查询(参见{ @link QueryStringQueryBuilder # useDisMax(布尔)})。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder queryString() {return QueryBuilders.queryString("+kimchy -elasticsearch");
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* range query* 查询相匹配的文档在一个范围。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder rangeQuery() {return QueryBuilders.rangeQuery("name").from("葫芦1000娃").to("葫芦3000娃").includeLower(true)     //包括下界.includeUpper(false); //包括上界
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* span queries (first, near, not, or, term)* 跨度查询* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder spanQueries() {// Span FirstQueryBuilders.spanFirstQuery(QueryBuilders.spanTermQuery("name", "葫芦580娃"),  // Query// Max查询范围的结束位置);// Span Near TODO NotSolvedQueryBuilders.spanNearQuery().clause(QueryBuilders.spanTermQuery("name", "葫芦580娃")) // Span Term Queries.clause(QueryBuilders.spanTermQuery("name", "葫芦3812娃")).clause(QueryBuilders.spanTermQuery("name", "葫芦7139娃")).slop(30000)                                               // Slop factor.inOrder(false).collectPayloads(false);// Span Not TODO NotSolvedQueryBuilders.spanNotQuery().include(QueryBuilders.spanTermQuery("name", "葫芦580娃")).exclude(QueryBuilders.spanTermQuery("home", "山西省太原市2552街道"));// Span Or TODO NotSolvedreturn QueryBuilders.spanOrQuery().clause(QueryBuilders.spanTermQuery("name", "葫芦580娃")).clause(QueryBuilders.spanTermQuery("name", "葫芦3812娃")).clause(QueryBuilders.spanTermQuery("name", "葫芦7139娃"));// Span Term//return QueryBuilders.spanTermQuery("name", "葫芦580娃");
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* term query* 一个查询相匹配的文件包含一个术语。。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder termQuery() {return QueryBuilders.termQuery("name", "葫芦580娃");
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* terms query* 一个查询相匹配的多个value* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder termsQuery() {return QueryBuilders.termsQuery("name", // field"葫芦580娃", "葫芦3812娃")                 // values.minimumMatch(1);               // 设置最小数量的匹配提供了条件。默认为1。
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* top children  query* 构建了一种新的评分的子查询,与子类型和运行在子文档查询。这个查询的结果是,那些子父文档文件匹配。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder topChildrenQuery() {return QueryBuilders.topChildrenQuery("blog_tag",                                 // fieldQueryBuilders.termQuery("name", "葫芦3812娃") // Query).score("max")                               // max, sum or avg.factor(5).incrementalFactor(2);
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* wildcard query*   实现了通配符搜索查询。支持通配符* < /tt>,<tt>*   匹配任何字符序列(包括空),<tt> ? < /tt>,*   匹配任何单个的字符。注意该查询可以缓慢,因为它*   许多方面需要遍历。为了防止WildcardQueries极其缓慢。*   一个通配符词不应该从一个通配符* < /tt>或<tt>*   < /tt> <tt> ?。* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder wildcardQuery() {return QueryBuilders.wildcardQuery("name", "葫芦*2娃");
}/*** TODO NotSolved* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* nested query* 嵌套查询* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static QueryBuilder nestedQuery() {return QueryBuilders.nestedQuery("location",               // PathQueryBuilders.boolQuery()                      // Your query.must(QueryBuilders.matchQuery("location.lat", 0.962590433140581)).must(QueryBuilders.rangeQuery("location.lon").lt(0.00000000000000000003))).scoreMode("total");                  // max, total, avg or none
}/*** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* indices query* 索引查询* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
protected static IndicesQueryBuilder indicesQuery() {// Using another query when no match for the main oneQueryBuilders.indicesQuery(QueryBuilders.termQuery("name", "葫芦3812娃"),Es_Utils.INDEX_DEMO_01, "index2")       //设置查询索引上执行时使用不匹配指数.noMatchQuery(QueryBuilders.termQuery("age", "葫芦3812娃"));// Using all (match all) or none (match no documents)return QueryBuilders.indicesQuery(QueryBuilders.termQuery("name", "葫芦3812娃"),Es_Utils.INDEX_DEMO_01, "index2")      // 设置不匹配查询,可以是 all 或者 none.noMatchQuery("none");
}public static void main(String[] args) {Es_Utils.startupClient();try {searchTest(indicesQuery());} catch (Exception e) {e.printStackTrace();} finally {Es_Utils.shutDownClient();}
}private static void searchTest(QueryBuilder queryBuilder) {//预准备执行搜索Es_Utils.client.prepareSearch(Es_Utils.INDEX_DEMO_01).setTypes(Es_Utils.INDEX_DEMO_01_MAPPING).setQuery(queryBuilder).setFrom(0).setSize(20).setExplain(true).execute()//注册监听事件.addListener(new ActionListener<SearchResponse>() {@Overridepublic void onResponse(SearchResponse searchResponse) {Es_Utils.writeSearchResponse(searchResponse);}@Overridepublic void onFailure(Throwable e) {}});
}

}

java操作QueryBuilders常见用法相关推荐

  1. 【python教程】IO文件操作的常见用法

    首先创建一个文件操作对象: f = open(file, mode, encoding) file指定文件的路径,可以是绝对路径,也可以是相对路径 文件的常见mode: mode = "r& ...

  2. JAVA String的常见用法

    目录 1.什么是String类 2.String类对象的创建 3.常用用法 (1). 求字符串的长度 (2).获取字符串某一位置的字符 (3).获取字符串中一部分字符 (4).字符串比较 (5).字符 ...

  3. java 命令 jar_Javajar命令常见用法

    Java jar命令 常见用法 一.jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的. 区别在于jar压缩的文件默认多一个META-INF ...

  4. Java接口的几种常见用法

    接口(interface)对于面向对象编程来说是一个非常重要的概念.它是一系列方法的声明,却没有具体实现.有些编程语言,比如swift,把接口解释成"协议(protocol)",我 ...

  5. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  6. 【转】Java 枚举7常见种用法

    原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu  原创地址:http://blog.li ...

  7. Java集合Collection与List的关系、常见用法

    关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...

  8. JavaScript中常见的字符串操作函数及用法汇总

    转载地址:http://www.jb51.net/article/65358.htm 这篇文章主要介绍了JavaScript中常见的字符串操作函数及用法,实例汇总了javascript常见的字符串转换 ...

  9. php php拼接字符串函数_PHP常见字符串操作函数与用法总结

    本文实例讲述了PHP常见字符串操作函数与用法.分享给大家供大家参考,具体如下: 一.字符串的格式化 1.字符串的格式化 trim()函数可以去除字符串的开始位置和结束位置的空格,并将结果字符串返回,默 ...

最新文章

  1. 7.Odoo产品分析 (二) – 商业板块(3) –CRM(1)
  2. RNA干扰各种方法优缺点简介?
  3. redis spring 切面缓存_今日份学习: Spring中使用AOP并实现redis缓存?
  4. redhat python3.4安装步骤
  5. ZooKeeper 典型应用场景有哪些?
  6. 战地5离线bot模式_战地系列、烂橘子平台下载更新慢咋办?我这里有两个亲测有有效的方式。...
  7. 用PHP ping 一个 IP
  8. 架构之美读书笔记之三
  9. capslock键英语怎么读_电脑键盘上的那些英文键怎么读?
  10. 解决Windows7下virtualbox安装ubuntu出现的0x00000000指令引用0x00000000内存,该内存不能为written问题
  11. 警告: A docBase inside the host appBase has been specified, and will be ignore
  12. Educational Codeforces Round 92 (Rated for Div. 2)题解(A-C)
  13. 想做吃鸡游戏么兄弟?98K轻量物理了解一下
  14. Learn UML with JUDE
  15. WebStorm/IDEA 激活证书服务器
  16. springboot整合mybatis
  17. mac广告拦截软件:1Blocker for Mac
  18. 【无标题sdasd】
  19. oracle查询count很慢
  20. Python读写EXCEL文件常用方法大全

热门文章

  1. 国赛论文解读(二)-国赛选手是如何读论文的?
  2. 觉得猪八戒网左下角的文字滚动,效果不错,自己摸索了一下,以自己的方法实现了!...
  3. 【报告分享】啤酒行业线上分析报告-蓝色光标(附下载)
  4. 创业日志N,一听到别人说创业我就怕
  5. 半入耳蓝牙耳机哪款好?半入耳无线蓝牙耳机排行
  6. (附源码)ssm运动器材共享平台 毕业设计201816
  7. 【DRM】DRM Display Driver Guide
  8. iphone12什么时候上市
  9. 大华“喜提”56亿战略投资,中国移动能为它带来啥?
  10. 利用Excel/WPS进行数字筛选,分别找出统计学成绩为75的人 ,英语成绩最高的前三名;四门功课都大于70的人