Class FunctionQuery

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class FunctionQuery
    extends Query
    Returns a score for each document based on a ValueSource, often some function of the value of a field. Note: This API is experimental and may change in non backward-compatible ways in the future
    • Constructor Detail

      • FunctionQuery

        public FunctionQuery​(ValueSource func)
        Parameters:
        func - defines the function to be used for scoring
    • Method Detail

      • getValueSource

        public ValueSource getValueSource()
        Returns:
        The associated ValueSource
      • rewrite

        public Query rewrite​(IndexReader reader)
                      throws java.io.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:
        java.io.IOException
      • extractTerms

        public void extractTerms​(java.util.Set<Term> terms)
        Description copied from class: Query
        Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.
        Overrides:
        extractTerms in class Query
      • createWeight

        public Weight createWeight​(IndexSearcher searcher)
                            throws java.io.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.

        Overrides:
        createWeight in class Query
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString​(java.lang.String field)
        Prints a user-readable version of this query.
        Specified by:
        toString in class Query
      • equals

        public boolean equals​(java.lang.Object o)
        Returns true if o is equal to this.
        Overrides:
        equals in class Query
      • hashCode

        public int hashCode()
        Returns a hash code value for this object.
        Overrides:
        hashCode in class Query