Class PhraseQuery

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class PhraseQuery
    extends MultiTermQuery
    Models a phrase query, which can have a proximity requirement.
    Author:
    Vassilis Plachouras, Craig Macdonald
    See Also:
    Serialized Form
    • Field Detail

      • proximityDistance

        protected int proximityDistance
        Indicates the distance, in number of blocks, that the phrase terms can appear in a document. A value of zero corresponds to phrase searching and it is the default value, while any higher value enables proximity searching.
    • Constructor Detail

      • PhraseQuery

        public PhraseQuery()
        A default constructor that calls the constructor of the super class.
      • PhraseQuery

        public PhraseQuery​(int proxDistance)
        Constructs a phrase query and sets the proximity distance
        Parameters:
        proxDistance - int the distance, in number of blocks, that the phrase terms can appear in a document.
    • Method Detail

      • clone

        public java.lang.Object clone()
        Deep copy this Query object
        Overrides:
        clone in class MultiTermQuery
      • setProximityDistance

        public void setProximityDistance​(int prox)
        Sets the allowed distance, in blocks, between the phrase terms.
        Parameters:
        prox - the allowed distance between the phrase terms.
      • toString

        public java.lang.String toString()
        Returns a string representation of the phrase query.
        Overrides:
        toString in class MultiTermQuery
        Returns:
        String the string representation of the phrase query.
      • obtainControls

        public boolean obtainControls​(java.util.Set<java.lang.String> allowed,
                                      java.util.Map<java.lang.String,​java.lang.String> controls)
        This object cannot contain any controls, so this method will always return false.
        Overrides:
        obtainControls in class MultiTermQuery
        Parameters:
        allowed - The HashSet of control names that are allowed to be set.
        controls - The Hashtable into which child objects much add found controls
        Returns:
        false
      • getTermsOf

        public void getTermsOf​(java.lang.Class<? extends Query> c,
                               java.util.List<Query> alist,
                               boolean req)
        Returns all the query terms, in subqueries that are instances of a given class
        Overrides:
        getTermsOf in class MultiTermQuery
        Parameters:
        c - Class a class of queries.
        alist - ArrayList the list of query terms.
        req - boolean indicates whether the subqueries are required or not.