Class ElasticsearchEntitySearcher
java.lang.Object
io.jmix.search.searching.impl.AbstractEntitySearcher
io.jmix.searchelasticsearch.searching.impl.ElasticsearchEntitySearcher
- All Implemented Interfaces:
EntitySearcher
Implementation for Elasticsearch
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final co.elastic.clients.elasticsearch.ElasticsearchClientprotected final IndexConfigurationManagerprotected final InstanceNameProviderprotected final Metadataprotected final PolicyStoreprotected final ElasticsearchSearchStrategyProviderprotected final SecureOperationsFields inherited from class io.jmix.search.searching.impl.AbstractEntitySearcher
GENERIC_MAP_TYPE_REF, idSerialization, metadataTools, objectMapper, searchProperties, secureDataManager -
Constructor Summary
ConstructorsConstructorDescriptionElasticsearchEntitySearcher(co.elastic.clients.elasticsearch.ElasticsearchClient client, IndexConfigurationManager indexConfigurationManager, Metadata metadata, MetadataTools metadataTools, DataManager secureDataManager, InstanceNameProvider instanceNameProvider, SearchProperties searchProperties, IdSerialization idSerialization, SecureOperations secureOperations, PolicyStore policyStore, ElasticsearchSearchStrategyProvider searchStrategyManager) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplyPostStrategyRequestSettings(co.elastic.clients.elasticsearch.core.SearchRequest.Builder builder, SearchContext searchContext, int offset) protected voidconfigureHighlight(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder) protected SearchRequestContext<co.elastic.clients.elasticsearch.core.SearchRequest.Builder>createRequest(SearchContext searchContext, ElasticsearchSearchStrategy searchStrategy, int offset) protected voidfillSearchResult(SearchResultImpl searchResultImpl, Map<MetaClass, List<co.elastic.clients.elasticsearch.core.search.Hit<com.fasterxml.jackson.databind.node.ObjectNode>>> hitsByEntityName) protected Map<MetaClass,List<co.elastic.clients.elasticsearch.core.search.Hit<com.fasterxml.jackson.databind.node.ObjectNode>>> groupHitsByEntity(co.elastic.clients.elasticsearch.core.search.HitsMetadata<com.fasterxml.jackson.databind.node.ObjectNode> hits) protected voidinitRequest(co.elastic.clients.elasticsearch.core.SearchRequest.Builder builder, List<String> targetIndexes) protected SearchResultImplinitSearchResult(SearchContext searchContext, ElasticsearchSearchStrategy searchStrategy) protected ElasticsearchSearchStrategyresolveSearchStrategy(String searchStrategyName) resolveTargetIndexes(SearchContext searchContext) Deprecated, for removal: This API element is subject to removal in a future version.search(SearchContext searchContext) Performs search in search indexes according to providedSearchContextand defaultSearchStrategy.search(SearchContext searchContext, String searchStrategyName) Performs search in search indexes according to providedSearchContextandSearchStrategy.searchNextPage(SearchResult previousSearchResult) Performs search of next page according toSearchContextandSearchResultcontained in providedSearchStrategyrelated to previous page.Methods inherited from class io.jmix.search.searching.impl.AbstractEntitySearcher
createSearchResultEntry, formatFieldName, isDisplayedField, isResultFull, objectNodeToMap, reloadIds
-
Field Details
-
client
protected final co.elastic.clients.elasticsearch.ElasticsearchClient client -
indexConfigurationManager
-
metadata
-
instanceNameProvider
-
secureOperations
-
policyStore
-
searchStrategyManager
-
-
Constructor Details
-
ElasticsearchEntitySearcher
public ElasticsearchEntitySearcher(co.elastic.clients.elasticsearch.ElasticsearchClient client, IndexConfigurationManager indexConfigurationManager, Metadata metadata, MetadataTools metadataTools, DataManager secureDataManager, InstanceNameProvider instanceNameProvider, SearchProperties searchProperties, IdSerialization idSerialization, SecureOperations secureOperations, PolicyStore policyStore, ElasticsearchSearchStrategyProvider searchStrategyManager)
-
-
Method Details
-
search
Description copied from interface:EntitySearcherPerforms search in search indexes according to providedSearchContextand defaultSearchStrategy.- Specified by:
searchin interfaceEntitySearcher- Parameters:
searchContext- runtime settings of specific search- Returns:
SearchResultwith found objects
-
search
Description copied from interface:EntitySearcherPerforms search in search indexes according to providedSearchContextandSearchStrategy.- Specified by:
searchin interfaceEntitySearcher- Parameters:
searchContext- runtime settings of specific searchsearchStrategyName- the way incoming search text should be processed- Returns:
SearchResultwith found objects
-
searchNextPage
Description copied from interface:EntitySearcherPerforms search of next page according toSearchContextandSearchResultcontained in providedSearchStrategyrelated to previous page.- Specified by:
searchNextPagein interfaceEntitySearcher- Parameters:
previousSearchResult-SearchResultof previous page- Returns:
SearchResultwith found objects
-
initSearchResult
protected SearchResultImpl initSearchResult(SearchContext searchContext, ElasticsearchSearchStrategy searchStrategy) -
resolveTargetIndexes
@Deprecated(since="2.7", forRemoval=true) protected List<String> resolveTargetIndexes(SearchContext searchContext) Deprecated, for removal: This API element is subject to removal in a future version. -
resolveSearchStrategy
-
createRequest
protected SearchRequestContext<co.elastic.clients.elasticsearch.core.SearchRequest.Builder> createRequest(SearchContext searchContext, ElasticsearchSearchStrategy searchStrategy, int offset) -
initRequest
-
applyPostStrategyRequestSettings
protected void applyPostStrategyRequestSettings(co.elastic.clients.elasticsearch.core.SearchRequest.Builder builder, SearchContext searchContext, int offset) -
configureHighlight
protected void configureHighlight(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder) -
groupHitsByEntity
-
fillSearchResult
protected void fillSearchResult(SearchResultImpl searchResultImpl, Map<MetaClass, List<co.elastic.clients.elasticsearch.core.search.Hit<com.fasterxml.jackson.databind.node.ObjectNode>>> hitsByEntityName)
-