2017-06-16 79 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