## org.apache.lucene.search.payloads
Class PayloadNearQuery

    java.lang.Object
      org.apache.lucene.search.Query
          org.apache.lucene.search.spans.SpanQuery
              org.apache.lucene.search.spans.SpanNearQuery
                  org.apache.lucene.search.payloads.PayloadNearQuery

All Implemented Interfaces:
  Serializable, Cloneable

    public class PayloadNearQuery

extends SpanNearQuery

This class is very similar to `SpanNearQuery` except that it factors in the value of the payloads located at each of the positions where the `TermSpans` occurs.

In order to take advantage of this, you must override `Similarity.scorePayload(int, java.lang.String, int, int, byte[], int, int)` which returns 1 by default.

Payload scores are aggregated using a pluggable `PayloadFunction`.

See Also:
  `Similarity.scorePayload(int, java.lang.String, int, int, byte[], int, int)`, Serialized Form

Nested Class Summary
`class` `PayloadNearQuery.PayloadNearSpanScorer`
`class` `PayloadNearQuery.PayloadNearSpanWeight`

Field Summary
`protected String` `fieldName`
`protected PayloadFunction` `function`

Fields inherited from class org.apache.lucene.search.spans.SpanNearQuery
`clauses, field, inOrder, slop`

Constructor Summary
`PayloadNearQuery(SpanQuery[] clauses, int slop, boolean inOrder)`
`PayloadNearQuery(SpanQuery[] clauses, int slop, boolean inOrder, PayloadFunction function)`

Method Summary
`Object` `clone()` Returns a clone of this query.
`Weight` `createWeight(Searcher searcher)` Expert: Constructs an appropriate Weight implementation for this query.
`boolean` `equals(Object obj)` Returns true iff `o` is equal to this.
`int` `hashCode()`
`String` `toString(String field)` Prints a query to a string, with `field` assumed to be the default field and omitted.

Methods inherited from class org.apache.lucene.search.spans.SpanNearQuery
`extractTerms, getClauses, getField, getSlop, getSpans, isInOrder, rewrite`

Methods inherited from class org.apache.lucene.search.Query
`combine, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### fieldName

    protected String fieldName

### function

    protected PayloadFunction function

Constructor Detail

### PayloadNearQuery

    public PayloadNearQuery(SpanQuery[] clauses,
                            int slop,
                            boolean inOrder)

### PayloadNearQuery

    public PayloadNearQuery(SpanQuery[] clauses,
                            int slop,
                            boolean inOrder,
                            PayloadFunction function)

Method Detail

### createWeight

    public Weight createWeight(Searcher searcher)
                        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.

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

### clone

    public Object clone()

  Description copied from class: `Query`
  Returns a clone of this query.

  Overrides:
    `clone` in class `SpanNearQuery`

### 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.

  The representation used is one that is supposed to be readable by `QueryParser`. However, there are the following limitations:

  - If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
  - Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.

  Overrides:
    `toString` in class `SpanNearQuery`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `SpanNearQuery`

### equals

    public boolean equals(Object obj)

  Description copied from class: `SpanNearQuery`
  Returns true iff `o` is equal to this.

  Overrides:
    `equals` in class `SpanNearQuery`