开发者学堂课程【ElasticSearch 最新快速入门教程:SearchType 案例演示】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10650
SearchType 案例演示
内容介绍:
一、SearchType 案例演示提纲
二、演示操作
一、SearchType 案例演示提纲
*测试:检索类型,以及分页检索
@
Test
public void testSearchTypeandsplitPag
() {
案例1:检索 bigdata 索引库中,product type 中的字段 name 为 hive 的索引信息。学习知识点:检索类型,分页检索
SearchResponse response
=
client. preparesearch(indices)
//指定所关注的 type
.
setTypes (TYPE_PRODUCT)
//设定 searchType
.
set searchType( searchType. DFS_ QUERY_ THEN _ FETCH)
//设置分页(查询第一页,每页显示2条记录),公式:开始索引=(页码-1)*pagesize
.
setFrom((
1
- 1)
*
2)
.
setsize(2)
//设置查询的条件
.
set
Q
uery (QueryBuilders. termQuery("name","hive
”
))
.get
()
;
//从结果中显示所有满足条件的记录
SearchHits hits =
response.getHits()
For (SearchHit hit : hits) {
Logger.info(“
检索到的document信息是:
”
+ hit
.
getSourceAsStri
ng());
}
二、演示操作
需求:检索 bigdataa 索引库中,product type 中的字段 name 为 sparkE 的索引信息。学习知识点:检索类型,分页检索
@
Test
public void testSearchType(
){
//当前页
int currentPage
=
1;
//每页显示的记录条数
int pagesize
=
2;
//开始进行定制了 earchType 的分页检索
SearchResponse response client. prepareSearch(NDEX
.
setTypes(TYP
E
)
.
setSearchTy
p
e(SearchType. DFS QUERY THEN FETCH
)
.
setFrom((currentPage.1)*pagesize)
.
setsize(pagesize)
.s
etQuery( Query Builders, termQwery name: " name Spark))
.
get
()
;
//显示检索到的信息
SearchHits hits
=
response,getHits
();
for(SearchHit hit:hits)
System.out
.
printIn(hit.getSourceAsString
()
);