Spring数据弹性搜索:删除低磁盘水印警告
在运行Spring Data embedded Elastic Search时,我不断收到警告Spring数据弹性搜索:删除低磁盘水印警告,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,在运行Spring Data embedded Elastic Search时,我不断收到警告超过了磁盘低水印 通常,在运行单独的ES服务器时,我会通过配置弹性搜索配置文件来消除这些类型的警告 有没有办法在.properties文件或@ConfigurationJava类中指定一些配置参数,以便在嵌入式Spring Data ES版本中关闭此警告 谢谢 编辑: ElasticSearchConfiguration.class @Configuration @EnableElasticsearch
超过了磁盘低水印
通常,在运行单独的ES服务器时,我会通过配置弹性搜索配置文件来消除这些类型的警告
有没有办法在.properties文件或@Configuration
Java类中指定一些配置参数,以便在嵌入式Spring Data ES版本中关闭此警告
谢谢
编辑:
ElasticSearchConfiguration.class
@Configuration
@EnableElasticsearchRepositories(basePackages = "eu.step.search")
public class ElasticSearchConfiguration {
@Bean
public ElasticsearchTemplate elasticsearchTemplate (Client client, Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder) {
return new ElasticsearchTemplate(client, new CustomEntityMapper(jackson2ObjectMapperBuilder.createXmlMapper(false).build()));
}
public class CustomEntityMapper implements EntityMapper {
private ObjectMapper objectMapper;
public CustomEntityMapper (ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
}
@Override
public String mapToString (Object object) throws IOException {
return objectMapper.writeValueAsString(object);
}
@Override
public <T> T mapToObject (String source, Class <T> clazz) throws IOException {
return objectMapper.readValue(source, clazz);
}
}
}
@配置
@EnableElasticsearchRepositories(basePackages=“eu.step.search”)
公共类ElasticSearchConfiguration{
@豆子
公共ElasticsearchTemplate ElasticsearchTemplate(客户端,Jackson2ObjectMapperBuilder Jackson2ObjectMapperBuilder){
返回新的ElasticsearchTemplate(客户端,新的CustomEntityMapper(jackson2ObjectMapperBuilder.createXmlMapper(false.build()));
}
公共类CustomEntityMapper实现EntityMapper{
私有对象映射器对象映射器;
公共CustomEntityMapper(ObjectMapper ObjectMapper){
this.objectMapper=objectMapper;
objectMapper.configure(在未知属性上反序列化feature.FAIL,false);
configure(反序列化功能。接受单个值作为数组,true);
}
@凌驾
公共字符串mapToString(对象对象)引发IOException{
返回objectMapper.writeValueAsString(对象);
}
@凌驾
公共T mapToObject(字符串源,类clazz)引发IOException{
返回objectMapper.readValue(源,clazz);
}
}
}
构建节点时,可以指定适当的配置设置:
ImmutableSettings.Builder settingsBuilder = ImmutableSettings.settingsBuilder();
settingsBuilder.put("node.name", "MyNode");
settingsBuilder.put("cluster.routing.allocation.disk.threshold_enabled", "false");
Settings settings = settingsBuilder.build();
node = NodeBuilder.nodeBuilder()
.settings(settings)
.clusterName("MyCluster")
.local(true).node();
构建节点时,可以指定适当的配置设置:
ImmutableSettings.Builder settingsBuilder = ImmutableSettings.settingsBuilder();
settingsBuilder.put("node.name", "MyNode");
settingsBuilder.put("cluster.routing.allocation.disk.threshold_enabled", "false");
Settings settings = settingsBuilder.build();
node = NodeBuilder.nodeBuilder()
.settings(settings)
.clusterName("MyCluster")
.local(true).node();
事实证明,您可以通过在application.properties中指定以下参数来完成此操作:
spring.data.elasticsearch.properties.cluster.routing.allocation.disk.threshold_enabled=false
事实证明,您可以通过在application.properties中指定以下参数来完成此操作:
spring.data.elasticsearch.properties.cluster.routing.allocation.disk.threshold_enabled=false