Class CandidateMatcher<T extends QueryMatch>

    • Constructor Summary

      Constructors 
      Constructor Description
      CandidateMatcher​(IndexSearcher searcher)
      Creates a new CandidateMatcher for the supplied DocumentBatch
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addMatch​(T match, int doc)
      Record a match
      protected void copyMatches​(CandidateMatcher<T> other)
      Copy all matches from another CandidateMatcher
      protected void doFinish()
      Called when all monitoring of a batch of documents is complete
      (package private) MultiMatchingQueries<T> finish​(long buildTime, int queryCount)  
      protected abstract void matchQuery​(java.lang.String queryId, Query matchQuery, java.util.Map<java.lang.String,​java.lang.String> metadata)
      Runs the supplied query against this CandidateMatcher's set of documents, storing any resulting match, and recording the query in the presearcher hits
      (package private) void reportError​(java.lang.String queryId, java.lang.Exception e)
      Called by the Monitor if running a query throws an Exception
      abstract T resolve​(T match1, T match2)
      If two matches from the same query are found (for example, two branches of a disjunction), combine them.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • searcher

        protected final IndexSearcher searcher
        The searcher to run candidate queries against
      • errors

        private final java.util.Map<java.lang.String,​java.lang.Exception> errors
      • searchTime

        private long searchTime
    • Constructor Detail

      • CandidateMatcher

        public CandidateMatcher​(IndexSearcher searcher)
        Creates a new CandidateMatcher for the supplied DocumentBatch
        Parameters:
        searcher - the IndexSearcher to run queries against
    • Method Detail

      • matchQuery

        protected abstract void matchQuery​(java.lang.String queryId,
                                           Query matchQuery,
                                           java.util.Map<java.lang.String,​java.lang.String> metadata)
                                    throws java.io.IOException
        Runs the supplied query against this CandidateMatcher's set of documents, storing any resulting match, and recording the query in the presearcher hits
        Parameters:
        queryId - the query id
        matchQuery - the query to run
        metadata - the query metadata
        Throws:
        java.io.IOException - on IO errors
      • addMatch

        protected final void addMatch​(T match,
                                      int doc)
        Record a match
        Parameters:
        match - a QueryMatch object
      • resolve

        public abstract T resolve​(T match1,
                                  T match2)
        If two matches from the same query are found (for example, two branches of a disjunction), combine them.
        Parameters:
        match1 - the first match found
        match2 - the second match found
        Returns:
        a Match object that combines the two
      • reportError

        void reportError​(java.lang.String queryId,
                         java.lang.Exception e)
        Called by the Monitor if running a query throws an Exception
      • finish

        final MultiMatchingQueries<T> finish​(long buildTime,
                                             int queryCount)
        Returns:
        the matches from this matcher
      • doFinish

        protected void doFinish()
        Called when all monitoring of a batch of documents is complete
      • copyMatches

        protected void copyMatches​(CandidateMatcher<T> other)
        Copy all matches from another CandidateMatcher