protobuf

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_coarse_index_proto protoreflect.FileDescriptor
View Source
var File_vector_proto protoreflect.FileDescriptor

Functions

func Encode

func Encode(vec *Vector) ([]byte, error)

Encode 编码

Types

type CoarseIndexMetadataPB

type CoarseIndexMetadataPB struct {
	TotalVectors int32           `protobuf:"varint,1,opt,name=total_vectors,json=totalVectors,proto3" json:"total_vectors,omitempty"`
	TotalPages   int32           `protobuf:"varint,2,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
	PageSize     int32           `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	MaxPages     int32           `protobuf:"varint,4,opt,name=max_pages,json=maxPages,proto3" json:"max_pages,omitempty"`
	UsePq        bool            `protobuf:"varint,5,opt,name=use_pq,json=usePq,proto3" json:"use_pq,omitempty"`
	PqSubspaces  int32           `protobuf:"varint,6,opt,name=pq_subspaces,json=pqSubspaces,proto3" json:"pq_subspaces,omitempty"`
	PqCentroids  int32           `protobuf:"varint,7,opt,name=pq_centroids,json=pqCentroids,proto3" json:"pq_centroids,omitempty"`
	PageMap      map[int32]int32 `` // vector_id -> page_index
	/* 158-byte string literal not displayed */
	LastModified int64 `protobuf:"varint,9,opt,name=last_modified,json=lastModified,proto3" json:"last_modified,omitempty"`
	// contains filtered or unexported fields
}

CoarseIndexMetadata 粗粒度索引元数据

func (*CoarseIndexMetadataPB) Descriptor deprecated

func (*CoarseIndexMetadataPB) Descriptor() ([]byte, []int)

Deprecated: Use CoarseIndexMetadataPB.ProtoReflect.Descriptor instead.

func (*CoarseIndexMetadataPB) GetLastModified

func (x *CoarseIndexMetadataPB) GetLastModified() int64

func (*CoarseIndexMetadataPB) GetMaxPages

func (x *CoarseIndexMetadataPB) GetMaxPages() int32

func (*CoarseIndexMetadataPB) GetPageMap

func (x *CoarseIndexMetadataPB) GetPageMap() map[int32]int32

func (*CoarseIndexMetadataPB) GetPageSize

func (x *CoarseIndexMetadataPB) GetPageSize() int32

func (*CoarseIndexMetadataPB) GetPqCentroids

func (x *CoarseIndexMetadataPB) GetPqCentroids() int32

func (*CoarseIndexMetadataPB) GetPqSubspaces

func (x *CoarseIndexMetadataPB) GetPqSubspaces() int32

func (*CoarseIndexMetadataPB) GetTotalPages

func (x *CoarseIndexMetadataPB) GetTotalPages() int32

func (*CoarseIndexMetadataPB) GetTotalVectors

func (x *CoarseIndexMetadataPB) GetTotalVectors() int32

func (*CoarseIndexMetadataPB) GetUsePq

func (x *CoarseIndexMetadataPB) GetUsePq() bool

func (*CoarseIndexMetadataPB) ProtoMessage

func (*CoarseIndexMetadataPB) ProtoMessage()

func (*CoarseIndexMetadataPB) ProtoReflect

func (x *CoarseIndexMetadataPB) ProtoReflect() protoreflect.Message

func (*CoarseIndexMetadataPB) Reset

func (x *CoarseIndexMetadataPB) Reset()

func (*CoarseIndexMetadataPB) String

func (x *CoarseIndexMetadataPB) String() string

type CoarseIndexSerializer

type CoarseIndexSerializer struct {
	// contains filtered or unexported fields
}

CoarseIndexSerializer 粗粒度索引序列化器

func NewCoarseIndexSerializer

func NewCoarseIndexSerializer(basePath string, enableDelta bool) *CoarseIndexSerializer

NewCoarseIndexSerializer 创建粗粒度索引序列化器

func (*CoarseIndexSerializer) ClearDirtyPages

func (s *CoarseIndexSerializer) ClearDirtyPages()

ClearDirtyPages 清空脏页面标记

func (*CoarseIndexSerializer) GetDirtyPageCount

func (s *CoarseIndexSerializer) GetDirtyPageCount() int

GetDirtyPageCount 获取脏页面数量

