微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将传输客户端迁移到 RestHighLevelClient 搜索查询

如何解决将传输客户端迁移到 RestHighLevelClient 搜索查询

我是弹性搜索的新手。我必须将搜索查询从传输客户端迁移到 RestHighLevelClient。

以下是我需要迁移的传输客户端代码

SearchRequestBuilder searchRequestBuilder = Client.prepareSearch(elasticsearchIndex);
    
            try {
                searchRequestBuilder.
                        setQuery(generateBoolQuery(keyword))
                        .setFrom(0).setSize(100).setExplain(true)
                        .execute().actionGet();
            } catch (Exception ex) {
                LOGGER.debug(errorMessage,ex);
                throw new BadKeywordFormatException("Keyword \'" + keyword + "\' has " + "Unsupported characters. ",ex);
            } 


I have written corresponding code as 

     SearchRequest searchRequest = new SearchRequest(elasticsearchIndex);
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(generateBoolQuery(keyword));
        searchSourceBuilder.from(0).size(100).explain(true);
        searchRequest.source(searchSourceBuilder);
        SearchResponse searchResponse;
        try {
             searchResponse = elasticsearchClient.search(searchRequest,RequestOptions.DEFAULT);
        } catch (IOException e) {
            LOGGER.debug(errorMessage,e);
            throw new BadKeywordFormatException("Keyword \'" + keyword + "\' has " + "Unsupported characters. ",e);
        }

请告诉我这段代码有什么问题?请帮我正确对应的代码

我正在附加执行此查询时收到的错误日志。

错误日志

Exception in thread "main" ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception,reason=all shards Failed]]
        at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:177)
        at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1727)
        at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1704)
        at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1467)
        at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
        at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
        at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:930)



================================================================================================


        Suppressed: org.elasticsearch.client.ResponseException: method [POST],host [https://localhost:9200],URI [/index_name/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512&ccs_minimize_roundtrips=true],status line [HTTP/1.1 400 Bad Request]
{"error":{"root_cause":[{"type":"query_shard_exception","reason":"Failed to create query: {\n  \"bool\" : {\n    \"filter\" : [\n      {\n        \"bool\" : {\n          \"should\" : [\n            {\n              \"regexp\" : {\n                \"name\" : {\n                  \"value\" : \"/\\\\b(?:\\\\d[ -]*?){13,16}\\\\b/\",\n                  \"flags_value\" : 65535,\n                  \"max_determinized_states\" : 10000,\n                  \"boost\" : 1.0\n                }\n              }\n            }\n          ],\n          \"adjust_pure_negative\" : true,\n          \"boost\" : 1.0\n        }\n      }\n    ],\n    \"adjust_pure_negative\" : true,\n    \"boost\" : 1.0\n  }\n}","index_uuid":"wPZPF4RH2gMlH","index":"index_name"}],"type":"search_phase_execution_exception","reason":"all shards Failed","phase":"query","grouped":true,"Failed_shards":[{"shard":0,"index":"index_name","node":"jKaYqlQwCHqlch","reason":{"type":"query_shard_exception","caused_by":{"type":"illegal_argument_exception","reason":"expected ']' at position 25"}}}]},"status":400}
                at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:253)
                at org.elasticsearch.client.RestClient.performRequest(RestClient.java:231)
                at org.elasticsearch.client.RestClient.performRequest(RestClient.java:205)
                at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1454)

提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。