ElasticSearch Java Client: RestHighLevelClient 查询操作

maven repository:

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>

// es 6.0以上支持RestHighLevelClient
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(your_host, your_port, "http")));
SearchRequest searchRequest = new SearchRequest(your_es_index);
        searchRequest.types(your_es_type);
        SearchSourceBuilder searchSourceBuilder =  new SearchSourceBuilder();
        //查询条件,可以参考官网手册
        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
        boolQuery.must(QueryBuilders.wildcardQuery("host", "10.229.208.*"));
        boolQuery.mustNot(QueryBuilders.matchQuery("message", "DISPLAY_CMDRECORD"));
        boolQuery.mustNot(QueryBuilders.matchQuery("message", "SUPPRESS_LOG"));
        boolQuery.filter(QueryBuilders.rangeQuery("@timestamp").gte(start).lte(end));
        searchSourceBuilder.query(boolQuery);
        String[] includeFields = new String[] {"message", "@timestamp"};
        String[] excludeFields = new String[] {};
        searchSourceBuilder.fetchSource(includeFields, excludeFields);
        searchRequest.source(searchSourceBuilder);
        try {
            //查询结果
            SearchResponse searchResponse = this.client.search(searchRequest, RequestOptions.DEFAULT);
            SearchHits hits = searchResponse.getHits();
            SearchHit[] searchHits = hits.getHits();
            for(SearchHit hit : searchHits) {
                System.out.println(hit.getSourceAsString());
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容