2017-06-16 48 views
0

我有一個問題,因爲我無法找到任何地方的信息,哪些版本的elasticsearch與1.5.2.RELEASE spring引導應用程序通過jhipster生成兼容。 一切完美的作品,當我在窗戶性質在我的應用程序dev.yml運行無法引用bean ElasticSearch

 elasticsearch: 
     cluster-name: 
     cluster-nodes: 
     properties: 
      path: 
       logs: target/elasticsearch/log 
       data: target/elasticsearch/data 

在生產我只是警告說,我的應用程序不能與elasticsearch服務連接。這很正常,因爲我沒有在9300端口上運行它......但是我還有另外一個問題。當我嘗試將其部署到我的Linux服務器(debian)時,出現了一些錯誤:'無法解析對bean elasticsearchTemplate的引用'以及另一個嵌套異常等錯誤...有關elasticsearch和構造函數參數的所有錯誤。

我試着下載彈性搜索寡婦和測試它,所以我做到了。我下載了elasticsearch版本5.4.1並進行了配置......但它對我的web應用程序仍然是不可見的。

我的實際財產彈性是

 elasticsearch: 
     cluster-name: elasticsearch 
     cluster-nodes: localhost:9300 

任何解決方案和建議?

感謝

+0

spring-data-elasticsearch不支持Elasticsearch v5。請使用Elasticsearch v2,直到在幾個月內發佈'Kay'。 https://github.com/spring-projects/spring-data-commons/wiki/Release-Train-Kay –

回答

1

你不需要擔心版本,因爲這是春天啓動的工作。

春季啓動 - >Dependency management

春天啓動的每個版本提供支持的依賴關係的組織列表。在實踐中,您不需要爲構建配置中的任何這些依賴項提供版本,因爲Spring Boot正在爲您進行管理。當您升級Spring Boot本身時,這些依賴關係也將以一致的方式升級。

而且作爲Elasticsearchdocumentation注意回JHipster
在生產中使用

在生產,JHipster預計外部Elasticsearch實例。默認情況下,應用程序查找在localhost上運行的Elasticsearch實例。這可以通過使用application-prod.yml文件中的標準Spring Boot屬性進行配置。

當創建JHipster項目和指定將要使用ElasticSearch比/src/main/docker/命名elasticsearch.yml含有下創建一個搬運工配置文件:

version: '2' 
services: 
    jhipsterelasticsearchsampleapplication-elasticsearch: 
     image: elasticsearch:2.4.1 
     # volumes: 
     #  - ~/volumes/jhipster/jhipsterElasticsearchSampleApplication/elasticsearch/:/usr/share/elasticsearch/data/ 
     ports: 
      - 9200:9200 
      - 9300:9300 

上面的例子是從ElasticSearch的示例中提取JHipster團隊的項目jhipster-sample-app-elasticsearch

因此,在開始生產應用程序之前,請確保您已啓動ElasticSearch實例。一個解決方案是用docker-compose啓動它,你可以像這樣使用該配置文件:docker-compose -f path-to/elasticsearch.yml up -d