Class ElasticsearchIndexManager
java.lang.Object
io.jmix.search.index.impl.BaseIndexManager
io.jmix.searchelasticsearch.index.impl.ElasticsearchIndexManager
- All Implemented Interfaces:
IndexManager
Implementation for Elasticsearch
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final co.elastic.clients.elasticsearch.ElasticsearchClient
protected final ElasticsearchIndexSettingsProvider
Fields inherited from class io.jmix.search.index.impl.BaseIndexManager
indexConfigurationManager, indexStateRegistry, MAP_TYPE_REF, objectMapper, searchProperties
-
Constructor Summary
ConstructorsConstructorDescriptionElasticsearchIndexManager
(co.elastic.clients.elasticsearch.ElasticsearchClient client, IndexStateRegistry indexStateRegistry, IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, ElasticsearchIndexSettingsProvider indexSettingsProcessor) -
Method Summary
Modifier and TypeMethodDescriptionprotected co.elastic.clients.elasticsearch._types.mapping.TypeMapping
buildMapping
(IndexConfiguration indexConfiguration) protected co.elastic.clients.elasticsearch.indices.IndexSettings
buildSettings
(IndexConfiguration indexConfiguration) boolean
createIndex
(IndexConfiguration indexConfiguration) Creates index if not exists using providedIndexConfiguration
.boolean
Drops index by name.com.fasterxml.jackson.databind.node.ObjectNode
getIndexMetadata
(String indexName) Requests info about index from server.protected co.elastic.clients.elasticsearch.indices.IndexState
getIndexMetadataInternal
(String indexName) getIndexMetadataMapInternal
(String indexName) protected boolean
isIndexActual
(IndexConfiguration indexConfiguration) boolean
isIndexExist
(String indexName) Checks if index exists.protected boolean
isIndexMappingActual
(IndexConfiguration indexConfiguration, co.elastic.clients.elasticsearch.indices.IndexState currentIndexState) protected boolean
isIndexSettingsActual
(IndexConfiguration indexConfiguration, co.elastic.clients.elasticsearch.indices.IndexState currentIndexState) protected com.fasterxml.jackson.databind.JsonNode
toJsonNode
(co.elastic.clients.json.JsonpSerializable object) protected com.fasterxml.jackson.databind.node.ObjectNode
toObjectNode
(co.elastic.clients.json.JsonpSerializable object) Methods inherited from class io.jmix.search.index.impl.BaseIndexManager
handleIrrelevantIndex, handleMissingIndex, nodeContains, recreateIndex, recreateIndexes, recreateIndexes, synchronizeIndexSchema, synchronizeIndexSchema, synchronizeIndexSchemas, synchronizeIndexSchemas, validateIndex, validateIndexes, validateIndexes
-
Field Details
-
client
protected final co.elastic.clients.elasticsearch.ElasticsearchClient client -
indexSettingsProcessor
-
-
Constructor Details
-
ElasticsearchIndexManager
public ElasticsearchIndexManager(co.elastic.clients.elasticsearch.ElasticsearchClient client, IndexStateRegistry indexStateRegistry, IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, ElasticsearchIndexSettingsProvider indexSettingsProcessor)
-
-
Method Details
-
createIndex
Description copied from interface:IndexManager
Creates index if not exists using providedIndexConfiguration
.- Parameters:
indexConfiguration
- index configuration- Returns:
- true if index was successfully created, false otherwise
-
dropIndex
Description copied from interface:IndexManager
Drops index by name.- Parameters:
indexName
- index name- Returns:
- true if index was successfully dropped, false otherwise
-
isIndexExist
Description copied from interface:IndexManager
Checks if index exists.- Parameters:
indexName
- index name- Returns:
- true if index exists, false otherwise
-
getIndexMetadata
Description copied from interface:IndexManager
Requests info about index from server.- Parameters:
indexName
- index name- Returns:
- response as Json
-
isIndexActual
- Specified by:
isIndexActual
in classBaseIndexManager
-
buildMapping
protected co.elastic.clients.elasticsearch._types.mapping.TypeMapping buildMapping(IndexConfiguration indexConfiguration) -
buildSettings
protected co.elastic.clients.elasticsearch.indices.IndexSettings buildSettings(IndexConfiguration indexConfiguration) -
toJsonNode
protected com.fasterxml.jackson.databind.JsonNode toJsonNode(co.elastic.clients.json.JsonpSerializable object) -
toObjectNode
protected com.fasterxml.jackson.databind.node.ObjectNode toObjectNode(co.elastic.clients.json.JsonpSerializable object) -
getIndexMetadataMapInternal
-
getIndexMetadataInternal
@Nullable protected co.elastic.clients.elasticsearch.indices.IndexState getIndexMetadataInternal(String indexName) -
isIndexMappingActual
protected boolean isIndexMappingActual(IndexConfiguration indexConfiguration, co.elastic.clients.elasticsearch.indices.IndexState currentIndexState) -
isIndexSettingsActual
protected boolean isIndexSettingsActual(IndexConfiguration indexConfiguration, co.elastic.clients.elasticsearch.indices.IndexState currentIndexState)
-