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
Modifier and TypeClassDescriptionprotected static class
protected static class
-
Field Summary
Modifier and TypeFieldDescriptionprotected final boolean
Whether automatic indexing of changed entities is enabled.protected final String
Name of default search strategyprotected final SearchProperties.Elasticsearch
protected final boolean
Whether 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 String
CRON expression that is used by default Enqueueing Session processing quartz scheduling configuration.protected final String
CRON expression that is used by default Indexing Queue processing quartz scheduling configuration.protected final IndexSchemaManagementStrategy
The way of index schema synchronization.protected final int
Max amount of result pages.protected final int
Amount of queue items processed in single batch.protected final int
Amount of entity instances enqueued in single batch during entity reindex process.protected final boolean
Whether the Rest High Level Client should be able to communicate with Elasticsearch version 8.x.protected final String
Prefix for search index name.protected final int
Batch size for post-search entity processing.protected final int
Max amount of objects displayed on single page of search result.protected final boolean
Whether the default Enqueueing Session processing quartz scheduling configuration is used.protected final boolean
Whether the default Indexing Queue processing quartz scheduling configuration is used. -
Constructor Summary
ConstructorDescriptionSearchProperties
(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.RefreshPolicy
int
int
int
int
int
boolean
boolean
boolean
boolean
boolean
prepareStartupEnqueueingEntities
(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
-