Exception in thread "main" ElasticsearchStatusException[Elasticsearch exception

问题遇到的现象和发生背景
Exception in thread "main" ElasticsearchStatusException[Elasticsearch exception [type=security_exception, reason=missing authentication credentials for REST request [/app_dwm_company_info_r/_search?typed_keys=true&max_concurrent_shard_requests=5&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512]]]
    at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:176)
    at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:2011)
    at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1988)
    at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1745)
    at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1702)
    at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1672)
    at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:1128)
    at com.example.esdataqueryexample.EsDataQueryExampleApplication.main(EsDataQueryExampleApplication.java:42)
    Suppressed: org.elasticsearch.client.ResponseException: method [POST], host [http://172.27.115.210:19200], URI [/app_dwm_company_info_r/_search?typed_keys=true&max_concurrent_shard_requests=5&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512], status line [HTTP/1.1 401 Unauthorized]
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/app_dwm_company_info_r/_search?typed_keys=true&max_concurrent_shard_requests=5&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/app_dwm_company_info_r/_search?typed_keys=true&max_concurrent_shard_requests=5&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
        at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:326)
        at org.elasticsearch.client.RestClient.performRequest(RestClient.java:296)
        at org.elasticsearch.client.RestClient.performRequest(RestClient.java:270)
        at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2082)
        at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1732)
        ... 4 more


遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
package com.example.esdataqueryexample;
import org.apache.http.HttpHost;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
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 java.io.IOException;
import java.util.Base64;


public class EsDataQueryExampleApplication {
        public static void main(String[] args) {
            // 设置用户名和密码
            final String username = "elastic-read";
            final String password = "wyg@123456";
            // 设置全局默认的身份验证
            String credentials = username + ":" + password;
            String encodedCredentials = Base64.getEncoder().encodeToString(credentials.getBytes());


            // 创建Elasticsearch客户端
            try (RestHighLevelClient client = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("172.27.115.210", 19200, "http")))) {

                SearchRequest searchRequest = new SearchRequest("app_dwm_company_info_r");
                SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();

                // 设置查询条件
                sourceBuilder.query(QueryBuilders.matchQuery("company_industry_type_map", "工程行业"));

                // 设置排序
                sourceBuilder.sort("company_industry_type_map", SortOrder.ASC);

                searchRequest.source(sourceBuilder);

                // 执行查询
                SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

                // 处理查询结果
                System.out.println("Total hits: " + searchResponse.getHits().getTotalHits().value);
                // 可以在这里获取搜索结果并进行处理

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
}




运行结果及详细报错内容

img

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^