fine tuning load of settings and mappings, fix date time pattern, disable prune/shift by default

2.2.1.34
Jörg Prante 3 years ago
parent f311573c1e
commit 3aa46a7f30

@ -15,6 +15,7 @@ import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.nio.charset.MalformedInputException; import java.nio.charset.MalformedInputException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Locale; import java.util.Locale;
@ -79,7 +80,7 @@ public class DefaultIndexDefinition implements IndexDefinition {
String dateTimeFormat = settings.get("dateTimeFormat", "yyyyMMdd"); String dateTimeFormat = settings.get("dateTimeFormat", "yyyyMMdd");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(dateTimeFormat) DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(dateTimeFormat)
.withZone(ZoneId.systemDefault()); .withZone(ZoneId.systemDefault());
String fullName = indexName + dateTimeFormatter.format(LocalDate.now()); String fullName = indexName + dateTimeFormatter.format(LocalDateTime.now());
String fullIndexName = adminClient.resolveAlias(fullName).stream().findFirst().orElse(fullName); String fullIndexName = adminClient.resolveAlias(fullName).stream().findFirst().orElse(fullName);
IndexRetention indexRetention = new DefaultIndexRetention() IndexRetention indexRetention = new DefaultIndexRetention()
.setMinToKeep(settings.getAsInt("retention.mintokeep", 0)) .setMinToKeep(settings.getAsInt("retention.mintokeep", 0))
@ -93,8 +94,8 @@ public class DefaultIndexDefinition implements IndexDefinition {
.setDateTimeFormatter(dateTimeFormatter) .setDateTimeFormatter(dateTimeFormatter)
.setDateTimePattern(dateTimePattern) .setDateTimePattern(dateTimePattern)
.setIgnoreErrors(settings.getAsBoolean("skiperrors", false)) .setIgnoreErrors(settings.getAsBoolean("skiperrors", false))
.setShift(settings.getAsBoolean("shift", true)) .setShift(settings.getAsBoolean("shift", false))
.setPrune(settings.getAsBoolean("prune", true)) .setPrune(settings.getAsBoolean("prune", false))
.setReplicaLevel(settings.getAsInt("replica", 0)) .setReplicaLevel(settings.getAsInt("replica", 0))
.setMaxWaitTime(settings.getAsLong("timeout", 30L), TimeUnit.SECONDS) .setMaxWaitTime(settings.getAsLong("timeout", 30L), TimeUnit.SECONDS)
.setRetention(indexRetention) .setRetention(indexRetention)
@ -302,12 +303,16 @@ public class DefaultIndexDefinition implements IndexDefinition {
return null; return null;
} }
try { try {
XContentBuilder builder = JsonXContent.contentBuilder();
try (InputStream inputStream = findInputStream(string)) { try (InputStream inputStream = findInputStream(string)) {
Settings settings = Settings.builder().loadFromStream(string, inputStream).build(); if (inputStream != null) {
XContentBuilder builder = JsonXContent.contentBuilder(); Settings settings = Settings.builder().loadFromStream(string, inputStream).build();
settings.toXContent(builder, ToXContent.EMPTY_PARAMS); builder.startObject();
return builder.string(); settings.toXContent(builder, ToXContent.EMPTY_PARAMS);
builder.endObject();
}
} }
return builder.string();
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
return string; return string;
} catch (IOException e) { } catch (IOException e) {
@ -320,21 +325,20 @@ public class DefaultIndexDefinition implements IndexDefinition {
return null; return null;
} }
try { try {
XContentBuilder builder = JsonXContent.contentBuilder();
try (InputStream inputStream = findInputStream(string)) { try (InputStream inputStream = findInputStream(string)) {
if (string.endsWith(".json")) { if (inputStream != null) {
Map<String, ?> mappings = JsonXContent.jsonXContent.createParser(inputStream).mapOrdered(); if (string.endsWith(".json")) {
XContentBuilder builder = JsonXContent.contentBuilder(); Map<String, ?> mappings = JsonXContent.jsonXContent.createParser(inputStream).mapOrdered();
builder.startObject().map(mappings).endObject(); builder.map(mappings);
return builder.string(); }
} if (string.endsWith(".yml") || string.endsWith(".yaml")) {
if (string.endsWith(".yml") || string.endsWith(".yaml")) { Map<String, ?> mappings = YamlXContent.yamlXContent.createParser(inputStream).mapOrdered();
Map<String, ?> mappings = YamlXContent.yamlXContent.createParser(inputStream).mapOrdered(); builder.map(mappings);
XContentBuilder builder = JsonXContent.contentBuilder(); }
builder.startObject().map(mappings).endObject();
return builder.string();
} }
} }
return string; return builder.string();
} catch (MalformedInputException e) { } catch (MalformedInputException e) {
return string; return string;
} catch (IOException e) { } catch (IOException e) {

@ -1,6 +1,6 @@
group = org.xbib group = org.xbib
name = elx name = elx
version = 2.2.1.33 version = 2.2.1.34
gradle.wrapper.version = 6.6.1 gradle.wrapper.version = 6.6.1
xbib-metrics.version = 2.1.0 xbib-metrics.version = 2.1.0

Loading…
Cancel
Save