abstract class TermsHashPerField extends java.lang.Object implements java.lang.Comparable<TermsHashPerField>
Modifier and Type | Class and Description |
---|---|
private static class |
TermsHashPerField.PostingsBytesStartArray |
Modifier and Type | Field and Description |
---|---|
(package private) ByteBlockPool |
bytePool |
(package private) BytesRefHash |
bytesHash |
private Counter |
bytesUsed |
protected DocumentsWriterPerThread.DocState |
docState |
private boolean |
doNextCall |
protected FieldInfo |
fieldInfo |
protected FieldInvertState |
fieldState |
private static int |
HASH_INIT_SIZE |
(package private) IntBlockPool |
intPool |
(package private) int[] |
intUptos |
(package private) int |
intUptoStart |
(package private) TermsHashPerField |
nextPerField |
(package private) int |
numPostingInt |
(package private) ParallelPostingsArray |
postingsArray |
(package private) int[] |
sortedTermIDs |
(package private) int |
streamCount |
(package private) TermToBytesRefAttribute |
termAtt |
(package private) ByteBlockPool |
termBytePool |
protected TermFrequencyAttribute |
termFreqAtt |
(package private) TermsHash |
termsHash |
Constructor and Description |
---|
TermsHashPerField(int streamCount,
FieldInvertState fieldState,
TermsHash termsHash,
TermsHashPerField nextPerField,
FieldInfo fieldInfo)
streamCount: how many streams this field stores per term.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
add()
Called once per inverted token.
|
void |
add(int textStart) |
(package private) abstract void |
addTerm(int termID)
Called when a previously seen term is seen again.
|
int |
compareTo(TermsHashPerField other) |
(package private) abstract ParallelPostingsArray |
createPostingsArray(int size)
Creates a new postings array of the specified size.
|
(package private) void |
finish()
Finish adding all instances of this field to the
current document.
|
void |
initReader(ByteSliceReader reader,
int termID,
int stream) |
(package private) abstract void |
newPostingsArray()
Called when the postings array is initialized or
resized.
|
(package private) abstract void |
newTerm(int termID)
Called when a term is seen for the first time.
|
(package private) void |
reset() |
int[] |
sortPostings()
Collapse the hash table and sort in-place; also sets
this.sortedTermIDs to the results
|
(package private) boolean |
start(IndexableField field,
boolean first)
Start adding a new field instance; first is true if
this is the first time this field name was seen in the
document.
|
(package private) void |
writeByte(int stream,
byte b) |
void |
writeBytes(int stream,
byte[] b,
int offset,
int len) |
(package private) void |
writeVInt(int stream,
int i) |
private static final int HASH_INIT_SIZE
final TermsHash termsHash
final TermsHashPerField nextPerField
protected final DocumentsWriterPerThread.DocState docState
protected final FieldInvertState fieldState
TermToBytesRefAttribute termAtt
protected TermFrequencyAttribute termFreqAtt
final IntBlockPool intPool
final ByteBlockPool bytePool
final ByteBlockPool termBytePool
final int streamCount
final int numPostingInt
protected final FieldInfo fieldInfo
final BytesRefHash bytesHash
ParallelPostingsArray postingsArray
private final Counter bytesUsed
int[] sortedTermIDs
private boolean doNextCall
int[] intUptos
int intUptoStart
public TermsHashPerField(int streamCount, FieldInvertState fieldState, TermsHash termsHash, TermsHashPerField nextPerField, FieldInfo fieldInfo)
void reset()
public void initReader(ByteSliceReader reader, int termID, int stream)
public int[] sortPostings()
public void add(int textStart) throws java.io.IOException
java.io.IOException
void add() throws java.io.IOException
java.io.IOException
void writeByte(int stream, byte b)
public void writeBytes(int stream, byte[] b, int offset, int len)
void writeVInt(int stream, int i)
public int compareTo(TermsHashPerField other)
compareTo
in interface java.lang.Comparable<TermsHashPerField>
void finish() throws java.io.IOException
java.io.IOException
boolean start(IndexableField field, boolean first)
abstract void newTerm(int termID) throws java.io.IOException
java.io.IOException
abstract void addTerm(int termID) throws java.io.IOException
java.io.IOException
abstract void newPostingsArray()
abstract ParallelPostingsArray createPostingsArray(int size)