org.apache.lucene.search
Class FieldSortedHitQueue

java.lang.Object
  extended by org.apache.lucene.util.PriorityQueue
      extended by org.apache.lucene.search.FieldSortedHitQueue

public class FieldSortedHitQueue
extends PriorityQueue

Expert: A hit queue for sorting by hits by terms in more than one field. Uses FieldCache.DEFAULT for maintaining internal term lookup tables.

Created: Dec 8, 2003 12:56:03 PM

Since:
lucene 1.4
Version:
$Id: FieldSortedHitQueue.java 477084 2006-11-20 07:10:04Z otis $
Author:
Tim Jones (Nacimiento Software)
See Also:
Searcher.search(Query,Filter,int,Sort), FieldCache

Field Summary
protected  ScoreDocComparator[] comparators
          Stores a comparator corresponding to each field being sorted by
protected  SortField[] fields
          Stores the sort criteria being used.
protected  float maxscore
          Stores the maximum score value encountered, needed for normalizing.
 
Constructor Summary
FieldSortedHitQueue(IndexReader reader, SortField[] fields, int size)
          Creates a hit queue sorted by the given list of fields.
 
Method Summary
 float getMaxScore()
          returns the maximum score encountered by elements inserted via insert()
 boolean insert(FieldDoc fdoc)
           
 boolean insert(Object fdoc)
          Adds element to the PriorityQueue in log(size) time if either the PriorityQueue is not full, or not lessThan(element, top()).
protected  boolean lessThan(Object a, Object b)
          Returns whether a is less relevant than b.
 
Methods inherited from class org.apache.lucene.util.PriorityQueue
adjustTop, clear, initialize, pop, put, size, top
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

comparators

protected ScoreDocComparator[] comparators
Stores a comparator corresponding to each field being sorted by


fields

protected SortField[] fields
Stores the sort criteria being used.


maxscore

protected float maxscore
Stores the maximum score value encountered, needed for normalizing.

Constructor Detail

FieldSortedHitQueue

public FieldSortedHitQueue(IndexReader reader,
                           SortField[] fields,
                           int size)
                    throws IOException
Creates a hit queue sorted by the given list of fields.

Parameters:
reader - Index to use.
fields - Fieldable names, in priority order (highest priority first). Cannot be null or empty.
size - The number of hits to retain. Must be greater than zero.
Throws:
IOException
Method Detail

getMaxScore

public float getMaxScore()
returns the maximum score encountered by elements inserted via insert()


insert

public boolean insert(FieldDoc fdoc)

insert

public boolean insert(Object fdoc)
Description copied from class: PriorityQueue
Adds element to the PriorityQueue in log(size) time if either the PriorityQueue is not full, or not lessThan(element, top()).

Overrides:
insert in class PriorityQueue
Returns:
true if element is added, false otherwise.

lessThan

protected boolean lessThan(Object a,
                           Object b)
Returns whether a is less relevant than b.

Specified by:
lessThan in class PriorityQueue
Parameters:
a - ScoreDoc
b - ScoreDoc
Returns:
true if document a should be sorted after document b.


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.