Package org.sakaiproject.samigo.search
Class QuestionElasticSearchIndexBuilder
- java.lang.Object
-
- org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
- org.sakaiproject.samigo.search.QuestionElasticSearchIndexBuilder
-
- All Implemented Interfaces:
org.sakaiproject.search.api.SearchIndexBuilder,org.sakaiproject.search.elasticsearch.ElasticSearchIndexBuilder
public class QuestionElasticSearchIndexBuilder extends org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classQuestionElasticSearchIndexBuilder.RebuildSiteTask-
Nested classes/interfaces inherited from class org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder.BulkContentIndexerTask, org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder.IndexAction, org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder.NoOpTask, org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder.RebuildIndexTask
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringADD_RESOURCE_VALIDATION_KEY_ITEMprotected static StringAGGREGATION_NAMEprotected static StringAGGREGATION_TOP_HITSprotected static StringDELETE_RESOURCE_KEY_ITEMprotected static StringSAKAI_DOC_TYPEprotected String[]searchResultFieldNamesprotected booleanuseAggregationWe will use aggregations to retrun only one item from all the items with the same hash.protected booleanuseFacettingprotected booleanuseSuggestionsset to true to force an index rebuild at startup time, defaults to false.-
Fields inherited from class org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
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, indexSettingsConfig, lastLoad, mapping, mappingConfig, maxNumberOfSuggestions, name, period, producers, rebuildIndexOnStartup, securityService, serverConfigurationService, startTime, suggestionMatchingFieldName, suggestionResultFieldNames, testMode, triggerFunctions
-
-
Constructor Summary
Constructors Constructor Description QuestionElasticSearchIndexBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.elasticsearch.xcontent.XContentBuilderaddCustomProperties(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected org.elasticsearch.xcontent.XContentBuilderaddFields(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected org.elasticsearch.action.search.SearchRequestaddFindContentQueueRequestParams(org.elasticsearch.action.search.SearchRequest searchRequest)protected voidaddSearchAggregation(org.elasticsearch.action.search.SearchRequest searchRequest, String field)protected voidaddSearchCoreParams(org.elasticsearch.action.search.SearchRequest searchRequest)protected voidaddSearchFacetting(org.elasticsearch.action.search.SearchRequest searchRequest)protected voidaddSearchPagination(org.elasticsearch.action.search.SearchRequest searchRequest, int start, int end)protected voidaddSearchQuery(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds)protected voidaddSearchQuery(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds, Map<String,String> additionalSearchInformation)protected voidaddSearchReferences(org.elasticsearch.action.search.SearchRequest searchRequest, List<String> references)protected voidaddSearchResultFields(org.elasticsearch.action.search.SearchRequest searchRequest)protected voidaddSearchSiteIds(org.elasticsearch.action.search.SearchRequest searchRequest, List<String> siteIds)protected voidaddSearchSuggestionsSites(org.elasticsearch.action.search.SearchRequest searchRequest, String currentSite, boolean allMySites)protected voidaddSearchSuggestionsTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchString)protected voidaddSearchTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms)protected voidaddSearchTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, Map<String,String> additionalSearchInformation)Here we create our specific search query with the parameters that are sent in the additionalSearchInformationprotected voidbeforeBackgroundSchedulerInitialization()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 voidbeforeElasticSearchConfigInitialization()Gives subclasses a chance to initialize configuration prior to reading/processing any ES configs.protected voidcompleteAddResourceEventValidations(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext)protected org.elasticsearch.action.delete.DeleteRequestcompleteDeleteRequest(org.elasticsearch.action.delete.DeleteRequest deleteRequest, Map<String,Object> deleteParams)protected org.elasticsearch.action.search.SearchRequestcompleteFindContentQueueRequest(org.elasticsearch.action.search.SearchRequest searchRequest)protected org.elasticsearch.action.index.IndexRequestcompleteIndexRequest(org.elasticsearch.action.index.IndexRequest indexRequest, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected org.elasticsearch.xcontent.XContentBuildercompleteIndexRequestContentSourceBuilder(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected voidcompleteSearchRequestBuilders(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds)protected voidcompleteSearchSuggestionsRequestBuilders(org.elasticsearch.action.search.SearchRequest searchRequest, String searchString, String currentSite, boolean allMySites)protected voiddeleteAllDocumentForQuestionPool(String qpId)voiddeleteAllDocumentForSiteIfDeleted(String siteId)protected voiddeleteDocument(String id)protected voiddeleteDocumentWithParams(Map<String,Object> deleteParams)protected org.elasticsearch.action.delete.DeleteResponsedeleteDocumentWithRequest(org.elasticsearch.action.delete.DeleteRequest deleteRequest)protected voiddispatchValidatedAddResource(Map<String,Object> validationContext)protected Map<String,Object>extractDeleteDocumentParams(Map<String,Object> validationContext)protected Map<String,Object>extractDeleteDocumentParams(org.elasticsearch.search.SearchHit searchHit)protected Map<String,Object>extractDeleteDocumentParams(org.sakaiproject.search.elasticsearch.NoContentException noContentException)StringgetEventResourceFilter()protected org.slf4j.LoggergetLog()protected voidindexAdd(String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp)schedules content for indexing.protected booleanisSiteIndexable(org.sakaiproject.site.api.Site site)org.sakaiproject.search.api.EntityContentProducernewEntityContentProducer(String ref)org.sakaiproject.search.api.EntityContentProducernewEntityContentProducer(org.sakaiproject.event.api.Event event)protected org.elasticsearch.action.search.SearchRequestnewSearchRequestAndQueryBuilders(String searchTerms, List<String> references, List<String> siteIds)protected org.elasticsearch.xcontent.XContentBuildernoContentForIndexRequest(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected org.elasticsearch.action.delete.DeleteRequestprepareDeleteDocument(Map<String,Object> deleteParams)protected voidprepareIndexAdd(String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)protected org.elasticsearch.action.search.SearchRequestprepareSearchRequest(String searchTerms, List<String> references, List<String> siteIds, int start, int end)protected org.elasticsearch.action.search.SearchRequestprepareSearchRequest(String searchTerms, List<String> references, List<String> siteIds, int start, int end, Map<String,String> additionalSearchInformation)protected voidprocessContentQueue()protected voidprocessContentQueueEntry(org.elasticsearch.search.SearchHit hit, org.elasticsearch.action.bulk.BulkRequest bulkRequest)voidrebuildIndex(String siteId)protected voidrebuildIndexImmediately()protected voidrebuildQuestionPoolIndex(String qpId)protected voidrebuildSiteIndex(String siteId)org.elasticsearch.action.search.SearchResponsesearch(String searchTerms, List<String> references, List<String> siteIds, int start, int end)org.elasticsearch.action.search.SearchResponsesearch(String searchTerms, List<String> references, List<String> siteIds, int start, int end, Map<String,String> additionalSearchInformation)This is a new search that accepts additionalSearchInformation.protected voidvalidateIndexable(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext)protected voidvalidateIndexAction(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext)protected voidvalidateResourceName(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext)-
Methods inherited from class org.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
addContent, addResource, addSearchSuggestionResultFields, addSearchSuggestionsCoreParams, addSearchSuggestionsPagination, addSearchSuggestionsQuery, assureIndex, buildIndexRequestContentSource, createIndex, deleteDocument, deleteDocument, destroy, disableAzgSecurityAdvisor, enableAzgSecurityAdvisor, executeBulkRequest, extractCustomProperties, findContentQueue, findContentQueueWithRequest, getAllSearchItems, getContentFunctions, getContentProducers, getFacetName, getFieldFromSearchHit, getFilter, getGlobalMasterSearchItems, getIndexHealth, getIndices, getName, getNDocs, getPendingDocuments, getSearchStatus, getStatus, getTriggerFunctions, getUseFacetting, initialize, initializeBackgroundScheduler, initializeContentQueueProcessingTask, initializeElasticSearchIndexSettings, initializeElasticSearchMapping, initializeIndex, isBuildQueueEmpty, isEnabled, isSupportedIndexAction, matchEntityContentProducer, newBulkContentIndexerTask, newIndexRequest, newIndexRequestContentSourceBuilder, newRebuildIndexTask, newSearchRequestAndQueryBuilders, newSearchSuggestionsRequestAndQueryBuilders, noContentProducerForContentQueueEntry, pairOf, prepareFindContentQueue, prepareIndex, prepareSearchSuggestionsRequest, rebuildIndex, recreateIndex, refreshIndex, registerEntityContentProducer, requireConfiguration, roundTwoDecimals, searchSuggestions, setBulkRequestSize, setContentIndexBatchSize, setDefaultIndexSettingsResource, setDefaultMappingResource, setDelay, setEventTrackingService, setFacetName, setFacetTermSize, setFilter, setIndexedDocumentType, setIndexName, setIndexSettingsConfig, setMappingConfig, setMaxNumberOfSuggestions, setName, setPeriod, setRebuildIndexOnStartup, setSearchResultFieldNames, setSecurityService, setServerConfigurationService, setSuggestionMatchingFieldName, setSuggestionResultFieldNames, setTestMode, setTriggerFunctions, setUseFacetting, setUseSuggestions, validateAddResourceEvent, validateContentProducer, validateServiceEnabled
-
-
-
-
Field Detail
-
searchResultFieldNames
protected String[] searchResultFieldNames
-
SAKAI_DOC_TYPE
protected static final String SAKAI_DOC_TYPE
- See Also:
- Constant Field Values
-
ADD_RESOURCE_VALIDATION_KEY_ITEM
protected static final String ADD_RESOURCE_VALIDATION_KEY_ITEM
- See Also:
- Constant Field Values
-
DELETE_RESOURCE_KEY_ITEM
protected static final String DELETE_RESOURCE_KEY_ITEM
- See Also:
- Constant Field Values
-
useSuggestions
protected boolean useSuggestions
set to true to force an index rebuild at startup time, defaults to false. This is probably something you never want to use, other than in development or testing
-
useFacetting
protected boolean useFacetting
-
useAggregation
protected boolean useAggregation
We will use aggregations to retrun only one item from all the items with the same hash.
-
AGGREGATION_NAME
protected static final String AGGREGATION_NAME
- See Also:
- Constant Field Values
-
AGGREGATION_TOP_HITS
protected static final String AGGREGATION_TOP_HITS
- See Also:
- Constant Field Values
-
-
Method Detail
-
beforeElasticSearchConfigInitialization
protected void beforeElasticSearchConfigInitialization()
Gives subclasses a chance to initialize configuration prior to reading/processing any ES configs. May be important for setting up defaults, for example, or for ensuring subclass-specific configs are in place before any background tasks are in place. (Though the latter would be better factored intobeforeBackgroundSchedulerInitialization()- Specified by:
beforeElasticSearchConfigInitializationin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
beforeBackgroundSchedulerInitialization
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(). 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.- Specified by:
beforeBackgroundSchedulerInitializationin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
completeFindContentQueueRequest
protected org.elasticsearch.action.search.SearchRequest completeFindContentQueueRequest(org.elasticsearch.action.search.SearchRequest searchRequest)
- Specified by:
completeFindContentQueueRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
completeDeleteRequest
protected org.elasticsearch.action.delete.DeleteRequest completeDeleteRequest(org.elasticsearch.action.delete.DeleteRequest deleteRequest, Map<String,Object> deleteParams)- Specified by:
completeDeleteRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
rebuildIndex
public void rebuildIndex(String siteId)
-
rebuildIndexImmediately
protected void rebuildIndexImmediately()
- Specified by:
rebuildIndexImmediatelyin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
isSiteIndexable
protected boolean isSiteIndexable(org.sakaiproject.site.api.Site site)
-
rebuildQuestionPoolIndex
protected void rebuildQuestionPoolIndex(String qpId)
-
rebuildSiteIndex
protected void rebuildSiteIndex(String siteId)
-
deleteAllDocumentForSiteIfDeleted
public void deleteAllDocumentForSiteIfDeleted(String siteId)
-
deleteAllDocumentForQuestionPool
protected void deleteAllDocumentForQuestionPool(String qpId)
-
deleteDocument
protected void deleteDocument(String id)
-
completeIndexRequest
protected org.elasticsearch.action.index.IndexRequest completeIndexRequest(org.elasticsearch.action.index.IndexRequest indexRequest, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent)- Specified by:
completeIndexRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
newEntityContentProducer
public org.sakaiproject.search.api.EntityContentProducer newEntityContentProducer(String ref)
- Specified by:
newEntityContentProducerin interfaceorg.sakaiproject.search.api.SearchIndexBuilder- Overrides:
newEntityContentProducerin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
newEntityContentProducer
public org.sakaiproject.search.api.EntityContentProducer newEntityContentProducer(org.sakaiproject.event.api.Event event)
- Specified by:
newEntityContentProducerin interfaceorg.sakaiproject.search.api.SearchIndexBuilder- Overrides:
newEntityContentProducerin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addFields
protected org.elasticsearch.xcontent.XContentBuilder addFields(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent) throws IOException- Specified by:
addFieldsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IOException
-
addCustomProperties
protected org.elasticsearch.xcontent.XContentBuilder addCustomProperties(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent) throws IOException- Overrides:
addCustomPropertiesin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IOException
-
noContentForIndexRequest
protected org.elasticsearch.xcontent.XContentBuilder noContentForIndexRequest(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent) throws org.sakaiproject.search.elasticsearch.NoContentException- Specified by:
noContentForIndexRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
org.sakaiproject.search.elasticsearch.NoContentException
-
completeIndexRequestContentSourceBuilder
protected org.elasticsearch.xcontent.XContentBuilder completeIndexRequestContentSourceBuilder(org.elasticsearch.xcontent.XContentBuilder contentSourceBuilder, String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent) throws IOException- Overrides:
completeIndexRequestContentSourceBuilderin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IOException
-
completeAddResourceEventValidations
protected void completeAddResourceEventValidations(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext) throws IllegalArgumentException, IllegalStateException- Specified by:
completeAddResourceEventValidationsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IllegalArgumentExceptionIllegalStateException
-
prepareDeleteDocument
protected org.elasticsearch.action.delete.DeleteRequest prepareDeleteDocument(Map<String,Object> deleteParams)
- Overrides:
prepareDeleteDocumentin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
extractDeleteDocumentParams
protected Map<String,Object> extractDeleteDocumentParams(Map<String,Object> validationContext)
- Overrides:
extractDeleteDocumentParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
extractDeleteDocumentParams
protected Map<String,Object> extractDeleteDocumentParams(org.sakaiproject.search.elasticsearch.NoContentException noContentException)
- Overrides:
extractDeleteDocumentParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
extractDeleteDocumentParams
protected Map<String,Object> extractDeleteDocumentParams(org.elasticsearch.search.SearchHit searchHit)
- Overrides:
extractDeleteDocumentParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
deleteDocumentWithRequest
protected org.elasticsearch.action.delete.DeleteResponse deleteDocumentWithRequest(org.elasticsearch.action.delete.DeleteRequest deleteRequest) throws IOException- Overrides:
deleteDocumentWithRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IOException
-
validateResourceName
protected void validateResourceName(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext) throws IllegalArgumentException, IllegalStateException- Overrides:
validateResourceNamein classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IllegalArgumentExceptionIllegalStateException
-
validateIndexable
protected void validateIndexable(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext) throws IllegalArgumentException, IllegalStateException- Overrides:
validateIndexablein classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IllegalArgumentExceptionIllegalStateException
-
validateIndexAction
protected void validateIndexAction(org.sakaiproject.event.api.Event event, Map<String,Object> validationContext) throws IllegalArgumentException, IllegalStateException, UnsupportedOperationException- Overrides:
validateIndexActionin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
IllegalArgumentExceptionIllegalStateExceptionUnsupportedOperationException
-
dispatchValidatedAddResource
protected void dispatchValidatedAddResource(Map<String,Object> validationContext)
- Overrides:
dispatchValidatedAddResourcein classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
deleteDocumentWithParams
protected void deleteDocumentWithParams(Map<String,Object> deleteParams)
- Overrides:
deleteDocumentWithParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
processContentQueue
protected void processContentQueue()
- Overrides:
processContentQueuein classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addFindContentQueueRequestParams
protected org.elasticsearch.action.search.SearchRequest addFindContentQueueRequestParams(org.elasticsearch.action.search.SearchRequest searchRequest)
- Overrides:
addFindContentQueueRequestParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
processContentQueueEntry
protected void processContentQueueEntry(org.elasticsearch.search.SearchHit hit, org.elasticsearch.action.bulk.BulkRequest bulkRequest) throws org.sakaiproject.search.elasticsearch.NoContentException- Overrides:
processContentQueueEntryin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Throws:
org.sakaiproject.search.elasticsearch.NoContentException
-
prepareIndexAdd
protected void prepareIndexAdd(String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp, boolean includeContent) throws org.sakaiproject.search.elasticsearch.NoContentException
- Overrides:
prepareIndexAddin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Parameters:
resourceName-ecp-- Throws:
org.sakaiproject.search.elasticsearch.NoContentException
-
indexAdd
protected void indexAdd(String resourceName, org.sakaiproject.search.api.EntityContentProducer ecp)
schedules content for indexing.- Overrides:
indexAddin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder- Parameters:
resourceName-ecp-
-
search
public org.elasticsearch.action.search.SearchResponse search(String searchTerms, List<String> references, List<String> siteIds, int start, int end)
- Specified by:
searchin interfaceorg.sakaiproject.search.elasticsearch.ElasticSearchIndexBuilder- Overrides:
searchin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
search
public org.elasticsearch.action.search.SearchResponse search(String searchTerms, List<String> references, List<String> siteIds, int start, int end, Map<String,String> additionalSearchInformation)
This is a new search that accepts additionalSearchInformation. We need it for our complex question searches. We have duplicated the methods that need this parameter, like prepareSearchRequest- Specified by:
searchin interfaceorg.sakaiproject.search.elasticsearch.ElasticSearchIndexBuilder- Overrides:
searchin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
prepareSearchRequest
protected org.elasticsearch.action.search.SearchRequest prepareSearchRequest(String searchTerms, List<String> references, List<String> siteIds, int start, int end)
- Overrides:
prepareSearchRequestin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
prepareSearchRequest
protected org.elasticsearch.action.search.SearchRequest prepareSearchRequest(String searchTerms, List<String> references, List<String> siteIds, int start, int end, Map<String,String> additionalSearchInformation)
-
newSearchRequestAndQueryBuilders
protected org.elasticsearch.action.search.SearchRequest newSearchRequestAndQueryBuilders(String searchTerms, List<String> references, List<String> siteIds)
-
addSearchCoreParams
protected void addSearchCoreParams(org.elasticsearch.action.search.SearchRequest searchRequest)
- Overrides:
addSearchCoreParamsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchQuery
protected void addSearchQuery(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds)- Overrides:
addSearchQueryin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchQuery
protected void addSearchQuery(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds, Map<String,String> additionalSearchInformation)
-
addSearchTerms
protected void addSearchTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms)- Overrides:
addSearchTermsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchTerms
protected void addSearchTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, Map<String,String> additionalSearchInformation)Here we create our specific search query with the parameters that are sent in the additionalSearchInformation
-
addSearchReferences
protected void addSearchReferences(org.elasticsearch.action.search.SearchRequest searchRequest, List<String> references)- Overrides:
addSearchReferencesin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchSiteIds
protected void addSearchSiteIds(org.elasticsearch.action.search.SearchRequest searchRequest, List<String> siteIds)- Specified by:
addSearchSiteIdsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchResultFields
protected void addSearchResultFields(org.elasticsearch.action.search.SearchRequest searchRequest)
- Overrides:
addSearchResultFieldsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchPagination
protected void addSearchPagination(org.elasticsearch.action.search.SearchRequest searchRequest, int start, int end)- Overrides:
addSearchPaginationin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchFacetting
protected void addSearchFacetting(org.elasticsearch.action.search.SearchRequest searchRequest)
- Overrides:
addSearchFacettingin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchAggregation
protected void addSearchAggregation(org.elasticsearch.action.search.SearchRequest searchRequest, String field)
-
completeSearchRequestBuilders
protected void completeSearchRequestBuilders(org.elasticsearch.action.search.SearchRequest searchRequest, String searchTerms, List<String> references, List<String> siteIds)- Specified by:
completeSearchRequestBuildersin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
completeSearchSuggestionsRequestBuilders
protected void completeSearchSuggestionsRequestBuilders(org.elasticsearch.action.search.SearchRequest searchRequest, String searchString, String currentSite, boolean allMySites)- Specified by:
completeSearchSuggestionsRequestBuildersin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchSuggestionsTerms
protected void addSearchSuggestionsTerms(org.elasticsearch.action.search.SearchRequest searchRequest, String searchString)- Specified by:
addSearchSuggestionsTermsin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
addSearchSuggestionsSites
protected void addSearchSuggestionsSites(org.elasticsearch.action.search.SearchRequest searchRequest, String currentSite, boolean allMySites)- Specified by:
addSearchSuggestionsSitesin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
getEventResourceFilter
public String getEventResourceFilter()
-
getLog
protected org.slf4j.Logger getLog()
- Specified by:
getLogin classorg.sakaiproject.search.elasticsearch.BaseElasticSearchIndexBuilder
-
-