Class ElasticsearchIndexSettings
Constants in this class are to be appended to a prefix to form a property key;
see IndexSettings
for details.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Default values for the different settings if no values are given.static final class
Configuration property keys for indexing, without theprefix
. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The analysis configurer applied to this index.static final String
The default for thedynamic_mapping
attribute in the Elasticsearch mapping.static final String
The maximum size of bulk requests created when processing indexing queues.static final String
The prefix for indexing-related property keys.static final String
The number of indexing queues assigned to each index.static final String
The size of indexing queues.static final String
The path to a mappings file, allowing custom mappings for indexes created by Hibernate Search as part of schema management.static final String
The minimal required status of an index on startup, before Hibernate Search can start using it.static final String
The timeout when waiting for therequired status
.static final String
The path to a settings file, allowing custom settings for indexes created by Hibernate Search as part of schema management. -
Method Summary
-
Field Details
-
ANALYSIS_CONFIGURER
The analysis configurer applied to this index.Expects a single-valued or multi-valued reference to beans of type
ElasticsearchAnalysisConfigurer
.Defaults to no value.
- See Also:
-
SCHEMA_MANAGEMENT_MINIMAL_REQUIRED_STATUS
The minimal required status of an index on startup, before Hibernate Search can start using it.Expects an
IndexStatus
value, or a String representation of such value.Defaults to
yellow
when targeting an Elasticsearch distribution that supports index status checking, and to no value (no requirement) when targeting an Elasticsearch distribution that does not support index status checking (like Amazon OpenSearch Serverless).- See Also:
-
SCHEMA_MANAGEMENT_MINIMAL_REQUIRED_STATUS_WAIT_TIMEOUT
The timeout when waiting for therequired status
.Expects a positive Integer value in milliseconds, such as
60000
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchIndexSettings.Defaults.SCHEMA_MANAGEMENT_MINIMAL_REQUIRED_STATUS_WAIT_TIMEOUT
.- See Also:
-
SCHEMA_MANAGEMENT_SETTINGS_FILE
The path to a settings file, allowing custom settings for indexes created by Hibernate Search as part of schema management.Expects a string representing the path to a UTF-8-encoded file in the classpath. The file must contain index settings expressed in JSON format, with the exact same syntax as expected by the Elasticsearch server under the "settings" property when creating an index. For example, if the file content is
{"index.codec": "best_compression"}
, it will setindex.codec
tobest_compression
.Note that the settings generated by Hibernate Search will be overridden in case of conflict of some definitions. For instance, if an analyzer "myAnalyzer" is defined by the
ANALYSIS_CONFIGURER
and this settings file, the definition from the settings file will take precedence. If it is only defined in either the analysis configurer or the settings file, but not both, it will be preserved as-is.Defaults to no value, meaning only index settings generated by Hibernate Search will be used.
- See Also:
-
SCHEMA_MANAGEMENT_MAPPING_FILE
The path to a mappings file, allowing custom mappings for indexes created by Hibernate Search as part of schema management.Expects a string representing the path to a UTF-8-encoded file in the classpath. The file must contain index settings expressed in JSON format, with the exact same syntax as expected by the Elasticsearch server under the "mappings" property when defining the mapping for an index.
The file does not need to contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.
Conflicts between the given mapping and the mapping generated by Hibernate Search will be handled as follows:
- Mapping parameters other than
properties
at the mapping root will be those from the given mapping; those generated by Hibernate Search will be ignored. properties
will be merged, using properties defined in both the given mapping and the mapping generated by Hibernate Search. If a property is defined on both sides, mapping parameters from the given mapping will be used, except forproperties
, which will be merged recursively in the same way.
Defaults to no value, meaning only index mappings generated by Hibernate Search will be used.
- See Also:
- Mapping parameters other than
-
DYNAMIC_MAPPING
The default for thedynamic_mapping
attribute in the Elasticsearch mapping.In case of dynamic fields with field templates, this setting will be ignored, since field templates force
dynamic_mapping
toDynamicMapping.TRUE
.Defaults to
ElasticsearchIndexSettings.Defaults.DYNAMIC_MAPPING
.- See Also:
-
INDEXING_PREFIX
The prefix for indexing-related property keys.- See Also:
-
INDEXING_QUEUE_COUNT
The number of indexing queues assigned to each index.Expects a strictly positive integer value, or a string that can be parsed into an integer value.
Defaults to
ElasticsearchIndexSettings.Defaults.INDEXING_QUEUE_COUNT
.See the reference documentation, section "Elasticsearch backend - Indexing", for more information about this setting and its implications.
- See Also:
-
INDEXING_QUEUE_SIZE
The size of indexing queues.Expects a strictly positive integer value, or a string that can be parsed into an integer value.
See the reference documentation, section "Elasticsearch backend - Indexing", for more information about this setting and its implications.
Defaults to
ElasticsearchIndexSettings.Defaults.INDEXING_QUEUE_SIZE
.- See Also:
-
INDEXING_MAX_BULK_SIZE
The maximum size of bulk requests created when processing indexing queues.Expects a strictly positive integer value, or a string that can be parsed into an integer value.
See the reference documentation, section "Elasticsearch backend - Indexing", for more information about this setting and its implications.
Defaults to
ElasticsearchIndexSettings.Defaults.INDEXING_MAX_BULK_SIZE
.- See Also:
-