public interface SearchPlugin
Plugin for extending search time behavior.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
Specification for anAggregation
.static class
Context available during fetch phase construction.static final record
Specification of GenericNamedWriteable classes that can be serialized/deserialized as generic objects in search results.static class
Specification for aPipelineAggregator
.static class
SearchPlugin.QuerySpec<T extends QueryBuilder>
Specification of customQuery
.static class
Specification of customQueryVectorBuilder
.static class
SearchPlugin.RescorerSpec<T extends RescorerBuilder<T>>
static class
SearchPlugin.RetrieverSpec<RB extends RetrieverBuilder>
Specification of customRetrieverBuilder
.static class
SearchPlugin.ScoreFunctionSpec<T extends ScoreFunctionBuilder<T>>
Specification of customScoreFunction
.static class
SearchPlugin.SearchExtensionSpec<W extends NamedWriteable,
P> Specification of search time behavior extension like a customScoreFunction
.static class
SearchPlugin.SearchExtSpec<T extends SearchExtBuilder>
Specification for aSearchExtBuilder
which represents an additional section that can be parsed in a search request (within the ext element).static class
Specification of customSignificanceHeuristic
.static class
SearchPlugin.SuggesterSpec<T extends SuggestionBuilder<T>>
Specification for aSuggester
. -
Method Summary
Modifier and TypeMethodDescriptiondefault List
<Consumer<ValuesSourceRegistry.Builder>> Allows plugins to register new aggregations using aggregation names that are already defined in Core, as long as the new aggregations target different ValuesSourceTypesdefault List
<SearchPlugin.AggregationSpec> The newAggregation
s added by this plugin.default List
<FetchSubPhase> The newFetchSubPhase
s defined by this plugin.Additional GenericNamedWriteable classes added by this plugin.default Map
<String, Highlighter> Get theHighlighter
s defined by this plugin.default List
<SearchPlugin.PipelineAggregationSpec> The newPipelineAggregator
s added by this plugin.default List
<SearchPlugin.QuerySpec<?>> The newQuery
s defined by this plugin.default List
<SearchPlugin.QueryVectorBuilderSpec<?>> The newQueryVectorBuilder
s defined by this plugin.Allows plugins to register a cache differentiator which contributes to the cacheKey computation for the request cache.default List
<SearchPlugin.RescorerSpec<?>> The newRescorer
s added by this plugin.default List
<SearchPlugin.RetrieverSpec<?>> The newRetrieverBuilder
s defined by this plugin.default List
<SearchPlugin.ScoreFunctionSpec<?>> The newScoreFunction
s defined by this plugin.default List
<SearchPlugin.SearchExtSpec<?>> The newSearchExtBuilder
s defined by this plugin.default List
<SearchPlugin.SignificanceHeuristicSpec<?>> The newSignificanceHeuristic
s defined by this plugin.default List
<SearchPlugin.SuggesterSpec<?>> The newSuggester
s defined by this plugin.
-
Method Details
-
getScoreFunctions
The newScoreFunction
s defined by this plugin. -
getSignificanceHeuristics
The newSignificanceHeuristic
s defined by this plugin. SignificanceHeuristics are used by theSignificantTerms
aggregation to pick which terms are significant for a given query. -
getQueryVectorBuilders
The newQueryVectorBuilder
s defined by this plugin. QueryVectorBuilders can be used within a kNN search to build the query vector instead of having the user provide the vector directly -
getFetchSubPhases
The newFetchSubPhase
s defined by this plugin. -
getSearchExts
The newSearchExtBuilder
s defined by this plugin. -
getHighlighters
Get theHighlighter
s defined by this plugin. -
getSuggesters
The newSuggester
s defined by this plugin. -
getRetrievers
The newRetrieverBuilder
s defined by this plugin. -
getQueries
The newQuery
s defined by this plugin. -
getAggregations
The newAggregation
s added by this plugin. -
getAggregationExtentions
Allows plugins to register new aggregations using aggregation names that are already defined in Core, as long as the new aggregations target different ValuesSourceTypes- Returns:
- A list of the new registrar functions
-
getPipelineAggregations
The newPipelineAggregator
s added by this plugin. -
getRescorers
The newRescorer
s added by this plugin. -
getGenericNamedWriteables
Additional GenericNamedWriteable classes added by this plugin. -
getRequestCacheKeyDifferentiator
@Nullable default CheckedBiConsumer<ShardSearchRequest,StreamOutput, getRequestCacheKeyDifferentiator()IOException> Allows plugins to register a cache differentiator which contributes to the cacheKey computation for the request cache. This helps differentiate between queries that are otherwise identical.
-