|
42 | 42 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_DEPTH_LIMIT_SETTING;
|
43 | 43 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_DIMENSION_FIELDS_LIMIT_SETTING;
|
44 | 44 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_FIELD_NAME_LENGTH_LIMIT_SETTING;
|
| 45 | +import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_IGNORE_DYNAMIC_BEYOND_LIMIT_SETTING; |
45 | 46 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING;
|
46 | 47 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING;
|
47 | 48 | import static org.elasticsearch.index.mapper.MapperService.INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING;
|
@@ -753,6 +754,7 @@ private void setRetentionLeaseMillis(final TimeValue retentionLease) {
|
753 | 754 | private volatile long mappingNestedFieldsLimit;
|
754 | 755 | private volatile long mappingNestedDocsLimit;
|
755 | 756 | private volatile long mappingTotalFieldsLimit;
|
| 757 | + private volatile boolean ignoreDynamicFieldsBeyondLimit; |
756 | 758 | private volatile long mappingDepthLimit;
|
757 | 759 | private volatile long mappingFieldNameLengthLimit;
|
758 | 760 | private volatile long mappingDimensionFieldsLimit;
|
@@ -897,6 +899,7 @@ public IndexSettings(final IndexMetadata indexMetadata, final Settings nodeSetti
|
897 | 899 | mappingNestedFieldsLimit = scopedSettings.get(INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING);
|
898 | 900 | mappingNestedDocsLimit = scopedSettings.get(INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING);
|
899 | 901 | mappingTotalFieldsLimit = scopedSettings.get(INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING);
|
| 902 | + ignoreDynamicFieldsBeyondLimit = scopedSettings.get(INDEX_MAPPING_IGNORE_DYNAMIC_BEYOND_LIMIT_SETTING); |
900 | 903 | mappingDepthLimit = scopedSettings.get(INDEX_MAPPING_DEPTH_LIMIT_SETTING);
|
901 | 904 | mappingFieldNameLengthLimit = scopedSettings.get(INDEX_MAPPING_FIELD_NAME_LENGTH_LIMIT_SETTING);
|
902 | 905 | mappingDimensionFieldsLimit = scopedSettings.get(INDEX_MAPPING_DIMENSION_FIELDS_LIMIT_SETTING);
|
@@ -976,6 +979,10 @@ public IndexSettings(final IndexMetadata indexMetadata, final Settings nodeSetti
|
976 | 979 | scopedSettings.addSettingsUpdateConsumer(INDEX_SOFT_DELETES_RETENTION_LEASE_PERIOD_SETTING, this::setRetentionLeaseMillis);
|
977 | 980 | scopedSettings.addSettingsUpdateConsumer(INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING, this::setMappingNestedFieldsLimit);
|
978 | 981 | scopedSettings.addSettingsUpdateConsumer(INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING, this::setMappingNestedDocsLimit);
|
| 982 | + scopedSettings.addSettingsUpdateConsumer( |
| 983 | + INDEX_MAPPING_IGNORE_DYNAMIC_BEYOND_LIMIT_SETTING, |
| 984 | + this::setIgnoreDynamicFieldsBeyondLimit |
| 985 | + ); |
979 | 986 | scopedSettings.addSettingsUpdateConsumer(INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING, this::setMappingTotalFieldsLimit);
|
980 | 987 | scopedSettings.addSettingsUpdateConsumer(INDEX_MAPPING_DEPTH_LIMIT_SETTING, this::setMappingDepthLimit);
|
981 | 988 | scopedSettings.addSettingsUpdateConsumer(INDEX_MAPPING_FIELD_NAME_LENGTH_LIMIT_SETTING, this::setMappingFieldNameLengthLimit);
|
@@ -1519,6 +1526,14 @@ private void setMappingTotalFieldsLimit(long value) {
|
1519 | 1526 | this.mappingTotalFieldsLimit = value;
|
1520 | 1527 | }
|
1521 | 1528 |
|
| 1529 | + private void setIgnoreDynamicFieldsBeyondLimit(boolean ignoreDynamicFieldsBeyondLimit) { |
| 1530 | + this.ignoreDynamicFieldsBeyondLimit = ignoreDynamicFieldsBeyondLimit; |
| 1531 | + } |
| 1532 | + |
| 1533 | + public boolean isIgnoreDynamicFieldsBeyondLimit() { |
| 1534 | + return ignoreDynamicFieldsBeyondLimit; |
| 1535 | + } |
| 1536 | + |
1522 | 1537 | public long getMappingDepthLimit() {
|
1523 | 1538 | return mappingDepthLimit;
|
1524 | 1539 | }
|
|
0 commit comments