public void test() {
try {
getClient();
SearchRequest searchRequest = new SearchRequest("tomcat1-7.7.1-2020.06.22");
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
TermQueryBuilder termQueryBuilder = new TermQueryBuilder("_id","GYvx2nIBOcu5RyqDeLFr");
boolQueryBuilder.must(termQueryBuilder);
TermQueryBuilder termQueryBuilder2 = new TermQueryBuilder("_index","tomcat1-7.7.1-2020.06.22");
boolQueryBuilder.must(termQueryBuilder2);
RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("@timestamp");
rangeQueryBuilder.gte("2020-06-20T16:00:00.000Z");
rangeQueryBuilder.lte("2020-06-27T15:59:59.999Z");
boolQueryBuilder.must(rangeQueryBuilder);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(boolQueryBuilder);
searchSourceBuilder.from(0);
searchSourceBuilder.size(5);
searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));//查詢允許逾時時間
searchRequest.source(searchSourceBuilder);
//結果集
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
TotalHits totalHits = hits.getTotalHits();
long numHits = totalHits.value;
SearchHit[] searchHits = hits.getHits();
for (SearchHit hit : searchHits) {
// do something with the SearchHit
String index = hit.getIndex();
String id = hit.getId();
float score = hit.getScore();
String sourceAsString = hit.getSourceAsString();
Map<String, Object> sourceAsMap = hit.getSourceAsMap();
System.out.println(sourceAsMap);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
closeClient();
}
}
基礎用法請檢視:https://blog.csdn.net/qq_29384639/article/details/106842469