func (*CoarseIndexSerializer) GetDirtyPages

func (s *CoarseIndexSerializer) GetDirtyPages() []int

GetDirtyPages 获取脏页面列表

func (*CoarseIndexSerializer) GetLastSaveTime

func (s *CoarseIndexSerializer) GetLastSaveTime() time.Time

GetLastSaveTime 获取最后保存时间

func (*CoarseIndexSerializer) IsDirty

func (s *CoarseIndexSerializer) IsDirty(pageID int) bool

IsDirty 检查页面是否为脏

func (*CoarseIndexSerializer) LoadDirtyMap

func (s *CoarseIndexSerializer) LoadDirtyMap() (*PageDirtyMapPB, error)

LoadDirtyMap 加载脏页面映射

func (*CoarseIndexSerializer) LoadMetadata

func (s *CoarseIndexSerializer) LoadMetadata() (*CoarseIndexMetadataPB, error)

LoadMetadata 加载元数据

func (*CoarseIndexSerializer) LoadPage

func (s *CoarseIndexSerializer) LoadPage(pageID int) (*PageDataPB, error)

LoadPage 加载单个页面

func (*CoarseIndexSerializer) LoadSnapshot

func (s *CoarseIndexSerializer) LoadSnapshot() (*CoarseIndexSnapshotPB, error)

LoadSnapshot 加载完整快照

func (*CoarseIndexSerializer) MarkPageDirty

func (s *CoarseIndexSerializer) MarkPageDirty(pageID int)

MarkPageDirty 标记页面为脏(需要保存)

func (*CoarseIndexSerializer) MarkPagesDirty

func (s *CoarseIndexSerializer) MarkPagesDirty(pageIDs []int)

MarkPagesDirty 批量标记页面为脏

func (*CoarseIndexSerializer) SaveDirtyPages

func (s *CoarseIndexSerializer) SaveDirtyPages() (int, error)

SaveDirtyPages 保存脏页面(增量保存)

func (*CoarseIndexSerializer) SaveMetadata

func (s *CoarseIndexSerializer) SaveMetadata(metadata *CoarseIndexMetadataPB) error

SaveMetadata 保存元数据

func (*CoarseIndexSerializer) SavePage

func (s *CoarseIndexSerializer) SavePage(pageData *PageDataPB) error

SavePage 保存单个页面

func (*CoarseIndexSerializer) SaveSnapshot

func (s *CoarseIndexSerializer) SaveSnapshot(snapshot *CoarseIndexSnapshotPB) error

SaveSnapshot 保存完整快照

type CoarseIndexSnapshotPB

type CoarseIndexSnapshotPB struct {
	Metadata *CoarseIndexMetadataPB `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Pages    []*PageDataPB          `protobuf:"bytes,2,rep,name=pages,proto3" json:"pages,omitempty"`
	// contains filtered or unexported fields
}

CoarseIndexSnapshot 粗粒度索引快照(用于完整保存)

func (*CoarseIndexSnapshotPB) Descriptor deprecated

func (*CoarseIndexSnapshotPB) Descriptor() ([]byte, []int)

Deprecated: Use CoarseIndexSnapshotPB.ProtoReflect.Descriptor instead.

func (*CoarseIndexSnapshotPB) GetMetadata

func (x *CoarseIndexSnapshotPB) GetMetadata() *CoarseIndexMetadataPB

func (*CoarseIndexSnapshotPB) GetPages

func (x *CoarseIndexSnapshotPB) GetPages() []*PageDataPB

func (*CoarseIndexSnapshotPB) ProtoMessage

func (*CoarseIndexSnapshotPB) ProtoMessage()

func (*CoarseIndexSnapshotPB) ProtoReflect

func (x *CoarseIndexSnapshotPB) ProtoReflect() protoreflect.Message

func (*CoarseIndexSnapshotPB) Reset

func (x *CoarseIndexSnapshotPB) Reset()

func (*CoarseIndexSnapshotPB) String

func (x *CoarseIndexSnapshotPB) String() string

type PageDataPB

type PageDataPB struct {
	PageId  int32                   `protobuf:"varint,1,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
	Vectors map[int32]*VectorDataPB `` // vector_id -> vector_data
	/* 142-byte string literal not displayed */
	Quantized map[int32][]byte `` // vector_id -> quantized_data
	/* 146-byte string literal not displayed */
	LastAccess int64 `protobuf:"varint,4,opt,name=last_access,json=lastAccess,proto3" json:"last_access,omitempty"`
	Loaded     bool  `protobuf:"varint,5,opt,name=loaded,proto3" json:"loaded,omitempty"`
	// contains filtered or unexported fields
}

