2017-11-27 6 views
0

springブートアプリケーション内でelasticSearchリポジトリを使用したいと思います。 は、私はしばらくの間、検索してきた弾性検索5.5.2ローカル実行中のインスタンスを持っているので、多くのいくつかのソースの組み合わせが、何も収量実用的なソリューションを試みたが、今私はにこだわっていますエラーspringbootを使用してローカルのelastic-searchインスタンスが動作しない

エラー私は間違って何をやっている 'elasticsearchTemplate'

を名前でBeanを作成しますか?

これは私のメインクラス

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) 
    public class Application { 

     public static void main(String[] args) { 

      Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1"); 
      try 
      { 
       SpringApplication.run(Application.class, args); 
      } 
      catch(Exception e) 
      { 
       logger.info("caught an exception",e); 
      } 

     } 
} 

設定クラス

@Configuration 
@EnableElasticsearchRepositories(basePackages = "hello") 
@ComponentScan(basePackages = {"hello"}) 
public class config { 

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

    @Bean 
    public ElasticsearchOperations elasticsearchTemplate() { 
     Settings.Builder elasticsearchSettings = 
       Settings.settingsBuilder() 
         .put("http.enabled", "false") // 1 
         .put("path.data", "/home/nad/elasticsearch_data") // 2 
         .put("path.home", "/home/nad/Downloads/elasticsearch-5.5.2"); // 3 



     return new ElasticsearchTemplate(nodeBuilder() 
       .local(true) 
       .settings(elasticsearchSettings.build()) 
       .node() 
       .client()); 
    } 

} 

build.gradleファイル

group 'FirstWebServer' 
version '1.0-SNAPSHOT' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE") 
    } 
} 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'idea' 
apply plugin: 'org.springframework.boot' 

jar { 
    baseName = 'gs-spring-boot' 
    version = '0.1.0' 
} 

repositories { 
    maven { url "http://repo.spring.io/milestone" } 
    mavenCentral() 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 
    // tag::jetty[] 
    compile("org.springframework.boot:spring-boot-starter-web") { 
     exclude module: "spring-boot-starter-tomcat" 
    } 
    compile("org.springframework.boot:spring-boot-starter-jetty") 
    // end::jetty[] 
    // tag::actuator[] 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
    // end::actuator[] 
    //compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch', version: '1.2.5.RELEASE' 
    compile group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.0.1.RELEASE' 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-parent', version: '2.0.0.M6', ext: 'pom' 
    compile("org.springframework.boot:spring-boot-starter-data-jpa") 
    compile group: 'org.projectlombok', name: 'lombok', version: '1.16.18' 

    testCompile("junit:junit") 
} 

トンは何かあります彼は適切な設定方法ですか?いくつかの例は、application.propertiesの設定を示しています。 何互換性、唯一2. *以下をelasticsearchいくつかのショーについて、いくつかは

はあなたの助けをありがとうございました:(その

その本当に混乱した

答えて

0

Elasticsearch 5.xを使用するには、Spring Data release Kay(すでにリリースされている)が必要です。これはSpring Boot 2の一部であり(すぐにリリースされる予定です)、今は唯一のオプションは最新のSpring Boot 2ビルドを使用し、安定したリリース。

一部の人がSpring Data KayをSpringブート1.5で試してみましたが、依存関係の地獄で終わってしまいました。たぶんコーナーのそばでSpring Boot 2で痛みを感じることはないでしょう。

関連する問題