roaringidx

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContainerNameDefault = "default"
	ContainerNameAcMatch = "ac_matcher"
)
View Source
const (
	MaxConjunctions = 0xFF
	MaxDocumentID   = 0x7FFFFFFFFFFFFF
)
View Source
const (
	DefaultACContainerQueryJoinSep = " "
)

Variables

This section is empty.

Functions

func FormatBitMapResult

func FormatBitMapResult(ids []uint64) string

func RegisterContainerBuilder

func RegisterContainerBuilder(name string, builderFunc ContainerBuilderFunc) bool

func ReleasePostingList

func ReleasePostingList(list PostingList)

func ValidRoaringIdxDocID added in v0.2.0

func ValidRoaringIdxDocID(id int64) bool

Types

type ACBEContainer

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

func NewACBEContainer

func NewACBEContainer(meta *FieldMeta, sep string) *ACBEContainer

func (*ACBEContainer) AddExcludeID

func (c *ACBEContainer) AddExcludeID(key string, id ConjunctionID)

func (*ACBEContainer) AddIncludeID

func (c *ACBEContainer) AddIncludeID(key string, id ConjunctionID)

func (*ACBEContainer) AddWildcard

func (c *ACBEContainer) AddWildcard(id ConjunctionID)

func (*ACBEContainer) BuildBEContainer

func (c *ACBEContainer) BuildBEContainer() (BEContainer, error)

func (*ACBEContainer) EncodeExpr

func (c *ACBEContainer) EncodeExpr(id ConjunctionID, expr *be_indexer.BooleanExpr) error

func (*ACBEContainer) EncodeWildcard

func (c *ACBEContainer) EncodeWildcard(id ConjunctionID)

EncodeWildcard equal to: EncodeExpr(id ConjunctionID, nil)

func (*ACBEContainer) Meta

func (c *ACBEContainer) Meta() *FieldMeta

func (*ACBEContainer) Retrieve

func (c *ACBEContainer) Retrieve(values be_indexer.Values, inout *PostingList) error

type BEContainer

type BEContainer interface {
	Meta() *FieldMeta

	AddWildcard(id ConjunctionID)

	Retrieve(values be_indexer.Values, inout *PostingList) error
}

type BEContainerBuilder

type BEContainerBuilder interface {
	EncodeWildcard(id ConjunctionID) // equal to: EncodeExpr(id ConjunctionID, nil)

	EncodeExpr(id ConjunctionID, expr *be_indexer.BooleanExpr) error

	BuildBEContainer() (BEContainer, error)
}

func NewContainerBuilder

func NewContainerBuilder(meta *FieldMeta) BEContainerBuilder

type BEValue

type BEValue uint64

type ConjunctionID

type ConjunctionID uint64

ConjunctionID |- doc(56bit) | idx(8bit) -|

func NewConjunctionID

func NewConjunctionID(idx int, doc int64) (ConjunctionID, error)

func (ConjunctionID) DocID

func (id ConjunctionID) DocID() int64

func (ConjunctionID) Idx

func (id ConjunctionID) Idx() uint8

type ContainerBuilderFunc

type ContainerBuilderFunc func(meta *FieldMeta) BEContainerBuilder

type DefaultBEContainer

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

DefaultBEContainer a common value based inverted index bitmap container

func NewDefaultBEContainer

func NewDefaultBEContainer(meta *FieldMeta) *DefaultBEContainer

func (*DefaultBEContainer) AddExclude

func (c *DefaultBEContainer) AddExclude(value BEValue, id ConjunctionID)

func (*DefaultBEContainer) AddInclude

func (c *DefaultBEContainer) AddInclude(value BEValue, id ConjunctionID)

func (*DefaultBEContainer) AddWildcard

func (c *DefaultBEContainer) AddWildcard(id ConjunctionID)

func (*DefaultBEContainer) BuildBEContainer

func (c *DefaultBEContainer) BuildBEContainer() (BEContainer, error)

func (*DefaultBEContainer) EncodeExpr

func (c *DefaultBEContainer) EncodeExpr(id ConjunctionID, expr *be_indexer.BooleanExpr) error

func (*DefaultBEContainer) EncodeWildcard

func (c *DefaultBEContainer) EncodeWildcard(id ConjunctionID)

func (*DefaultBEContainer) Meta

func (c *DefaultBEContainer) Meta() *FieldMeta

func (*DefaultBEContainer) Retrieve

func (c *DefaultBEContainer) Retrieve(values be_indexer.Values, inout *PostingList) error

type FieldMeta

type FieldMeta struct {
	FieldSetting
	// contains filtered or unexported fields
}

func (*FieldMeta) FieldName

func (meta *FieldMeta) FieldName() string

type FieldSetting

type FieldSetting struct {
	Parser    parser.FieldValueParser
	Container string
}

FieldSetting public settings for configuring a field

type IvtBEIndexer

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

func NewIvtBEIndexer

func NewIvtBEIndexer() *IvtBEIndexer

type IvtBEIndexerBuilder

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

func NewIndexerBuilder

func NewIndexerBuilder() *IvtBEIndexerBuilder

func (*IvtBEIndexerBuilder) AddDocument

func (builder *IvtBEIndexerBuilder) AddDocument(doc *be_indexer.Document) (err error)

func (*IvtBEIndexerBuilder) AddDocuments

func (builder *IvtBEIndexerBuilder) AddDocuments(docs ...*be_indexer.Document) (err error)

func (*IvtBEIndexerBuilder) BuildIndexer

func (builder *IvtBEIndexerBuilder) BuildIndexer() (*IvtBEIndexer, error)

func (*IvtBEIndexerBuilder) ConfigureField

func (builder *IvtBEIndexerBuilder) ConfigureField(field string, option FieldSetting) error

func (*IvtBEIndexerBuilder) WithErrPanic

func (builder *IvtBEIndexerBuilder) WithErrPanic(panic bool) *IvtBEIndexerBuilder

type IvtScanner

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

func NewScanner

func NewScanner(indexer *IvtBEIndexer) *IvtScanner

func (*IvtScanner) Ended

func (scanner *IvtScanner) Ended() bool

func (*IvtScanner) GetRawResult

func (scanner *IvtScanner) GetRawResult() *PostingList

GetRawResult return the raw conjunction id result for some cases, this will be useful for users to judge which boolean condition matched in document when one document has many condition group(CONJUNCTION/DNF)

func (*IvtScanner) Reset

func (scanner *IvtScanner) Reset()

func (*IvtScanner) Retrieve

func (scanner *IvtScanner) Retrieve(assignments be_indexer.Assignments) (docs []uint64, err error)

Retrieve return document id list

func (*IvtScanner) RetrieveDocs

func (scanner *IvtScanner) RetrieveDocs(assignments be_indexer.Assignments) (docs map[int64]struct{}, err error)

RetrieveDocs return document id as map

func (*IvtScanner) SetDebug

func (scanner *IvtScanner) SetDebug(debugOn bool)

func (*IvtScanner) WithHint

func (scanner *IvtScanner) WithHint(hints ...int64)

type PostingList

type PostingList struct {
	*roaring64.Bitmap
}

func NewPostingList

func NewPostingList() PostingList

Jump to

Keyboard shortcuts

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