Disable default features that are not needed for enrich indices. (#46525)

Relates to #32789
This commit is contained in:
Martijn van Groningen 2019-09-11 09:20:10 +02:00
parent 9304f5c889
commit ef33a99e6e
No known key found for this signature in database
GPG Key ID: AB236F4FCF2AF12A
1 changed files with 6 additions and 1 deletions

View File

@ -196,11 +196,12 @@ public class EnrichPolicyRunner implements Runnable {
String keyType; String keyType;
if (EnrichPolicy.MATCH_TYPE.equals(policy.getType())) { if (EnrichPolicy.MATCH_TYPE.equals(policy.getType())) {
keyType = "keyword"; keyType = "keyword";
// No need to also configure index_options, because keyword type defaults to 'docs'.
} else { } else {
throw new ElasticsearchException("Unrecognized enrich policy type [{}]", policy.getType()); throw new ElasticsearchException("Unrecognized enrich policy type [{}]", policy.getType());
} }
// Disable _source on enrich index. Explicitly mark key mapping type. // Enable _source on enrich index. Explicitly mark key mapping type.
try { try {
XContentBuilder builder = JsonXContent.contentBuilder(); XContentBuilder builder = JsonXContent.contentBuilder();
builder.startObject() builder.startObject()
@ -234,6 +235,10 @@ public class EnrichPolicyRunner implements Runnable {
String enrichIndexName = EnrichPolicy.getBaseName(policyName) + "-" + nowTimestamp; String enrichIndexName = EnrichPolicy.getBaseName(policyName) + "-" + nowTimestamp;
Settings enrichIndexSettings = Settings.builder() Settings enrichIndexSettings = Settings.builder()
.put("index.number_of_replicas", 0) .put("index.number_of_replicas", 0)
// No changes will be made to an enrich index after policy execution, so need to enable automatic refresh interval:
.put("index.refresh_interval", -1)
// This disables eager global ordinals loading for all fields:
.put("index.warmer.enabled", false)
.build(); .build();
CreateIndexRequest createEnrichIndexRequest = new CreateIndexRequest(enrichIndexName, enrichIndexSettings); CreateIndexRequest createEnrichIndexRequest = new CreateIndexRequest(enrichIndexName, enrichIndexSettings);
createEnrichIndexRequest.mapping(MapperService.SINGLE_MAPPING_NAME, resolveEnrichMapping(policy)); createEnrichIndexRequest.mapping(MapperService.SINGLE_MAPPING_NAME, resolveEnrichMapping(policy));