小编Dev*_*han的帖子

带有弹性搜索的 Spring Boot 导致 java.lang.NoSuchFieldError: IGNORE_DEPRECATIONS

我是弹性搜索的新手。开始使用 Elastic 搜索构建 Spring Boot 应用程序。

使用最新的 ES 版本"elasticsearch-7.7.1"并进行集成,我使用以下 maven 依赖项:

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>7.7.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

将以下配置添加到我的 Spring Boot 应用程序中:

@Configuration
public class ESConfig {

  @Bean(destroyMethod = "close")
  public RestHighLevelClient client() {
    RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
        RestClient.builder(new HttpHost("localhost")));
    return restHighLevelClient;
  }

}
Run Code Online (Sandbox Code Playgroud)

将以下属性添加到 application.yaml

elasticsearch:
  host: localhost
Run Code Online (Sandbox Code Playgroud)

应用程序启动时出现以下异常:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'client' threw exception; nested exception is java.lang.NoSuchFieldError: IGNORE_DEPRECATIONS
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
    ... 19 common frames omitted
Caused by: java.lang.NoSuchFieldError: …
Run Code Online (Sandbox Code Playgroud)

java spring maven elasticsearch spring-boot

10
推荐指数
1
解决办法
3843
查看次数

OPTIONS、TRACE 和 HEAD 请求方法的用例

有名为、和 的RequestMethodOPTIONSTRACEHEAD

要使用这些方法,我看不到任何映射,例如@DeleteMapping@GetMapping等......

一般我们都是通过GET调用来获取数据。那么,仍然不清楚“如何定义这些映射以及用例到底是什么”?

java rest spring http

8
推荐指数
2
解决办法
9321
查看次数

elasticsearch-rest-high-level-client vs elasticsearch-rest-client

我是弹性搜索的新手。开始使用 Elastic 搜索构建 Spring Boot 应用程序。

使用最新的 ES 版本“elasticsearch-7.7.1”并进行集成,我使用以下 maven 依赖项:

 <dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.7.1</version>
 </dependency>
Run Code Online (Sandbox Code Playgroud)

我在应用程序启动时遇到了问题,通过添加以下依赖项来解决:

   <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-client</artifactId>
        <version>7.7.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么elasticsearch-rest-client需要以及它与elasticsearch-rest-high-level-client?

java maven spring-boot elasticsearch-rest-client elasticsearch-high-level-restclient

6
推荐指数
1
解决办法
3490
查看次数

MongoDB:从字符串中删除最后两个字符

如何删除MongoDB中String的最后两个字符?

我尝试了以下解决方案,但没有奏效。

   $substr: [ "$document.field", 0, { $strLenCP: "$document.field" } - 2 ]
Run Code Online (Sandbox Code Playgroud)

substring substr mongodb

5
推荐指数
1
解决办法
1780
查看次数

Spring Data Elastic Search 与 Java 高级 REST 客户端

我是弹性搜索的新手。我们正在使用弹性搜索构建一个 Spring 启动应用程序。

为了集成我的 Spring Boot 应用程序,我们可以使用elasticsearch-rest-high-level-clientspring-boot-starter-data-elasticsearch.

任何人都可以详细说明哪个选项总体上更好,为什么?

java maven elasticsearch spring-boot elasticsearch-high-level-restclient

5
推荐指数
1
解决办法
2396
查看次数

@PatchMapping 的用例

有一个名为PATCH的RequestMethod

要使用此方法,我们可以为休息端点定义@PatchMapping 。根据我的理解,这听起来像是部分更新数据库对象。

通常,我们使用 POST 或 PUT 调用来执行保存或更新。那么,仍然不清楚 PatchMapping 的确切用例是什么,为什么我不能只使用 PUT 而不是 PATCH?

java rest spring hibernate http

4
推荐指数
1
解决办法
7747
查看次数

使 Spring boot 应用程序启动更快

spring-boot 中有两个 IOC 容器:BeanFactoryApplicationContext

根据我的理解,ApplicationContext支持bean的急切初始化,在哪里BeanFactory延迟初始化。

问题陈述:在我的 Spring boot 应用程序中,我想使用 bean 的延迟初始化来使应用程序启动更快。任何人都可以建议实现相同目标的解决方案吗?

java performance lazy-initialization applicationcontext spring-boot

1
推荐指数
1
解决办法
1798
查看次数