matchAllQuery | 学习笔记

简介: 快速学习 matchAllQuery

开发者学堂课程【ElasticSearch 入门精讲matchAllQuery学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/10006


matchAllQuery


内容介绍:

一、描述

二、演示


一、描述

SearchResponsesearchResponse= client.prepareSearch(“blog2”)

.setTypes(“article”).setQuery(QueryBuilders.matchAllQuery())

.get();

SearchHits hits = searchResponse.getHits(); //获取命中次数,查询结果有多少对象

SearchResponsesearchResponse= client.prepareSearch(“blog2”).set

Types(“article”)

.setQuery(QueryBuilders.matchAllQuery())

.addSort(“id”, SortOrder.DESC).get();

SearchHits hits = searchResponse.getHits(); //获取命中次数,查询结果有多少对象

二、演示

在 TestES.java 中输入:

/**

*matchAllQuery 演示

*

*需求:

查询索引库之 bigdata 下的 type 之 product 下所有的记录信息,且根据 ID 进行降序排列

*/

@Test

public void testMatchAllQuery(){

//查询

SearchResponse response = client.prepareSearch(INDEX)

.setTypes(TYPE)

.setQuery(QueryBuilders.matchAllQuery())

.addSort(field: “name”, SortOrder.DESC)

.get();

//显示检索到的信息

SearchHits hits = response.getHits();

for(SearchHit hit:hits) {

System.out.println(hit.getSourceAsString());

}

}

运行结果显示报错

image.png

addSort 可能是因为全局排序时,name 不是一个整型,是一个字符串不好比较,只能是 int 型才能比较,所以出现问题。

这时我们可以换一种方式,比如查账户,先来查 bank,bank 里的 account,account 里的 balance,根据 balance 里的降序来查

image.png

修改代码:SearchResponse response = client.prepareSearch(...indices: “bank”)

.setTypes(“account”)

addSort(field: “balance”, SortOrder.DESC)

结果如图,查询成功

image.png

所以最终修改描述为

/**

*matchAllQuery 演示

*

*需求:查询索引库之 bank 下的 type 之 account 下所有的记录(第一页)信息,且根据 balance 进行降序排列

*/

相关文章
|
Java 应用服务中间件 数据库
RocketBot 的使用 | 学习笔记
快速学习 RocketBot 的使用
369 0
RocketBot 的使用 | 学习笔记
|
8月前
|
IDE Java 开发工具
|
数据采集 SQL 消息中间件
第三阶段总结|学习笔记
快速学习第三阶段总结
111 0
第三阶段总结|学习笔记
|
NoSQL MongoDB 开发者
故障测试2|学习笔记
快速学习故障测试2
87 0
故障测试2|学习笔记
|
Arthas 监控 测试技术
总结 | 学习笔记
快速学习总结
58 0
|
Scala 开发者
ListBuffer 的使用 | 学习笔记
快速学习 ListBuffer 的使用
156 0
ListBuffer 的使用 | 学习笔记
|
安全 Java 程序员
Potainer 使用|学习笔记
快速学习 Potainer 使用
143 0
Potainer 使用|学习笔记
|
分布式计算 Hadoop Apache
regexpQuery | 学习笔记
快速学习 regexpQuery
146 0
|
弹性计算 缓存 Linux
使用 syncthing | 学习笔记
快速学习使用 syncthing,介绍了使用 syncthing 系统机制, 以及在实际应用过程中如何使用。
314 0
使用 syncthing | 学习笔记
|
开发者 Python
__name__的使用 | 学习笔记
快速学习__name__的使用
107 0
__name__的使用 | 学习笔记