Package org.apache.lucene.queries.function

# Class FunctionQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.function.FunctionQuery

public class FunctionQuery extends Query
Returns a score for each document based on a ValueSource, often some function of the value of a field.

See Also:
  - `ValueSourceScorer`
WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`FunctionQuery.AllScorer`
Scores all documents, applying the function to each document
`protected class`
`FunctionQuery.FunctionWeight`
Creates FunctionQuery scorer instances

## Constructor Summary

Constructors
Constructor
Description
`FunctionQuery(ValueSource func)`

## Method Summary

Modifier and Type
Method
Description
`Weight`
`createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
`boolean`
`equals(Object other)`
Returns true if `o` is equal to this.
`ValueSource`
`getValueSource()`
`int`
`hashCode()`
`String`
`toString(String field)`
Prints a user-readable version of this query.
`void`
`visit(QueryVisitor visitor)`

### Methods inherited from class org.apache.lucene.search.Query

`classHash, rewrite, sameClassAs, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### FunctionQuery

public FunctionQuery(ValueSource func)

Parameters:
  `func` - defines the function to be used for scoring

## Method Details

### getValueSource

public ValueSource getValueSource()

Returns:
  The associated ValueSource

### visit

public void visit(QueryVisitor visitor)

Specified by:
  `visit` in class `Query`

### createWeight

public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException

Overrides:
  `createWeight` in class `Query`
Throws:
  `IOException`

### toString

public String toString(String field)
Prints a user-readable version of this query.

Specified by:
  `toString` in class `Query`

### equals

public boolean equals(Object other)
Returns true if `o` is equal to this.

Specified by:
  `equals` in class `Query`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in class `Query`