我有一个问题,因为我无法找到哪个版本的elasticsearch与jhipster生成的1.5.2.RELEASE spring boot app兼容的信息。 当我在我的application-dev.yml
中使用属性在Windows上运行它时,一切都很完美 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并对其进行了配置......但它仍然对我的网络应用程序不可见。
我的弹性属性是
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: localhost:9300
任何解决方案并建议?
谢谢
答案 0 :(得分:2)
您无需担心版本控制,因为这是spring-boot的工作。
Spring Boot - > Dependency management
每个版本的Spring Boot都提供了它支持的依赖项的精选列表。实际上,您不需要为构建配置中的任何这些依赖项提供版本,因为Spring Boot正在为您管理这些依赖项。当您升级Spring Boot时,这些依赖项也将以一致的方式升级。
如JHipster
documentation所述,回到Elasticsearch
:
在制作中使用
在制作中,JHipster期待一个外部的Elasticsearch实例。默认情况下,应用程序查找在localhost上运行的Elasticsearch实例。这可以使用
application-prod.yml
文件中的标准Spring Boot属性进行配置。
创建JHipster项目并指定将使用ElasticSearch而不是在名为/src/main/docker/
的{{1}}下创建的docker配置文件包含:
elasticsearch.yml
以上示例摘自JHipster团队在jhipster-sample-app-elasticsearch
因此,在开始生产应用程序之前,请确保已启动ElasticSearch实例。解决方案是使用docker-compose启动它,您可以使用这样的配置文件:version: '2'
services:
jhipsterelasticsearchsampleapplication-elasticsearch:
image: elasticsearch:2.4.1
# volumes:
# - ~/volumes/jhipster/jhipsterElasticsearchSampleApplication/elasticsearch/:/usr/share/elasticsearch/data/
ports:
- 9200:9200
- 9300:9300