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 SummaryFieldsModifier and TypeFieldDescriptionprotected final IndexConfigurationManagerprotected final Metadataprotected final PolicyStoreprotected final SearchPropertiesprotected final SearchUtilsprotected final SecureOperations
- 
Constructor SummaryConstructorsConstructorDescriptionStartsWithElasticsearchSearchStrategy(IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, SecureOperations secureOperations, PolicyStore policyStore, Metadata metadata, SearchUtils searchUtils) 
- 
Method SummaryModifier 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.AbstractSearchStrategytoString
- 
Field Details- 
indexConfigurationManager
- 
searchProperties
- 
secureOperations
- 
policyStore
- 
metadata
- 
searchUtils
 
- 
- 
Constructor Details- 
StartsWithElasticsearchSearchStrategypublic StartsWithElasticsearchSearchStrategy(IndexConfigurationManager indexConfigurationManager, SearchProperties searchProperties, SecureOperations secureOperations, PolicyStore policyStore, Metadata metadata, SearchUtils searchUtils) 
 
- 
- 
Method Details- 
getNameDescription copied from interface:SearchStrategyProvides the name of this search strategy. Name should be unique among all search strategies in application.- Specified by:
- getNamein interface- SearchStrategy
- Returns:
- name
 
- 
configureRequestpublic 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 interface- ElasticsearchSearchStrategy
- Parameters:
- requestBuilder- allows to configure search request
- searchContext- contains details about search being performed
 
- 
configureTermsQueryprotected void configureTermsQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext) 
- 
configureWildcardQueryprotected void configureWildcardQuery(co.elastic.clients.elasticsearch.core.SearchRequest.Builder requestBuilder, SearchContext searchContext, Set<String> effectiveFieldsToSearch) 
- 
isSearchTermExceedMaxPrefixSize
 
-