Class SearchHandler

  • All Implemented Interfaces:
    com.yahoo.container.jdisc.HttpRequestHandler, com.yahoo.jdisc.handler.RequestHandler, com.yahoo.jdisc.SharedResource

    public class SearchHandler
    extends com.yahoo.container.jdisc.LoggingRequestHandler
    Handles search request.
    Author:
    Steinar Knutsen
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.yahoo.container.jdisc.LoggingRequestHandler

        com.yahoo.container.jdisc.LoggingRequestHandler.Context
      • Nested classes/interfaces inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler

        com.yahoo.container.jdisc.ThreadedHttpRequestHandler.LazyContentChannel
      • Nested classes/interfaces inherited from interface com.yahoo.jdisc.SharedResource

        com.yahoo.jdisc.SharedResource.Debug
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String defaultSearchChainName  
      • Fields inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler

        CONTENT_TYPE
      • Fields inherited from class com.yahoo.container.jdisc.ThreadedRequestHandler

        metric
      • Fields inherited from interface com.yahoo.jdisc.SharedResource

        DEBUG, SYSTEM_PROPERTY_NAME_DEBUG
    • Constructor Summary

      Constructors 
      Constructor Description
      SearchHandler​(com.yahoo.container.core.ChainsConfig chainsConfig, IndexInfoConfig indexInfo, com.yahoo.container.QrSearchersConfig clusters, com.yahoo.vespa.configdefinition.SpecialtokensConfig specialtokens, com.yahoo.statistics.Statistics statistics, com.yahoo.language.Linguistics linguistics, com.yahoo.jdisc.Metric metric, com.yahoo.component.provider.ComponentRegistry<com.yahoo.processing.rendering.Renderer> renderers, Executor executor, com.yahoo.container.logging.AccessLog accessLog, QueryProfilesConfig queryProfileConfig, com.yahoo.component.provider.ComponentRegistry<Searcher> searchers, com.yahoo.container.core.ContainerHttpConfig containerHttpConfig)
      Deprecated.
      use the other constructor
      SearchHandler​(com.yahoo.jdisc.Metric metric, com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool, CompiledQueryProfileRegistry queryProfileRegistry, com.yahoo.container.core.ContainerHttpConfig config, com.yahoo.language.process.Embedder embedder, ExecutionFactory executionFactory)  
      SearchHandler​(com.yahoo.statistics.Statistics statistics, com.yahoo.jdisc.Metric metric, com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool, com.yahoo.container.logging.AccessLog ignored, CompiledQueryProfileRegistry queryProfileRegistry, com.yahoo.container.core.ContainerHttpConfig config, ExecutionFactory executionFactory)
      Deprecated.
      Use the @Inject annotated constructor instead.
      SearchHandler​(com.yahoo.statistics.Statistics statistics, com.yahoo.jdisc.Metric metric, com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool, CompiledQueryProfileRegistry queryProfileRegistry, com.yahoo.container.core.ContainerHttpConfig config, com.yahoo.language.process.Embedder embedder, ExecutionFactory executionFactory)
      Deprecated.
      SearchHandler​(com.yahoo.statistics.Statistics statistics, com.yahoo.jdisc.Metric metric, Executor executor, com.yahoo.container.logging.AccessLog ignored, CompiledQueryProfileRegistry queryProfileRegistry, com.yahoo.container.core.ContainerHttpConfig containerHttpConfig, ExecutionFactory executionFactory)
      Deprecated.
      Use the @Inject annotated constructor instead.
      SearchHandler​(com.yahoo.statistics.Statistics statistics, com.yahoo.jdisc.Metric metric, Executor executor, com.yahoo.container.logging.AccessLog ignored, CompiledQueryProfileRegistry queryProfileRegistry, ExecutionFactory executionFactory, Optional<String> hostResponseHeaderKey)
      Deprecated.
      Use the @Inject annotated constructor instead.
      SearchHandler​(com.yahoo.statistics.Statistics statistics, com.yahoo.jdisc.Metric metric, Executor executor, com.yahoo.container.logging.AccessLog ignored, QueryProfilesConfig queryProfileConfig, com.yahoo.container.core.ContainerHttpConfig containerHttpConfig, ExecutionFactory executionFactory)
      Deprecated.
      Use the @Inject annotated constructor instead.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void createRequestMapping​(com.yahoo.slime.Inspector inspector, Map<String,​String> map, String parent)  
      com.yahoo.processing.rendering.Renderer<Result> getRendererCopy​(com.yahoo.component.ComponentSpecification spec)
      For internal use only
      Optional<com.yahoo.jdisc.Request.RequestType> getRequestType()  
      SearchChainRegistry getSearchChainRegistry()  
      com.yahoo.container.jdisc.HttpResponse handle​(com.yahoo.container.jdisc.HttpRequest request)  
      com.yahoo.container.jdisc.RequestHandlerSpec requestHandlerSpec()  
      Result searchAndFill​(Query query, com.yahoo.component.chain.Chain<? extends Searcher> searchChain)
      Used from container SDK, for internal use only
      • Methods inherited from class com.yahoo.container.jdisc.LoggingRequestHandler

        createLoggingCompletionHandler, testOnlyContext
      • Methods inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler

        addDateHeader, asHttpRequest, handle, handleRequest
      • Methods inherited from class com.yahoo.container.jdisc.ThreadedRequestHandler

        executor, getTimeout, handleRequest, writeErrorResponseOnOverload
      • Methods inherited from class com.yahoo.jdisc.handler.AbstractRequestHandler

        handleTimeout
      • Methods inherited from class com.yahoo.jdisc.AbstractResource

        currentState, destroy, refer, refer, release, retainCount
      • Methods inherited from interface com.yahoo.jdisc.handler.RequestHandler

        handleRequest, handleTimeout
      • Methods inherited from interface com.yahoo.jdisc.SharedResource

        refer, refer, release
    • Constructor Detail

      • SearchHandler

        @Inject
        public SearchHandler​(com.yahoo.jdisc.Metric metric,
                             com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool,
                             CompiledQueryProfileRegistry queryProfileRegistry,
                             com.yahoo.container.core.ContainerHttpConfig config,
                             com.yahoo.language.process.Embedder embedder,
                             ExecutionFactory executionFactory)
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.statistics.Statistics statistics,
                             com.yahoo.jdisc.Metric metric,
                             com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool,
                             CompiledQueryProfileRegistry queryProfileRegistry,
                             com.yahoo.container.core.ContainerHttpConfig config,
                             com.yahoo.language.process.Embedder embedder,
                             ExecutionFactory executionFactory)
        Deprecated.
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.statistics.Statistics statistics,
                             com.yahoo.jdisc.Metric metric,
                             com.yahoo.container.handler.threadpool.ContainerThreadPool threadpool,
                             com.yahoo.container.logging.AccessLog ignored,
                             CompiledQueryProfileRegistry queryProfileRegistry,
                             com.yahoo.container.core.ContainerHttpConfig config,
                             ExecutionFactory executionFactory)
        Deprecated.
        Use the @Inject annotated constructor instead.
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.statistics.Statistics statistics,
                             com.yahoo.jdisc.Metric metric,
                             Executor executor,
                             com.yahoo.container.logging.AccessLog ignored,
                             CompiledQueryProfileRegistry queryProfileRegistry,
                             com.yahoo.container.core.ContainerHttpConfig containerHttpConfig,
                             ExecutionFactory executionFactory)
        Deprecated.
        Use the @Inject annotated constructor instead.
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.statistics.Statistics statistics,
                             com.yahoo.jdisc.Metric metric,
                             Executor executor,
                             com.yahoo.container.logging.AccessLog ignored,
                             QueryProfilesConfig queryProfileConfig,
                             com.yahoo.container.core.ContainerHttpConfig containerHttpConfig,
                             ExecutionFactory executionFactory)
        Deprecated.
        Use the @Inject annotated constructor instead.
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.statistics.Statistics statistics,
                             com.yahoo.jdisc.Metric metric,
                             Executor executor,
                             com.yahoo.container.logging.AccessLog ignored,
                             CompiledQueryProfileRegistry queryProfileRegistry,
                             ExecutionFactory executionFactory,
                             Optional<String> hostResponseHeaderKey)
        Deprecated.
        Use the @Inject annotated constructor instead.
      • SearchHandler

        @Deprecated
        public SearchHandler​(com.yahoo.container.core.ChainsConfig chainsConfig,
                             IndexInfoConfig indexInfo,
                             com.yahoo.container.QrSearchersConfig clusters,
                             com.yahoo.vespa.configdefinition.SpecialtokensConfig specialtokens,
                             com.yahoo.statistics.Statistics statistics,
                             com.yahoo.language.Linguistics linguistics,
                             com.yahoo.jdisc.Metric metric,
                             com.yahoo.component.provider.ComponentRegistry<com.yahoo.processing.rendering.Renderer> renderers,
                             Executor executor,
                             com.yahoo.container.logging.AccessLog accessLog,
                             QueryProfilesConfig queryProfileConfig,
                             com.yahoo.component.provider.ComponentRegistry<Searcher> searchers,
                             com.yahoo.container.core.ContainerHttpConfig containerHttpConfig)
        Deprecated.
        use the other constructor
    • Method Detail

      • handle

        public final com.yahoo.container.jdisc.HttpResponse handle​(com.yahoo.container.jdisc.HttpRequest request)
        Specified by:
        handle in class com.yahoo.container.jdisc.ThreadedHttpRequestHandler
      • getRequestType

        public Optional<com.yahoo.jdisc.Request.RequestType> getRequestType()
        Overrides:
        getRequestType in class com.yahoo.container.jdisc.ThreadedRequestHandler
      • searchAndFill

        public Result searchAndFill​(Query query,
                                    com.yahoo.component.chain.Chain<? extends Searcher> searchChain)
        Used from container SDK, for internal use only
      • getRendererCopy

        public com.yahoo.processing.rendering.Renderer<Result> getRendererCopy​(com.yahoo.component.ComponentSpecification spec)
        For internal use only
      • createRequestMapping

        public void createRequestMapping​(com.yahoo.slime.Inspector inspector,
                                         Map<String,​String> map,
                                         String parent)
      • requestHandlerSpec

        public com.yahoo.container.jdisc.RequestHandlerSpec requestHandlerSpec()