当前位置: 首页 > 知识库问答 >
问题:

spring boot弹性搜索-配置数据源

贺刚毅
2023-03-14

我正在尝试配置Spring数据引导和ES项目在我的pom.xml我有:

@Configuration
 @EnableElasticsearchRepositories(basePackages = "com.yoyo.elastic.repository")
 public class ElasticConfiguration {


@Bean
public NodeBuilder nodeBuilder() {
    return new NodeBuilder();
}




@Bean
public ElasticsearchOperations elasticsearchTemplate() throws IOException {
    File tmpDir = File.createTempFile("elastic", Long.toString(System.nanoTime()));
    System.out.println("Temp directory: " + tmpDir.getAbsolutePath());

    final Client client = nodeBuilder().local(true).node().client();
    return  new ElasticsearchTemplate(client);
}

}

在我的pom xml中,我有这个dep:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency> 

这应该提供驱动程序,但我不断得到:描述:

无法确定数据库类型 NONE 的嵌入式数据库驱动程序

行动:

如果你想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有配置文件处于活动状态)。

共有1个答案

訾安邦
2023-03-14

我在尝试用Spring Boot和ElasticSearch进行一些练习时也遇到了同样的问题。

现在我发现如果你有

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

除了< code > spring-boot-starter-data-elastic search 之外,如果不添加额外的配置类(您可以在那里配置数据源), spring boot就会抱怨。

另一个解决方案是实际向应用程序添加数据源属性。属性和配置独立数据库(如H2)

 类似资料:
  • 升级到Spring boot 2.3和Spring data elasticsearch 4.0.9后的问题。我有这样的文档: 这在spring data 3.0中与Jackson配合得很好,但升级到4.0后,Jackson不再可用,现在我收到了一个来自spring的实例化异常,无法实例化URL对象。 例外情况: 任何关于解决方案的想法都将受到赞赏。

  • 是否缺少配置设置?

  • 我有一个设计糟糕的文档结构: 我想从上面的文档中检索标题、Fach和代码。 多谢了。

  • 我正在使用spring数据elasticsearch来执行CRUD操作。 我有一个扩展Elasticsearch chRepository的自定义存储库。 最终,ElasticsearchRepository扩展了CrudRepository,这意味着可以更新现有记录。 问题是,你是如何做到这一点的?我还没有找到一个名为“update()”的方法 我认为做以下事情会有用(代码从https://gi

  • 我需要运行以下查询: 但我不能用spring data elasticsearch轻松运行这个。 有什么办法吗 spring data elasticsearch是否很好地支持所有elasticsearch查询DSL

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。