예제 #1
0
 /// <summary>
 /// Encode metadata as <see cref="T:long[]"/> and <see cref="T:byte[]"/>. <paramref name="absolute"/> controls whether
 /// current term is delta encoded according to latest term.
 /// Usually elements in <paramref name="longs"/> are file pointers, so each one always
 /// increases when a new term is consumed. <paramref name="out"/> is used to write generic
 /// bytes, which are not monotonic.
 /// <para/>
 /// NOTE: sometimes <see cref="T:long[]"/> might contain "don't care" values that are unused, e.g.
 /// the pointer to postings list may not be defined for some terms but is defined
 /// for others, if it is designed to inline some postings data in term dictionary.
 /// In this case, the postings writer should always use the last value, so that each
 /// element in metadata <see cref="T:long[]"/> remains monotonic.
 /// </summary>
 public abstract void EncodeTerm(long[] longs, DataOutput @out, FieldInfo fieldInfo, BlockTermState state, bool absolute);
예제 #2
0
 /// <summary>
 /// Must fully consume state, since after this call that
 /// <see cref="TermState"/> may be reused.
 /// </summary>
 public abstract DocsAndPositionsEnum DocsAndPositions(FieldInfo fieldInfo, BlockTermState state, IBits skipDocs, DocsAndPositionsEnum reuse, DocsAndPositionsFlags flags);
예제 #3
0
 /// <summary>
 /// Finishes the current term.  The provided
 /// <see cref="BlockTermState"/> contains the term's summary statistics,
 /// and will holds metadata from PBF when returned.
 /// </summary>
 public abstract void FinishTerm(BlockTermState state);
예제 #4
0
 /// <summary>
 /// Actually decode metadata for next term. </summary>
 /// <seealso cref="PostingsWriterBase.EncodeTerm(long[], Store.DataOutput, FieldInfo, BlockTermState, bool)"/>
 public abstract void DecodeTerm(long[] longs, DataInput @in, FieldInfo fieldInfo, BlockTermState state, bool absolute);