Package io.jmix.search
Class SearchProperties
java.lang.Object
io.jmix.search.SearchProperties
@ConfigurationProperties(prefix="jmix.search")
@ConstructorBinding
public class SearchProperties
extends Object
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanWhether automatic indexing of changed entities is enabled.protected final StringName of default search strategyprotected final SearchProperties.Elasticsearchprotected final booleanWhether all entity instances related to indexes created or recreated on startup should be enqueued automatically.List of entities that should be automatically enqueued on startup in case of index recreation.protected final StringCRON expression that is used by default Enqueueing Session processing quartz scheduling configuration.protected final StringCRON expression that is used by default Indexing Queue processing quartz scheduling configuration.protected final IndexSchemaManagementStrategyThe way of index schema synchronization.protected final intMax amount of result pages.protected final intAmount of queue items processed in single batch.protected final intAmount of entity instances enqueued in single batch during entity reindex process.protected final booleanWhether the Rest High Level Client should be able to communicate with Elasticsearch version 8.x.protected final StringPrefix for search index name.protected final intBatch size for post-search entity processing.protected final intMax amount of objects displayed on single page of search result.protected final booleanWhether the default Enqueueing Session processing quartz scheduling configuration is used.protected final booleanWhether the default Indexing Queue processing quartz scheduling configuration is used. -
Constructor Summary
ConstructorsConstructorDescriptionSearchProperties(int searchResultPageSize, int maxSearchPageCount, int searchReloadEntitiesBatchSize, int processQueueBatchSize, int reindexEntityEnqueueBatchSize, boolean changedEntitiesIndexingEnabled, boolean useDefaultIndexingQueueProcessingQuartzConfiguration, boolean useDefaultEnqueueingSessionProcessingQuartzConfiguration, boolean enqueueIndexAllOnStartupIndexRecreationEnabled, boolean restHighLevelClientApiCompatibilityModeEnabled, String enqueueIndexAllOnStartupIndexRecreationEntities, String searchIndexNamePrefix, String defaultSearchStrategy, String indexSchemaManagementStrategy, String indexingQueueProcessingCron, String enqueueingSessionProcessingCron, SearchProperties.Elasticsearch elasticsearch) -
Method Summary
Modifier and TypeMethodDescriptionorg.elasticsearch.action.support.WriteRequest.RefreshPolicyintintintintintbooleanbooleanbooleanbooleanbooleanprepareStartupEnqueueingEntities(String enqueueIndexAllOnStartupIndexRecreationEntities)
-
Field Details
-
searchResultPageSize
protected final int searchResultPageSizeMax amount of objects displayed on single page of search result. -
maxSearchPageCount
protected final int maxSearchPageCountMax amount of result pages. -
searchReloadEntitiesBatchSize
protected final int searchReloadEntitiesBatchSizeBatch size for post-search entity processing. -
processQueueBatchSize
protected final int processQueueBatchSizeAmount of queue items processed in single batch. -
reindexEntityEnqueueBatchSize
protected final int reindexEntityEnqueueBatchSizeAmount of entity instances enqueued in single batch during entity reindex process. -
changedEntitiesIndexingEnabled
protected final boolean changedEntitiesIndexingEnabledWhether automatic indexing of changed entities is enabled. -
useDefaultIndexingQueueProcessingQuartzConfiguration
protected final boolean useDefaultIndexingQueueProcessingQuartzConfigurationWhether the default Indexing Queue processing quartz scheduling configuration is used. -
useDefaultEnqueueingSessionProcessingQuartzConfiguration
protected final boolean useDefaultEnqueueingSessionProcessingQuartzConfigurationWhether the default Enqueueing Session processing quartz scheduling configuration is used. -
enqueueIndexAllOnStartupIndexRecreationEnabled
protected final boolean enqueueIndexAllOnStartupIndexRecreationEnabledWhether all entity instances related to indexes created or recreated on startup should be enqueued automatically. -
restHighLevelClientApiCompatibilityModeEnabled
protected final boolean restHighLevelClientApiCompatibilityModeEnabledWhether the Rest High Level Client should be able to communicate with Elasticsearch version 8.x. Note that when compatibility mode is enabled, the Rest High Level Client not able to communicate with Elasticsearch version lower than 7.11. -
elasticsearch
-
defaultSearchStrategy
Name of default search strategy -
indexingQueueProcessingCron
CRON expression that is used by default Indexing Queue processing quartz scheduling configuration. -
enqueueingSessionProcessingCron
CRON expression that is used by default Enqueueing Session processing quartz scheduling configuration. -
searchIndexNamePrefix
Prefix for search index name. Index naming template: <prefix><entity_name>. Default prefix is 'search_index_'. -
indexSchemaManagementStrategy
The way of index schema synchronization. -
enqueueIndexAllOnStartupIndexRecreationEntities
List of entities that should be automatically enqueued on startup in case of index recreation. Empty list means all indexed entities.
-
-
Constructor Details
-
SearchProperties
public SearchProperties(@DefaultValue("100") int searchResultPageSize, @DefaultValue("100") int maxSearchPageCount, @DefaultValue("100") int searchReloadEntitiesBatchSize, @DefaultValue("100") int processQueueBatchSize, @DefaultValue("100") int reindexEntityEnqueueBatchSize, @DefaultValue("true") boolean changedEntitiesIndexingEnabled, @DefaultValue("true") boolean useDefaultIndexingQueueProcessingQuartzConfiguration, @DefaultValue("true") boolean useDefaultEnqueueingSessionProcessingQuartzConfiguration, @DefaultValue("true") boolean enqueueIndexAllOnStartupIndexRecreationEnabled, @DefaultValue("true") boolean restHighLevelClientApiCompatibilityModeEnabled, @DefaultValue("") String enqueueIndexAllOnStartupIndexRecreationEntities, @DefaultValue("search_index_") String searchIndexNamePrefix, @DefaultValue("anyTermAnyField") String defaultSearchStrategy, @DefaultValue("create-or-recreate") String indexSchemaManagementStrategy, @DefaultValue("0/5 * * * * ?") String indexingQueueProcessingCron, @DefaultValue("0/5 * * * * ?") String enqueueingSessionProcessingCron, @DefaultValue SearchProperties.Elasticsearch elasticsearch)
-
-
Method Details
-
getSearchResultPageSize
public int getSearchResultPageSize()- See Also:
-
getMaxSearchPageCount
public int getMaxSearchPageCount()- See Also:
-
getSearchReloadEntitiesBatchSize
public int getSearchReloadEntitiesBatchSize()- See Also:
-
getProcessQueueBatchSize
public int getProcessQueueBatchSize()- See Also:
-
getReindexEntityEnqueueBatchSize
public int getReindexEntityEnqueueBatchSize()- See Also:
-
isChangedEntitiesIndexingEnabled
public boolean isChangedEntitiesIndexingEnabled()- See Also:
-
isUseDefaultIndexingQueueProcessingQuartzConfiguration
public boolean isUseDefaultIndexingQueueProcessingQuartzConfiguration() -
isUseDefaultEnqueueingSessionProcessingQuartzConfiguration
public boolean isUseDefaultEnqueueingSessionProcessingQuartzConfiguration() -
getIndexingQueueProcessingCron
- See Also:
-
getEnqueueingSessionProcessingCron
- See Also:
-
getSearchIndexNamePrefix
- See Also:
-
isEnqueueIndexAllOnStartupIndexRecreationEnabled
public boolean isEnqueueIndexAllOnStartupIndexRecreationEnabled() -
isRestHighLevelClientApiCompatibilityModeEnabled
public boolean isRestHighLevelClientApiCompatibilityModeEnabled() -
getEnqueueIndexAllOnStartupIndexRecreationEntities
-
getDefaultSearchStrategy
- See Also:
-
getElasticsearchUrl
- See Also:
-
getElasticsearchLogin
- See Also:
-
getElasticsearchPassword
- See Also:
-
getElasticsearchSslCertificateLocation
- See Also:
-
getElasticsearchSslCertificateAlias
- See Also:
-
getElasticsearchSslCertificateFactoryType
-
getElasticsearchSslKeyStoreType
- See Also:
-
getElasticsearchBulkRequestRefreshPolicy
public org.elasticsearch.action.support.WriteRequest.RefreshPolicy getElasticsearchBulkRequestRefreshPolicy() -
getIndexSchemaManagementStrategy
- See Also:
-
prepareStartupEnqueueingEntities
-