开发者学堂课程【ElasticSearch 最新快速入门教程:BoolQuery】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10652
BoolQuery
内容介绍:
一、组合查询(复杂查询)笔记
二、演示操作
一、组合查询(复杂查询)笔记
must(QueryBuilders):AND
must(QueryBuilders):NOT
must(QueryBuilders):OR
在定义 json:放置到 Elasticsearch 的插件中
{
“query”:{
“bool”:{
“must”:{
“term”:{
“title”:”elasticsearch”
}
},
“should”:{
“Range”:{
“id”:{
“from”:1
“to”:2
}
}
SearchResponse
searchResponse=client.prepareSearch
("blog2").setTypes
(“
article")
.setQuery(QueryBuilders.spanFirstQuery(QueryBuilders.spanTermQuery
(“
content
”,“问题”
)
,300)).get();
SearchHits
hits=searchResponse.getHits
();
//获取命中次数,查询结果有多少对象
二、演示操作
需求:查询索引库 blgdatas 中的 type 之 products 中,name 为 nadoop,,且 author 中包含了辛格的索引信息。
@ Test
public void testBoolQuery
(); {
//检索
SearchResponse response
=
client. prepareSearch(
I
NDEX
)
.setTypes(TYPE
)
.
setQuery(Query Builders, boolQuery
()
.m
ust(QueryBuilders.term
Q
uery
(
name: "name" , value:
”
hadoop
”))
.
must(Query Builders. wildcardQuery name: "author
”
, query
:
“辛格”
)
)
)
.get
()
;
//显示检索到的信息
SearchHits hits
=
response.getHits
();
for (SearchHit hit hits)
{
System.out printIn(hit. getSourceAsStringo
()
);
}