public class SiteElasticSearchIndexBuilder extends BaseElasticSearchIndexBuilder implements SiteSearchIndexBuilder
| Modifier and Type | Class and Description |
|---|---|
protected class |
SiteElasticSearchIndexBuilder.RebuildSiteTask |
BaseElasticSearchIndexBuilder.BulkContentIndexerTask, BaseElasticSearchIndexBuilder.IndexAction, BaseElasticSearchIndexBuilder.NoOpTask, BaseElasticSearchIndexBuilder.RebuildIndexTask| Modifier and Type | Field and Description |
|---|---|
protected static String |
ADD_RESOURCE_VALIDATION_KEY_SITE_ID |
protected static String |
DELETE_RESOURCE_KEY_SITE_ID |
protected static String |
SAKAI_DOC_TYPE |
protected static String |
SEARCH_TOOL_ID |
ADD_RESOURCE_VALIDATION_KEY_CONTENT_PRODUCER, ADD_RESOURCE_VALIDATION_KEY_ENTITY_ID, ADD_RESOURCE_VALIDATION_KEY_INDEX_ACTION, ADD_RESOURCE_VALIDATION_KEY_RESOURCE_NAME, allowAllAdvisor, backgroundScheduler, bulkRequestSize, client, contentIndexBatchSize, DEFAULT_FACET_NAME, DEFAULT_SUGGESTION_MATCHING_FIELD_NAME, defaultIndexSettingsResource, defaultMappingResource, delay, DELETE_RESOURCE_KEY_DOCUMENT_ID, DELETE_RESOURCE_KEY_ENTITY_REFERENCE, eventRegistrar, eventTrackingService, facetName, facetTermSize, filter, indexedDocumentType, indexName, indexSettings, indexSettingsMerged, lastLoad, mapping, mappingMerged, maxNumberOfSuggestions, name, period, producers, rebuildIndexOnStartup, searchResultFieldNames, securityService, serverConfigurationService, startTime, suggestionMatchingFieldName, suggestionResultFieldNames, testMode, triggerFunctions, useFacetting, useSuggestionsDEFAULT_INDEX_BUILDER_NAME, DEFAULT_INDEX_NAME| Constructor and Description |
|---|
SiteElasticSearchIndexBuilder() |
| Modifier and Type | Method and Description |
|---|---|
protected org.elasticsearch.common.xcontent.XContentBuilder |
addFields(org.elasticsearch.common.xcontent.XContentBuilder contentSourceBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent) |
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> |
addSearchSiteIds(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
List<String> siteIds) |
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> |
addSearchSuggestionsSites(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String currentSite,
boolean allMySites) |
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> |
addSearchSuggestionsTerms(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchString) |
protected void |
beforeBackgroundSchedulerInitialization()
Called after all ES config has been processed but before the background scheduler has been set up
and before any index startup ops have been invoked (
BaseElasticSearchIndexBuilder.initializeIndex(). |
protected void |
beforeElasticSearchConfigInitialization()
Gives subclasses a chance to initialize configuration prior to reading/processing any
ES configs.
|
protected void |
completeAddResourceEventValidations(Event event,
Map<String,Object> validationContext) |
protected org.elasticsearch.action.delete.DeleteRequestBuilder |
completeDeleteRequestBuilder(org.elasticsearch.action.delete.DeleteRequestBuilder deleteRequestBuilder,
Map<String,Object> deleteParams) |
protected org.elasticsearch.action.search.SearchRequestBuilder |
completeFindContentQueueRequestBuilder(org.elasticsearch.action.search.SearchRequestBuilder searchRequestBuilder) |
protected org.elasticsearch.action.index.IndexRequestBuilder |
completeIndexRequestBuilder(org.elasticsearch.action.index.IndexRequestBuilder requestBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent) |
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> |
completeSearchRequestBuilders(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchTerms,
List<String> references,
List<String> siteIds) |
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> |
completeSearchSuggestionsRequestBuilders(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchString,
String currentSite,
boolean allMySites) |
protected void |
deleteAllDocumentForSite(String siteId) |
protected void |
deleteDocument(String id,
String siteId) |
protected Map<String,Object> |
extractDeleteDocumentParams(Map<String,Object> validationContext) |
protected Map<String,Object> |
extractDeleteDocumentParams(NoContentException noContentException) |
protected Map<String,Object> |
extractDeleteDocumentParams(org.elasticsearch.search.SearchHit searchHit) |
protected String[] |
getAllUsersSites(String currentUser)
Get all the sites a user has access to.
|
String |
getEventResourceFilter() |
protected org.slf4j.Logger |
getLog() |
protected Collection<String> |
getResourceNames(String siteId)
Get all indexed resources for a site
|
List<SearchBuilderItem> |
getSiteMasterSearchItems() |
boolean |
isExcludeUserSites() |
boolean |
isOnlyIndexSearchToolSites() |
protected boolean |
isSiteIndexable(Site site)
Check if a site is considered as indexable based on the current server configuration.
|
protected org.elasticsearch.common.xcontent.XContentBuilder |
noContentForIndexRequest(org.elasticsearch.common.xcontent.XContentBuilder contentSourceBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent) |
protected void |
noContentProducerForContentQueueEntry(org.elasticsearch.search.SearchHit hit,
String reference) |
void |
rebuildIndex(String siteId)
Rebuild the index from the entities own stored state , for just
the supplied siteId
|
protected void |
rebuildIndexImmediately() |
protected void |
rebuildSiteIndex(String siteId) |
void |
refreshIndex(String siteId)
Refresh the index for the supplied site.
|
void |
setExcludeUserSites(boolean excludeUserSites) |
void |
setIgnoredSites(String ignoredSites) |
void |
setIgnoredSitesList(List<String> ignoredSitesList) |
void |
setOnlyIndexSearchToolSites(boolean onlyIndexSearchToolSites) |
void |
setSiteService(SiteService siteService) |
void |
setUserDirectoryService(UserDirectoryService userDirectoryService) |
void |
setUseSiteFilters(boolean useSiteFilters) |
addContent, addCustomProperties, addFindContentQueueRequestParams, addResource, addSearchCoreParams, addSearchFacetting, addSearchPagination, addSearchQuery, addSearchReferences, addSearchResultFields, addSearchSuggestionResultFields, addSearchSuggestionsCoreParams, addSearchSuggestionsPagination, addSearchSuggestionsQuery, addSearchTerms, assureIndex, buildIndexRequestContentSource, completeIndexRequestContentSourceBuilder, createIndex, deleteDocument, deleteDocument, deleteDocumentWithParams, deleteDocumentWithRequest, destroy, disableAzgSecurityAdvisor, dispatchValidatedAddResource, enableAzgSecurityAdvisor, executeBulkRequest, extractCustomProperties, findContentQueue, findContentQueueWithRequest, getAllSearchItems, getContentFunctions, getContentProducers, getFacetName, getFieldFromSearchHit, getFilter, getGlobalMasterSearchItems, getName, getNDocs, getPendingDocuments, getSearchStatus, getStatus, getTriggerFunctions, getUseFacetting, indexAdd, initialize, initializeBackgroundScheduler, initializeContentQueueProcessingTask, initializeElasticSearchIndexSettings, initializeElasticSearchMapping, initializeIndex, isBuildQueueEmpty, isEnabled, isSupportedIndexAction, matchEntityContentProducer, newBulkContentIndexerTask, newContentQueueBulkUpdateRequestBuilder, newEntityContentProducer, newEntityContentProducer, newFindContentQueueRequestBuilder, newIndexRequestBuilder, newIndexRequestContentSourceBuilder, newRebuildIndexTask, newSearchRequestAndQueryBuilders, newSearchSuggestionsRequestAndQueryBuilders, pairOf, prepareDeleteDocument, prepareFindContentQueue, prepareIndex, prepareIndexAdd, prepareSearchRequest, prepareSearchSuggestionsRequest, processContentQueue, processContentQueueEntry, rebuildIndex, recreateIndex, refreshIndex, registerEntityContentProducer, requireConfiguration, roundTwoDecimals, search, search, searchSuggestions, setBulkRequestSize, setContentIndexBatchSize, setDefaultIndexSettingsResource, setDefaultMappingResource, setDelay, setEventTrackingService, setFacetName, setFacetTermSize, setFilter, setIndexedDocumentType, setIndexName, setIndexSettings, setMapping, setMaxNumberOfSuggestions, setName, setPeriod, setRebuildIndexOnStartup, setSearchResultFieldNames, setSecurityService, setServerConfigurationService, setSuggestionMatchingFieldName, setSuggestionResultFieldNames, setTestMode, setTriggerFunctions, setUseFacetting, setUseSuggestions, validateAddResourceEvent, validateContentProducer, validateIndexable, validateIndexAction, validateResourceName, validateServiceEnabledclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddResource, destroy, getAllSearchItems, getContentProducers, getGlobalMasterSearchItems, getName, getPendingDocuments, isBuildQueueEmpty, newEntityContentProducer, newEntityContentProducer, rebuildIndex, refreshIndex, registerEntityContentProducerprotected static final String SEARCH_TOOL_ID
protected static final String SAKAI_DOC_TYPE
protected static final String ADD_RESOURCE_VALIDATION_KEY_SITE_ID
protected static final String DELETE_RESOURCE_KEY_SITE_ID
protected void beforeElasticSearchConfigInitialization()
BaseElasticSearchIndexBuilderBaseElasticSearchIndexBuilder.beforeBackgroundSchedulerInitialization()beforeElasticSearchConfigInitialization in class BaseElasticSearchIndexBuilderprotected void beforeBackgroundSchedulerInitialization()
BaseElasticSearchIndexBuilderBaseElasticSearchIndexBuilder.initializeIndex(). I.e. this is a
subclass's last chance to set up any configs on which background jobs and/or index maintenance
in general might depend.beforeBackgroundSchedulerInitialization in class BaseElasticSearchIndexBuilderprotected void completeAddResourceEventValidations(Event event, Map<String,Object> validationContext) throws IllegalArgumentException, IllegalStateException
completeAddResourceEventValidations in class BaseElasticSearchIndexBuilderIllegalArgumentExceptionIllegalStateExceptionprotected Map<String,Object> extractDeleteDocumentParams(Map<String,Object> validationContext)
extractDeleteDocumentParams in class BaseElasticSearchIndexBuilderprotected Map<String,Object> extractDeleteDocumentParams(NoContentException noContentException)
extractDeleteDocumentParams in class BaseElasticSearchIndexBuilderprotected Map<String,Object> extractDeleteDocumentParams(org.elasticsearch.search.SearchHit searchHit)
extractDeleteDocumentParams in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.action.delete.DeleteRequestBuilder completeDeleteRequestBuilder(org.elasticsearch.action.delete.DeleteRequestBuilder deleteRequestBuilder,
Map<String,Object> deleteParams)
completeDeleteRequestBuilder in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.common.xcontent.XContentBuilder addFields(org.elasticsearch.common.xcontent.XContentBuilder contentSourceBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent)
throws IOException
addFields in class BaseElasticSearchIndexBuilderIOExceptionprotected org.elasticsearch.common.xcontent.XContentBuilder noContentForIndexRequest(org.elasticsearch.common.xcontent.XContentBuilder contentSourceBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent)
throws NoContentException
noContentForIndexRequest in class BaseElasticSearchIndexBuilderNoContentExceptionprotected void noContentProducerForContentQueueEntry(org.elasticsearch.search.SearchHit hit,
String reference)
throws NoContentException
noContentProducerForContentQueueEntry in class BaseElasticSearchIndexBuilderNoContentExceptionprotected org.elasticsearch.action.search.SearchRequestBuilder completeFindContentQueueRequestBuilder(org.elasticsearch.action.search.SearchRequestBuilder searchRequestBuilder)
completeFindContentQueueRequestBuilder in class BaseElasticSearchIndexBuilderprotected void rebuildSiteIndex(String siteId)
protected void rebuildIndexImmediately()
rebuildIndexImmediately in class BaseElasticSearchIndexBuilderprotected boolean isSiteIndexable(Site site)
Not indexable sites are:
site - site which may be indexablepublic List<SearchBuilderItem> getSiteMasterSearchItems()
getSiteMasterSearchItems in interface SiteSearchIndexBuilderpublic void rebuildIndex(String siteId)
rebuildIndex in interface SiteSearchIndexBuilderprotected void deleteAllDocumentForSite(String siteId)
public void refreshIndex(String siteId)
BaseElasticSearchIndexBuilder.rebuildIndex()refreshIndex in interface SiteSearchIndexBuilderprotected Collection<String> getResourceNames(String siteId)
siteId - Site containing indexed resourcesprotected org.elasticsearch.action.index.IndexRequestBuilder completeIndexRequestBuilder(org.elasticsearch.action.index.IndexRequestBuilder requestBuilder,
String resourceName,
EntityContentProducer ecp,
boolean includeContent)
completeIndexRequestBuilder in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> addSearchSiteIds(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
List<String> siteIds)
addSearchSiteIds in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> completeSearchRequestBuilders(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchTerms,
List<String> references,
List<String> siteIds)
completeSearchRequestBuilders in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> addSearchSuggestionsTerms(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchString)
addSearchSuggestionsTerms in class BaseElasticSearchIndexBuilderprotected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> addSearchSuggestionsSites(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String currentSite,
boolean allMySites)
addSearchSuggestionsSites in class BaseElasticSearchIndexBuilderprotected String[] getAllUsersSites(String currentUser)
protected org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> completeSearchSuggestionsRequestBuilders(org.elasticsearch.common.lang3.tuple.Pair<org.elasticsearch.action.search.SearchRequestBuilder,org.elasticsearch.index.query.QueryBuilder> builders,
String searchString,
String currentSite,
boolean allMySites)
completeSearchSuggestionsRequestBuilders in class BaseElasticSearchIndexBuilderpublic boolean isOnlyIndexSearchToolSites()
isOnlyIndexSearchToolSites in interface SiteSearchIndexBuilderpublic void setOnlyIndexSearchToolSites(boolean onlyIndexSearchToolSites)
onlyIndexSearchToolSites - the onlyIndexSearchToolSites to setpublic void setExcludeUserSites(boolean excludeUserSites)
public boolean isExcludeUserSites()
isExcludeUserSites in interface SiteSearchIndexBuilderpublic void setUseSiteFilters(boolean useSiteFilters)
public void setSiteService(SiteService siteService)
public void setIgnoredSites(String ignoredSites)
public void setUserDirectoryService(UserDirectoryService userDirectoryService)
public String getEventResourceFilter()
getEventResourceFilter in interface ElasticSearchIndexBuilderprotected org.slf4j.Logger getLog()
getLog in class BaseElasticSearchIndexBuilderCopyright © 2003–2018 Sakai Project. All rights reserved.