importorg.elasticsearch.action.search.SearchRequestBuilder;importorg.elasticsearch.action.search.SearchResponse;importorg.elasticsearch.client.transport.TransportClient;importorg.elasticsearch.common.settings.Settings;importorg.elasticsearch.common.transport.TransportAddress;importorg.elasticsearch.index.query.QueryBuilders;importorg.elasticsearch.search.SearchHit;importorg.elasticsearch.search.sort.SortOrder;importorg.elasticsearch.transport.client.PreBuiltTransportClient;importorg.junit.Test;importjava.net.InetAddress;importjava.net.UnknownHostException;importjava.util.Map;public classElasticsearchTest {
@Testpublic void queryTest() throwsUnknownHostException {//集群设置//Settings settings = Settings.builder().put("cluster.name", "myClusterName").build();//设置ES实例的名称
Settings settings = Settings.builder().put("client.transport.sniff", false).build();
TransportClient client= newPreBuiltTransportClient(settings);
client.addTransportAddress(new TransportAddress(InetAddress.getByName("172.16.4.141"), 9300));
SearchRequestBuilder searchBuilder= client.prepareSearch("logstash-*").setSize(10).setFrom(0);
searchBuilder.addSort("@timestamp", SortOrder.DESC);
searchBuilder.setQuery(QueryBuilders.multiMatchQuery("Success", "logger_name", "message", "host"));
searchBuilder.setQuery(QueryBuilders.matchPhraseQuery("level", "INFO"));
searchBuilder.setQuery(QueryBuilders.matchPhraseQuery("appName", "backend-sync"));
searchBuilder.setQuery(QueryBuilders.rangeQuery("@timestamp").from("2018-12-04T10:50:19.379Z").to("2018-12-04T10:58:19.379Z"));
SearchResponse response=searchBuilder.execute().actionGet();
System.out.println("TotalHits:" +response.getHits().getTotalHits());
System.out.println("TotalHits Return:" +response.getHits().getHits().length);
System.out.println("MaxScore:" +response.getHits().getMaxScore());for(SearchHit hit : response.getHits()) {
Map map =hit.getSourceAsMap();if (map != null) {
System.out.println(hit.getSourceAsString());
}
}
client.close();
}
}