com.atlassian.confluence.search.v2.lucene.boosting
Class PluggableBoostingStrategy

java.lang.Object
  extended by com.atlassian.confluence.search.v2.lucene.boosting.PluggableBoostingStrategy
All Implemented Interfaces:
BoostingStrategy

public class PluggableBoostingStrategy
extends Object
implements BoostingStrategy

Boosts the score for a given document using BoostingStrategy implementations provided by any plugin. The boost is not applied in any particular order.


Constructor Summary
PluggableBoostingStrategy(ModuleDescriptorCache<LuceneBoostingStrategyModuleDescriptor> moduleDescriptorCache)
           
 
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, Map<String,Object> params, 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluggableBoostingStrategy

public PluggableBoostingStrategy(ModuleDescriptorCache<LuceneBoostingStrategyModuleDescriptor> moduleDescriptorCache)
Method Detail

boost

public float boost(org.apache.lucene.index.IndexReader reader,
                   int doc,
                   float score)
            throws IOException
Description copied from interface: BoostingStrategy

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.

Specified by:
boost in interface BoostingStrategy
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:
IOException

boost

public float boost(org.apache.lucene.index.IndexReader reader,
                   Map<String,Object> params,
                   int doc,
                   float score)
            throws IOException
Description copied from interface: BoostingStrategy

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.

Specified by:
boost in interface BoostingStrategy
Parameters:
reader - a reader instance associated with the current scoring process
params - extra state information used by more complex boosting strategies
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:
IOException

boost

public float boost(org.apache.lucene.index.IndexReader reader,
                   SearchQueryParameters searchQueryParameters,
                   int doc,
                   float score)
            throws IOException
Description copied from interface: BoostingStrategy

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.

Specified by:
boost in interface BoostingStrategy
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:
IOException


Copyright © 2003-2012 Atlassian. All Rights Reserved.