com.atlassian.confluence.search.v2.lucene.boosting
Interface BoostingStrategy

All Known Implementing Classes:
BoostByModificationDateStrategy, PluggableBoostingStrategy

public interface BoostingStrategy

An implementation of this interface may be passed to BoostingQuery to achieve an arbitrary per document score boost.


Method Summary
 float boost(org.apache.lucene.index.IndexReader reader, int doc, float score)
          Apply a relevant boost to the specified document with the specified score.
 float boost(org.apache.lucene.index.IndexReader reader, SearchQueryParameters searchQueryParameters, int doc, float score)
          Apply a relevant boost to the specified document with the specified score.
 

Method Detail

boost

float boost(org.apache.lucene.index.IndexReader reader,
            int doc,
            float score)
            throws java.io.IOException

Apply a relevant boost to the specified document with the specified score. Returning a score of 0 will remove the document from the results.

Warning: This method needs to return extremely fast, so any I/O like using the index reader to load the actual document is discouraged. If you need access to a documents field values you should rather consider using a FieldCache instead.

Parameters:
reader - a reader instance associated with the current scoring process
doc - the doc id
score - the original score for the document specified by doc
Returns:
the boosted score, 0 to remove the document from the results, or score to make no change to the score
Throws:
java.io.IOException

boost

float boost(org.apache.lucene.index.IndexReader reader,
            SearchQueryParameters searchQueryParameters,
            int doc,
            float score)
            throws java.io.IOException

Apply a relevant boost to the specified document with the specified score. Returning a score of 0 will remove the document from the results.

Warning: This method needs to return extremely fast, so any I/O like using the index reader to load the actual document is discouraged. If you need access to a documents field values you should rather consider using a FieldCache instead.

If you are implementing this method but do not use the searchQueryParameters, it is safe to delegate directly to the boost(IndexReader, int, float) method.

Parameters:
reader - a reader instance associated with the current scoring process
searchQueryParameters - extra state information used by more complex boosting strategies
doc - the doc id
score - the original score for the document specified by doc, or score to make no change to the score
Returns:
the boosted score or 0 to remove the document from the results
Throws:
java.io.IOException


Copyright © 2003-2010 Atlassian. All Rights Reserved.