我将ElasticSearch-5.2.1与springboot一起使用,并在ElasticSearch中获得以下错误。球棒
JAVAlang.IllegalStateException:从不受支持的版本[2.0.0]收到的消息最小兼容版本为:[5.0.0]
在我的应用程序控制台中,出现以下错误:
原因:org。弹性搜索。客户运输NoNoNodeAvailableException:没有配置的节点可用:[{#transport#-1}{127.0.0.1}{127.0.0.1:9300}]
当我在谷歌搜索时,它要求升级传输客户端,但如何将传输客户端从2.0升级到5.0
下面是我的配置代码:
@Value("${elasticsearch.port}")
private int EsPort;
@Value("${elasticsearch.clustername}")
private String EsClusterName;
@值(“${elasticsearch.host}”)私有字符串EsHost;
@Bean
public Client client() throws Exception {
Settings esSettings = Settings.settingsBuilder().put("cluster.name", EsClusterName).build();
return TransportClient.builder()
.settings(esSettings)
.build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(EsHost), EsPort));
}
@Bean
public ElasticsearchOperations elasticsearchTemplate() throws Exception {
return new ElasticsearchTemplate(client());
}
确保elastic cluster已启动:点击urlhttp://localhost:9200在浏览器中。它应该给出如下类似的东西:
{
"name" : "JXfjbaL",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "7XzGYbE8QkGCMRwbqEriJw",
"version" : {
"number" : "5.5.3",
"build_hash" : "9305a5e",
"build_date" : "2017-09-07T15:56:59.599Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
在应用程序中添加“cluster_name”值作为“elasticsearch.clustername”。属性:应用程序中的示例值。属性:
elasticsearch.clustername =docker-cluster
elasticsearch.host =localhost
elasticsearch.port =9300
要确保在弹性搜索中启动并运行transport client,请从terminal:curl-XGET执行以下命令http://localhost:9300这应该会给你以下回复:“这不是一个HTTP端口”
(如果你在windows上,请安装curl)
这意味着群集已启动并正在运行。
在您的pom.xml中添加以下依赖性:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
</dependency>
这将为您的spring项目获取适当的spring数据。将传输客户端声明更改为下面使用的声明:
TransportClient client = new PreBuiltTransportClient(esSettings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(EsHost), EsPort));
以上配置应该可以正常工作。如果您正在通过docker运行弹性搜索。然后确保运行docker映像的命令如下所示。这将处理主机映射并禁用xpack安全性。
docker run -p 9200:9200 -p 9300:9300 -e "http.host=0.0.0.0" -e "transport.host=0.0.0.0" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.5.3
我只是创建了一个new-project,即使对于新项目,它也会给出如下注释的错误: 生命周期配置不包括的插件执行:org.apache.maven.plugins:maven-compiler-plugin:3.1:compile(执行:default-compile,phase:compile) 生命周期配置不包括的插件执行:org.apache.maven.plugins:maven-reso
问题内容: 我定义这样的张量: 但是当我尝试打印张量的形状时: 我得到 Tensor(“ Shape:0”,shape =(1,),dtype = int32) ,为什么输出结果不应为shape =(100) 问题答案: tf.shape(input,name = None) 返回表示输入形状的一维整数张量。 你要找的:它返回的的变量。
在Windows 7上运行的Tomcat 7使用servlet注释,当我尝试此URL时给我一个404错误:http://localhost:8080/LoginExample/Tomcat使用JRE 1.7,servlet类包含在文件夹中.../webapps/Loginexample。它是使用Java1.7编译的。我没有Web.xml.它部署时没有错误。 这是类:
突然,我的机器人开始出现这个错误: [onTurnError]未处理错误:错误:Get Token请求返回http错误:401和服务器响应:{“error”:“invalid_client”,“error_description”:“AADSTS7000222:提供的客户端密钥已过期。访问Azure门户为应用程序创建新密钥,或考虑使用证书凭据以增加安全性:https://docs.microsof
我知道有很多类似的问题,但我试过各种各样的事情,仍然不知道该怎么办。我最近才开始学习java,刚刚能够使用文本编辑器用。java文件打印“Hello World”。那时我决定使用IDE并下载了NetBeans12.0。一旦netbeans准备好,我点击“New Project”并选择“Java with Maven”和“Java Application”。一旦我完成了项目的设置,我右键点击这个包并