Class SpanMultiTermQueryWrapper<Q extends MultiTermQuery>


  • public class SpanMultiTermQueryWrapper<Q extends MultiTermQuery>
    extends SpanQuery
    Wraps any MultiTermQuery as a SpanQuery, so it can be nested within other SpanQuery classes.

    The query is rewritten by default to a SpanOrQuery containing the expanded terms, but this can be customized.

    Example:

     
     WildcardQuery wildcard = new WildcardQuery(new Term("field", "bro?n"));
     SpanQuery spanWildcard = new SpanMultiTermQueryWrapper<WildcardQuery>(wildcard);
     // do something with spanWildcard, such as use it in a SpanFirstQuery
     
     
    • Constructor Detail

      • SpanMultiTermQueryWrapper

        public SpanMultiTermQueryWrapper​(Q query)
        Create a new SpanMultiTermQueryWrapper.
        Parameters:
        query - Query to wrap.
    • Method Detail

      • getField

        public String getField()
        Description copied from class: SpanQuery
        Returns the name of the field matched by this query.
        Specified by:
        getField in class SpanQuery
      • createWeight

        public SpanWeight createWeight​(IndexSearcher searcher,
                                       boolean needsScores,
                                       float boost)
                                throws IOException
        Description copied from class: Query
        Expert: Constructs an appropriate Weight implementation for this query.

        Only implemented by primitive queries, which re-write to themselves.

        Specified by:
        createWeight in class SpanQuery
        needsScores - True if document scores (Scorer.score()) are needed.
        boost - The boost that is propagated by the parent queries.
        Throws:
        IOException
      • getWrappedQuery

        public Query getWrappedQuery()
        Returns the wrapped query
      • toString

        public String toString​(String field)
        Description copied from class: Query
        Prints a query to a string, with field assumed to be the default field and omitted.
        Specified by:
        toString in class Query
      • rewrite

        public Query rewrite​(IndexReader reader)
                      throws IOException
        Description copied from class: Query
        Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.
        Overrides:
        rewrite in class Query
        Throws:
        IOException
      • hashCode

        public int hashCode()
        Description copied from class: Query
        Override and implement query hash code properly in a subclass. This is required so that QueryCache works properly.
        Specified by:
        hashCode in class Query
        See Also:
        Query.equals(Object)
      • equals

        public boolean equals​(Object other)
        Description copied from class: Query
        Override and implement query instance equivalence properly in a subclass. This is required so that QueryCache works properly. Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical that other instance. Utility methods are provided for certain repetitive code.
        Specified by:
        equals in class Query
        See Also:
        Query.sameClassAs(Object), Query.classHash()