Class HitQueue
Inheritance
System.Object
HitQueue
Namespace:
Assembly: Lucene.Net.NetCore.dll
Syntax
public sealed class HitQueue : PriorityQueue<ScoreDoc>
Constructors
Name |
Description |
HitQueue(Int32, Boolean)
|
Creates a new instance with size elements. If
prePopulate is set to true, the queue will pre-populate itself
with sentinel objects and set its Lucene.Net.Util.PriorityQueue`1.Size to size . In
that case, you should not rely on Lucene.Net.Util.PriorityQueue`1.Size to get the number of
actual elements that were added to the queue, but keep track yourself.
NOTE: in case prePopulate is true, you should pop
elements from the queue using the following code example:
PriorityQueue pq = new HitQueue(10, true); // pre-populate.
ScoreDoc top = pq.top();
// Add/Update one element.
top.score = 1.0f;
top.doc = 0;
top = (ScoreDoc) pq.updateTop();
int totalHits = 1;
// Now pop only the elements that were *truly* inserted.
// First, pop all the sentinel elements (there are pq.size() - totalHits).
for (int i = pq.size() - totalHits; i > 0; i--) pq.pop();
// Now pop the truly added elements.
ScoreDoc[] results = new ScoreDoc[totalHits];
for (int i = totalHits - 1; i >= 0; i--) {
results[i] = (ScoreDoc) pq.pop();
}
NOTE: This class pre-allocate a full array of
length size .
|
Properties
Methods