Class StartsWithElasticsearchSearchStrategy
java.lang.Object
io.jmix.search.searching.impl.AbstractSearchStrategy
io.jmix.searchelasticsearch.searching.strategy.impl.StartsWithElasticsearchSearchStrategy
- All Implemented Interfaces:
SearchStrategy,ElasticsearchSearchStrategy
@Component("search_StartsWithElasticsearchSearchStrategy")
public class StartsWithElasticsearchSearchStrategy
extends AbstractSearchStrategy
implements ElasticsearchSearchStrategy
Class that encapsulates logic of
SearchStrategy that searches documents by prefix.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final IndexConfigurationManagerprotected final Metadataprotected final PolicyStoreprotected final SearchPropertiesprotected final SearchUtilsprotected final SecureOperations -
Constructor Summary
ConstructorsConstructorDescriptionStartsWithElasticsearchSearchStrategy(IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, SecureOperations secureOperations, PolicyStore policyStore, Metadata metadata, SearchUtils searchUtils) -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigureRequest(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext) Configures ElasticsearchSearchRequest.protected voidconfigureTermsQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext) protected voidconfigureWildcardQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext, Set<String> effectiveFieldsToSearch) getName()Provides the name of this search strategy.protected booleanisSearchTermExceedMaxPrefixSize(String searchText, int maxPrefixSize) Methods inherited from class io.jmix.search.searching.impl.AbstractSearchStrategy
toString
-
Field Details
-
indexConfigurationManager
-
searchProperties
-
secureOperations
-
policyStore
-
metadata
-
searchUtils
-
-
Constructor Details
-
StartsWithElasticsearchSearchStrategy
public StartsWithElasticsearchSearchStrategy(IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, SecureOperations secureOperations, PolicyStore policyStore, Metadata metadata, SearchUtils searchUtils)
-
-
Method Details
-
getName
Description copied from interface:SearchStrategyProvides the name of this search strategy. Name should be unique among all search strategies in application.- Specified by:
getNamein interfaceSearchStrategy- Returns:
- name
-
configureRequest
public void configureRequest(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext) Description copied from interface:ElasticsearchSearchStrategyConfigures ElasticsearchSearchRequest.The main step - create appropriate query based on provided
SearchContextand set it to request.Configuration of another request parameters is optional.
Highlighting, size and offset shouldn't be configured here - these parameters will be overwritten.
- Specified by:
configureRequestin interfaceElasticsearchSearchStrategy- Parameters:
requestBuilder- allows to configure search requestsearchContext- contains details about search being performed
-
configureTermsQuery
protected void configureTermsQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext) -
configureWildcardQuery
protected void configureWildcardQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext, Set<String> effectiveFieldsToSearch) -
isSearchTermExceedMaxPrefixSize
-