本文整理匯總了Golang中github.com/balzaczyy/golucene/core/store.IndexInput.ReadLong方法的典型用法代碼示例。如果您正苦於以下問題:Golang IndexInput.ReadLong方法的具體用法?Golang IndexInput.ReadLong怎麽用?Golang IndexInput.ReadLong使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/balzaczyy/golucene/core/store.IndexInput
的用法示例。
在下文中一共展示了IndexInput.ReadLong方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: readFields
func (np *NormsProducer) readFields(meta store.IndexInput, infos FieldInfos) (err error) {
var fieldNumber int32
if fieldNumber, err = meta.ReadVInt(); err != nil {
return err
}
for fieldNumber != -1 {
info := infos.FieldInfoByNumber(int(fieldNumber))
if info == nil {
return errors.New(fmt.Sprintf("Invalid field number: %v (resource=%v)", fieldNumber, meta))
} else if !info.HasNorms() {
return errors.New(fmt.Sprintf("Invalid field: %v (resource=%v)", info.Name, meta))
}
var format byte
if format, err = meta.ReadByte(); err != nil {
return err
}
var offset int64
if offset, err = meta.ReadLong(); err != nil {
return err
}
entry := &NormsEntry{
format: format,
offset: offset,
}
if format > UNCOMPRESSED {
return errors.New(fmt.Sprintf("Unknown format: %v, input=%v", format, meta))
}
np.norms[int(fieldNumber)] = entry
if fieldNumber, err = meta.ReadVInt(); err != nil {
return err
}
}
return nil
}
示例2: seekDir
func (r *BlockTreeTermsReader) seekDir(input store.IndexInput, dirOffset int64) (err error) {
log.Printf("Seeking to: %v", dirOffset)
if r.version >= BTT_INDEX_VERSION_APPEND_ONLY {
input.Seek(input.Length() - 8)
if dirOffset, err = input.ReadLong(); err != nil {
return err
}
}
input.Seek(dirOffset)
return nil
}
示例3: readIndexHeader
func (r *BlockTreeTermsReader) readIndexHeader(input store.IndexInput) (version int, err error) {
version, err = asInt(codec.CheckHeader(input, TERMS_INDEX_CODEC_NAME, TERMS_VERSION_START, TERMS_VERSION_CURRENT))
if err != nil {
return version, err
}
if version < TERMS_VERSION_APPEND_ONLY {
r.indexDirOffset, err = input.ReadLong()
if err != nil {
return version, err
}
}
return version, nil
}
示例4: readHeader
func (r *BlockTreeTermsReader) readHeader(input store.IndexInput) (version int, err error) {
version, err = asInt(codec.CheckHeader(input, BTT_CODEC_NAME, BTT_VERSION_START, BTT_VERSION_CURRENT))
if err != nil {
return int(version), err
}
if version < BTT_VERSION_APPEND_ONLY {
r.dirOffset, err = input.ReadLong()
if err != nil {
return int(version), err
}
}
return int(version), nil
}
示例5: readFields
/*
Lucene42DocValuesProducer.java/4.5.1/L138
*/
func (dvp *Lucene42DocValuesProducer) readFields(meta store.IndexInput) (err error) {
var fieldNumber int
var fieldType byte
fieldNumber, err = asInt(meta.ReadVInt())
for fieldNumber != -1 && err == nil {
fieldType, err = meta.ReadByte()
if err != nil {
break
}
switch fieldType {
case LUCENE42_DV_NUMBER:
entry := NumericEntry{}
entry.offset, err = meta.ReadLong()
if err != nil {
return err
}
entry.format, err = meta.ReadByte()
if err != nil {
return err
}
switch entry.format {
case LUCENE42_DV_DELTA_COMPRESSED:
case LUCENE42_DV_TABLE_COMPRESSED:
case LUCENE42_DV_GCD_COMPRESSED:
case LUCENE42_DV_UNCOMPRESSED:
default:
return errors.New(fmt.Sprintf("Unknown format: %v, input=%v", entry.format, meta))
}
if entry.format != LUCENE42_DV_UNCOMPRESSED {
entry.packedIntsVersion, err = asInt(meta.ReadVInt())
if err != nil {
return err
}
}
dvp.numerics[fieldNumber] = entry
case LUCENE42_DV_BYTES:
panic("not implemented yet")
case LUCENE42_DV_FST:
panic("not implemented yet")
default:
return errors.New(fmt.Sprintf("invalid entry type: %v, input=%v", fieldType, meta))
}
fieldNumber, err = asInt(meta.ReadVInt())
}
return
}
示例6: seekDir
func (r *BlockTreeTermsReader) seekDir(input store.IndexInput, dirOffset int64) (err error) {
// log.Printf("Seeking to: %v", dirOffset)
if r.version >= TERMS_VERSION_CHECKSUM {
if err = input.Seek(input.Length() - codec.FOOTER_LENGTH - 8); err != nil {
return
}
if dirOffset, err = input.ReadLong(); err != nil {
return
}
} else if r.version >= TERMS_VERSION_APPEND_ONLY {
if err = input.Seek(input.Length() - 8); err != nil {
return
}
if dirOffset, err = input.ReadLong(); err != nil {
return
}
}
return input.Seek(dirOffset)
}