org.apache.lucene.search

Class 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

Version:
$Id: FieldSortedHitQueue.java 374436 2006-02-02 16:55:26Z yonik $
Author:
Tim Jones (Nacimiento Software)
Since:
lucene 1.4
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(Object fdoc)
boolean
insert(FieldDoc fdoc)
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, insert, lessThan, pop, put, size, top

Field Details

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 Details

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 - Field names, in priority order (highest priority first). Cannot be null or empty.
size - The number of hits to retain. Must be greater than zero.

Method Details

getMaxScore

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

insert

public boolean insert(Object fdoc)
Overrides:
insert in interface PriorityQueue

insert

public boolean insert(FieldDoc fdoc)

lessThan

protected boolean lessThan(Object a,
                           Object b)
Returns whether a is less relevant than b.
Overrides:
lessThan in interface PriorityQueue
Parameters:
a - ScoreDoc
b - ScoreDoc
Returns:
true if document a should be sorted after document b.

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