org.apache.lucene.search.payloads
Class PayloadNearQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.lucene.search.spans.SpanQuery
          extended by org.apache.lucene.search.spans.SpanNearQuery
              extended by 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:

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