本文整理汇总了Golang中github.com/balzaczyy/golucene/core/store.IndexOutput.WriteVInt方法的典型用法代码示例。如果您正苦于以下问题:Golang IndexOutput.WriteVInt方法的具体用法?Golang IndexOutput.WriteVInt怎么用?Golang IndexOutput.WriteVInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/balzaczyy/golucene/core/store.IndexOutput
的用法示例。
在下文中一共展示了IndexOutput.WriteVInt方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: writeClearedDgaps
/* Write as a d-gaps list */
func (bv *BitVector) writeClearedDgaps(output store.IndexOutput) error {
err := store.Stream(output).
WriteInt(-1). // mark using d-gaps
WriteInt(int32(bv.size)).
WriteInt(int32(bv.Count())).
Close()
if err != nil {
return err
}
last, numCleared := 0, bv.size-bv.Count()
for i, v := range bv.bits {
if v == byte(0xff) {
continue
}
err = output.WriteVInt(int32(i - last))
if err == nil {
err = output.WriteByte(v)
}
if err != nil {
return err
}
last = i
numCleared -= (8 - util.BitCount(v))
assert(numCleared >= 0 ||
i == len(bv.bits)-1 && numCleared == -(8-(bv.size&7)))
if numCleared <= 0 {
break
}
}
return nil
}
示例2: Init
func (w *Lucene41PostingsWriter) Init(termsOut store.IndexOutput) error {
err := codec.WriteHeader(termsOut, LUCENE41_TERMS_CODEC, LUCENE41_VERSION_CURRENT)
if err == nil {
err = termsOut.WriteVInt(LUCENE41_BLOCK_SIZE)
}
return err
}
示例3: NewStoredFieldsIndexWriter
func NewStoredFieldsIndexWriter(indexOutput store.IndexOutput) (*StoredFieldsIndexWriter, error) {
err := indexOutput.WriteVInt(packed.VERSION_CURRENT)
if err != nil {
return nil, err
}
return &StoredFieldsIndexWriter{
fieldsIndexOut: indexOutput,
blockChunks: 0,
blockDocs: 0,
firstStartPointer: -1,
totalDocs: 0,
docBaseDeltas: make([]int, BLOCK_SIZE),
startPointerDeltas: make([]int64, BLOCK_SIZE),
}, nil
}
示例4: writeBytesRef
func writeBytesRef(out store.IndexOutput, bytes []byte) (err error) {
if err = out.WriteVInt(int32(len(bytes))); err == nil {
err = out.WriteBytes(bytes)
}
return
}
示例5: WriteSkipData
func (w *SkipWriter) WriteSkipData(level int, skipBuffer store.IndexOutput) error {
delta := w.curDoc - w.lastSkipDoc[level]
var err error
if err = skipBuffer.WriteVInt(int32(delta)); err != nil {
return err
}
w.lastSkipDoc[level] = w.curDoc
if err = skipBuffer.WriteVInt(int32(w.curDocPointer - w.lastSkipDocPointer[level])); err != nil {
return err
}
w.lastSkipDocPointer[level] = w.curDocPointer
if w.fieldHasPositions {
if err = skipBuffer.WriteVInt(int32(w.curPosPointer - w.lastSkipPosPointer[level])); err != nil {
return err
}
w.lastSkipPosPointer[level] = w.curPosPointer
if err = skipBuffer.WriteVInt(int32(w.curPosBufferUpto)); err != nil {
return err
}
if w.fieldHasPayloads {
if err = skipBuffer.WriteVInt(int32(w.curPayloadByteUpto)); err != nil {
return err
}
}
if w.fieldHasOffsets || w.fieldHasPayloads {
if err = skipBuffer.WriteVInt(int32(w.curPayPointer - w.lastSkipPayPointer[level])); err != nil {
return err
}
w.lastSkipPayPointer[level] = w.curPayPointer
}
}
return nil
}
示例6:
return
}
var success = false
defer func() {
if success {
err = output.Close()
} else {
util.CloseWhileSuppressingError(output)
}
}()
if err = codec.WriteHeader(output, FI_CODEC_NAME, FI_FORMAT_CURRENT); err != nil {
return
}
if err = output.WriteVInt(int32(infos.Size())); err != nil {
return
}
for _, fi := range infos.Values {
indexOptions := fi.IndexOptions()
bits := byte(0)
if fi.HasVectors() {
bits |= FI_STORE_TERMVECTOR
}
if fi.OmitsNorms() {
bits |= FI_OMIT_NORMS
}
if fi.HasPayloads() {
bits |= FI_STORE_PAYLOADS
}
if fi.IsIndexed() {