PageData 页面数据

func (*PageDataPB) Descriptor deprecated

func (*PageDataPB) Descriptor() ([]byte, []int)

Deprecated: Use PageDataPB.ProtoReflect.Descriptor instead.

func (*PageDataPB) GetLastAccess

func (x *PageDataPB) GetLastAccess() int64

func (*PageDataPB) GetLoaded

func (x *PageDataPB) GetLoaded() bool

func (*PageDataPB) GetPageId

func (x *PageDataPB) GetPageId() int32

func (*PageDataPB) GetQuantized

func (x *PageDataPB) GetQuantized() map[int32][]byte

func (*PageDataPB) GetVectors

func (x *PageDataPB) GetVectors() map[int32]*VectorDataPB

func (*PageDataPB) ProtoMessage

func (*PageDataPB) ProtoMessage()

func (*PageDataPB) ProtoReflect

func (x *PageDataPB) ProtoReflect() protoreflect.Message

func (*PageDataPB) Reset

func (x *PageDataPB) Reset()

func (*PageDataPB) String

func (x *PageDataPB) String() string

type PageDirtyMapPB

type PageDirtyMapPB struct {
	DirtyPages   []int32 `protobuf:"varint,1,rep,packed,name=dirty_pages,json=dirtyPages,proto3" json:"dirty_pages,omitempty"`
	LastSaveTime int64   `protobuf:"varint,2,opt,name=last_save_time,json=lastSaveTime,proto3" json:"last_save_time,omitempty"`
	// contains filtered or unexported fields
}

PageDirtyMap 页面脏标记映射(用于增量保存)

func (*PageDirtyMapPB) Descriptor deprecated

func (*PageDirtyMapPB) Descriptor() ([]byte, []int)

Deprecated: Use PageDirtyMapPB.ProtoReflect.Descriptor instead.

func (*PageDirtyMapPB) GetDirtyPages

func (x *PageDirtyMapPB) GetDirtyPages() []int32

func (*PageDirtyMapPB) GetLastSaveTime

func (x *PageDirtyMapPB) GetLastSaveTime() int64

func (*PageDirtyMapPB) ProtoMessage

func (*PageDirtyMapPB) ProtoMessage()

func (*PageDirtyMapPB) ProtoReflect

func (x *PageDirtyMapPB) ProtoReflect() protoreflect.Message

func (*PageDirtyMapPB) Reset

func (x *PageDirtyMapPB) Reset()

func (*PageDirtyMapPB) String

func (x *PageDirtyMapPB) String() string

type SearchResultPB

