开发者社区 > 大数据与机器学习 > 检索分析服务 Elasticsearch版 > 正文

"请教大家一个问题 本地下载了es,启动了,也插入了数据,springboot项目写了一个测试方法查

"请教大家一个问题 本地下载了es,启动了,也插入了数据,springboot项目写了一个测试方法查数据在执行到最后一行数据的时候报CommectionClosedException:Connection is closed 代码如下: CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(""elastic"", ""hx6f=XCq0XcI+O9DqwUQ"")); RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(""127.0.0.1"", 9200)).setHttpClientConfigCallback((HttpAsyncClientBuilder httpAsyncClientBuilder) -> httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider))); // 1.准备Request GetRequest request2 = new GetRequest(""spu"", ""1""); // 2.发送请求,得到响应 我只引入了spring-boot-starter-data-elasticsearch依赖,另外,我的springboot版本是2.3.5RELEASE,elasticsearch版本是8.6.2。 GetResponse response = client.get(request2, RequestOptions.DEFAULT);"

展开
收起
十一0204 2023-04-05 14:02:27 1013 0
1 条回答
写回答
取消 提交回答
  • 意中人就是我呀!

    "import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder; import org.elasticsearch.search.builder.SearchSourceBuilder;

    public class ElasticsearchExample {

    public static void main(String[] args) throws Exception {
        // 建立连接
        RestHighLevelClient client = new RestHighLevelClient(
            RestClient.builder(
                new HttpHost(""localhost"", 9200, ""http"")
            )
        );
        
        // 查询数据
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(QueryBuilders.matchQuery(""name"", ""John""));
        sourceBuilder.sort(""age"", SortOrder.DESC);
        sourceBuilder.from(0);
        sourceBuilder.size(10);
        
        SearchRequest searchRequest = new SearchRequest(""my-index"");
        searchRequest.source(sourceBuilder);
        
        SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
        SearchHits hits = searchResponse.getHits();
        
        for (SearchHit hit : hits.getHits()) {
            System.out.println(hit.getSourceAsString());
        }
        
        // 关闭连接
        client.close();
    }
    

    } 这个试一下。 此回答整理自钉群“Elasticsearch技术社区2群”"

    2023-04-05 14:14:43
    赞同 展开评论 打赏

阿里云检索分析服务Elasticsearch版兼容开源ELK功能,免运维全托管,提升企业数据检索与运维分析能力。

热门讨论

热门文章

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载