Class SearchInvoker

java.lang.Object
com.yahoo.search.dispatch.CloseableInvoker
com.yahoo.search.dispatch.SearchInvoker
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
InterleavedSearchInvoker, RpcSearchInvoker, SearchErrorInvoker

public abstract class SearchInvoker extends CloseableInvoker
SearchInvoker encapsulates an allocated connection for running a single search query. The invocation object can be stateful and should not be reused.
Author:
ollivir
  • Constructor Details

    • SearchInvoker

      protected SearchInvoker(Optional<Node> node)
  • Method Details

    • search

      public Result search(Query query, Execution execution) throws IOException
      Retrieve the hits for the given Query. If the search is run on multiple content nodes, the provided Execution may be used to retrieve document summaries required for correct result windowing.
      Throws:
      IOException
    • sendSearchRequest

      protected abstract Object sendSearchRequest(Query query, Object context) throws IOException
      Parameters:
      query - the query to send
      context - a context object that can be used to pass context among different invokers, e.g for reuse of preserialized data.
      Returns:
      an object that can be passed to the next invocation of sendSearchRequest
      Throws:
      IOException
    • getSearchResult

      protected abstract InvokerResult getSearchResult(Execution execution) throws IOException
      Throws:
      IOException
    • setMonitor

      protected void setMonitor(ResponseMonitor<SearchInvoker> monitor)
    • responseAvailable

      protected void responseAvailable()
    • distributionKey

      protected Optional<Integer> distributionKey()
    • errorResult

      protected InvokerResult errorResult(Query query, ErrorMessage errorMessage)