type SearchResultPB struct {
	Id       string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Distance float32           `protobuf:"fixed32,2,opt,name=distance,proto3" json:"distance,omitempty"`
	Payload  map[string]string `` /* 141-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*SearchResultPB) Descriptor deprecated

func (*SearchResultPB) Descriptor() ([]byte, []int)

Deprecated: Use SearchResultPB.ProtoReflect.Descriptor instead.

func (*SearchResultPB) GetDistance

func (x *SearchResultPB) GetDistance() float32

func (*SearchResultPB) GetId

func (x *SearchResultPB) GetId() string

func (*SearchResultPB) GetPayload

func (x *SearchResultPB) GetPayload() map[string]string

func (*SearchResultPB) ProtoMessage

func (*SearchResultPB) ProtoMessage()

func (*SearchResultPB) ProtoReflect

func (x *SearchResultPB) ProtoReflect() protoreflect.Message

func (*SearchResultPB) Reset

func (x *SearchResultPB) Reset()

func (*SearchResultPB) String

func (x *SearchResultPB) String() string

type Serializer

type Serializer struct{}

Serializer Protobuf 序列化器

func NewSerializer

func NewSerializer() *Serializer

NewSerializer 创建序列化器

func (*Serializer) Deserialize

func (s *Serializer) Deserialize(data []byte) (*Vector, error)

Deserialize 反序列化向量

func (*Serializer) DeserializeBatch

func (s *Serializer) DeserializeBatch(data []byte) ([]*Vector, error)

DeserializeBatch 批量反序列化

func (*Serializer) Serialize

func (s *Serializer) Serialize(vec *Vector) ([]byte, error)

Serialize 序列化向量

func (*Serializer) SerializeBatch

func (s *Serializer) SerializeBatch(vectors []*Vector) ([]byte, error)

SerializeBatch 批量序列化

type Vector

type Vector struct {
	ID        string
	Vector    []float32
	Payload   map[string]string
	Timestamp time.Time
}

Vector 向量数据

func Decode

func Decode(data []byte) (*Vector, error)

Decode 解码

type VectorBatch

type VectorBatch struct {
	Vectors []*VectorPB `protobuf:"bytes,1,rep,name=vectors,proto3" json:"vectors,omitempty"`
	// contains filtered or unexported fields
}

func (*VectorBatch) Descriptor deprecated

func (*VectorBatch) Descriptor() ([]byte, []int)

Deprecated: Use VectorBatch.ProtoReflect.Descriptor instead.

func (*VectorBatch) GetVectors

func (x *VectorBatch) GetVectors() []*VectorPB

func (*VectorBatch) Marshal

func (b *VectorBatch) Marshal() ([]byte, error)

Marshal 批量序列化

func (*VectorBatch) ProtoMessage

func (*VectorBatch) ProtoMessage()

func (*VectorBatch) ProtoReflect

func (x *VectorBatch) ProtoReflect() protoreflect.Message

func (*VectorBatch) Reset

func (x *VectorBatch) Reset()

func (*VectorBatch) String

func (x *VectorBatch) String() string

func (*VectorBatch) Unmarshal

func (b *VectorBatch) Unmarshal(data []byte) error

Unmarshal 批量反序列化

type VectorDataPB

type VectorDataPB struct {
	Vector []float32 `protobuf:"fixed32,1,rep,packed,name=vector,proto3" json:"vector,omitempty"`
	// contains filtered or unexported fields
}

VectorDataPB 向量数据

func (*VectorDataPB) Descriptor deprecated

func (*VectorDataPB) Descriptor() ([]byte, []int)

Deprecated: Use VectorDataPB.ProtoReflect.Descriptor instead.

func (*VectorDataPB) GetVector

func (x *VectorDataPB) GetVector() []float32

func (*VectorDataPB) ProtoMessage

func (*VectorDataPB) ProtoMessage()

func (*VectorDataPB) ProtoReflect

func (x *VectorDataPB) ProtoReflect() protoreflect.Message

func (*VectorDataPB) Reset

func (x *VectorDataPB) Reset()

func (*VectorDataPB) String

func (x *VectorDataPB) String() string

type VectorPB

type VectorPB struct {
	Id        string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Vector    []float32         `protobuf:"fixed32,2,rep,packed,name=vector,proto3" json:"vector,omitempty"`
	Payload   map[string]string `` /* 141-byte string literal not displayed */
	Timestamp int64             `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*VectorPB) Descriptor deprecated

func (*VectorPB) Descriptor() ([]byte, []int)

Deprecated: Use VectorPB.ProtoReflect.Descriptor instead.

func (*VectorPB) GetId

func (x *VectorPB) GetId() string

func (*VectorPB) GetPayload

func (x *VectorPB) GetPayload() map[string]string

func (*VectorPB) GetTimestamp

func (x *VectorPB) GetTimestamp() int64

func (*VectorPB) GetVector

func (x *VectorPB) GetVector() []float32

func (*VectorPB) Marshal

func (m *VectorPB) Marshal() ([]byte, error)

Marshal 序列化

func (*VectorPB) ProtoMessage

func (*VectorPB) ProtoMessage()

func (*VectorPB) ProtoReflect

func (x *VectorPB) ProtoReflect() protoreflect.Message

func (*VectorPB) Reset

func (x *VectorPB) Reset()

func (*VectorPB) String

func (x *VectorPB) String() string

func (*VectorPB) Unmarshal

func (m *VectorPB) Unmarshal(data []byte) error

Unmarshal 反序列化

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL