Documentation
¶
Overview ¶
Package inverted implements an inverted index repository.
Package inverted implements a inverted index repository.
Package inverted implements a inverted index repository.
Index ¶
- Constants
- func BlugeQuery(q index.Query) (bluge.Query, bool)
- func BuildIndexModeQuery(measureName string, criteria *modelv1.Criteria, schema logical.Schema) (index.Query, error)
- func BuildPropertyQuery(req *propertyv1.QueryRequest, groupField, idField string) (index.Query, error)
- func BuildPropertyQueryFromEntity(groupField, group, name, entityIDField, entityID string) (index.Query, error)
- func BuildQuery(criteria *modelv1.Criteria, schema logical.Schema, entityDict map[string]int, ...) (index.Query, [][]*modelv1.TagValue, bool, error)
- func NewStore(opts StoreOpts) (index.SeriesStore, error)
- func ReadOnlyDocCount(path string) (int64, error)
- type ExternalSegmentWrapper
- type GlobalIndexError
- type Metrics
- type StoreOpts
Constants ¶
const ( // ExternalSegmentTempDirName is the name of the directory used for temporary external segments. ExternalSegmentTempDirName = "external-segment-temp" // LockFilename is the bluge exclusive-lock file kept in every index // directory while a writer is open (github.com/SkyAPM/bluge directory_fs). // It must never be copied into a snapshot. LockFilename = "bluge.pid" )
Variables ¶
This section is empty.
Functions ¶
func BlugeQuery ¶ added in v0.11.0
BlugeQuery extracts the underlying bluge query from a Query built by this package, so callers reading a bluge index directly (without a Store) can reuse the same query construction.
func BuildIndexModeQuery ¶ added in v0.8.0
func BuildIndexModeQuery(measureName string, criteria *modelv1.Criteria, schema logical.Schema) (index.Query, error)
BuildIndexModeQuery returns blugeQuery for index mode.
func BuildPropertyQuery ¶ added in v0.8.0
func BuildPropertyQuery(req *propertyv1.QueryRequest, groupField, idField string) (index.Query, error)
BuildPropertyQuery returns blugeQuery for property query.
func BuildPropertyQueryFromEntity ¶ added in v0.9.0
func BuildPropertyQueryFromEntity(groupField, group, name, entityIDField, entityID string) (index.Query, error)
BuildPropertyQueryFromEntity builds a property query from entity information.
func BuildQuery ¶ added in v0.8.0
func BuildQuery(criteria *modelv1.Criteria, schema logical.Schema, entityDict map[string]int, entity []*modelv1.TagValue, ) (index.Query, [][]*modelv1.TagValue, bool, error)
BuildQuery returns blugeQuery for local indices.
func NewStore ¶
func NewStore(opts StoreOpts) (index.SeriesStore, error)
NewStore create a new inverted index repository.
func ReadOnlyDocCount ¶ added in v0.11.0
ReadOnlyDocCount opens the index directory at path read-only and returns the number of indexed documents. Unlike NewStore it never acquires the exclusive directory lock, so it can inspect a closed (or even concurrently open) segment index without reopening its writable index. A missing or unflushed index (no usable snapshot) returns a count of 0 together with the open error, which callers may treat as an empty index.
Types ¶
type ExternalSegmentWrapper ¶ added in v0.9.0
type ExternalSegmentWrapper struct {
// contains filtered or unexported fields
}
ExternalSegmentWrapper wraps Bluge's ExternalSegmentReceiver for BanyanDB usage.
func NewExternalSegmentWrapper ¶ added in v0.9.0
func NewExternalSegmentWrapper(receiver *blugeIndex.ExternalSegmentReceiver, logger *logger.Logger) *ExternalSegmentWrapper
NewExternalSegmentWrapper creates a new wrapper for external segment operations.
func (*ExternalSegmentWrapper) BytesReceived ¶ added in v0.9.0
func (esw *ExternalSegmentWrapper) BytesReceived() uint64
BytesReceived returns the number of bytes received so far.
func (*ExternalSegmentWrapper) CompleteSegment ¶ added in v0.9.0
func (esw *ExternalSegmentWrapper) CompleteSegment() error
CompleteSegment signals completion of segment streaming.
func (*ExternalSegmentWrapper) StartSegment ¶ added in v0.9.0
func (esw *ExternalSegmentWrapper) StartSegment() error
StartSegment begins streaming a new segment.
func (*ExternalSegmentWrapper) Status ¶ added in v0.9.0
func (esw *ExternalSegmentWrapper) Status() string
Status returns the current status of the segment streaming.
func (*ExternalSegmentWrapper) WriteChunk ¶ added in v0.9.0
func (esw *ExternalSegmentWrapper) WriteChunk(data []byte) error
WriteChunk writes a chunk of segment data.
type GlobalIndexError ¶ added in v0.7.0
type GlobalIndexError struct {
IndexRule *databasev1.IndexRule
Expr logical.LiteralExpr
}
GlobalIndexError represents a index rule is "global". The local filter can't handle it.
func (GlobalIndexError) Error ¶ added in v0.7.0
func (g GlobalIndexError) Error() string
type Metrics ¶ added in v0.7.0
type Metrics struct {
// contains filtered or unexported fields
}
Metrics is the metrics for the inverted index.
func NewMetrics ¶ added in v0.7.0
func NewMetrics(factory observability.Factory, labelNames ...string) *Metrics
NewMetrics creates a new metrics for the inverted index.
type StoreOpts ¶
type StoreOpts struct {
Logger *logger.Logger
Metrics *Metrics
PrepareMergeCallback func(src []*roaringpkg.Bitmap, segments []segment.Segment, id uint64) (dest []*roaringpkg.Bitmap, err error)
Path string
ExternalSegmentTempDir string
BatchWaitSec int64
CacheMaxBytes int
EnableDeduplication bool
}
StoreOpts wraps options to create an inverted index repository.