代码之家  ›  专栏  ›  技术社区  ›  yoav.str

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

  •  0
  • yoav.str  · 技术社区  · 7 年前

    在我的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> 
    

    这应该能为司机提供支持,但我一直在得到: 说明:

    行动:

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

    1 回复  |  直到 7 年前
        1
  •  2
  •   Bobzone    6 年前

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

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

    沿着 spring-boot-starter-data-elasticsearch 并且不要添加额外的配置类(在这里配置数据源),spring boot会抱怨。

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