Documentation ¶
Index ¶
- Constants
- func Merge(segments []*Segment, drops []*roaring.Bitmap, path string, chunkFactor uint32) ([][]uint64, error)
- func MergeToWriter(segments []*SegmentBase, drops []*roaring.Bitmap, chunkFactor uint32, ...) (newDocNums [][]uint64, ...)
- func Open(path string) (segment.Segment, error)
- func PersistSegment(memSegment *mem.Segment, path string, chunkFactor uint32) error
- func PersistSegmentBase(sb *SegmentBase, path string) error
- type CountHashWriter
- type Dictionary
- func (d *Dictionary) Iterator() segment.DictionaryIterator
- func (d *Dictionary) PostingsList(term string, except *roaring.Bitmap) (segment.PostingsList, error)
- func (d *Dictionary) PrefixIterator(prefix string) segment.DictionaryIterator
- func (d *Dictionary) RangeIterator(start, end string) segment.DictionaryIterator
- type DictionaryIterator
- type Location
- type MetaData
- type Posting
- type PostingsIterator
- type PostingsList
- type Segment
- func (s *Segment) AddRef()
- func (s *Segment) CRC() uint32
- func (s *Segment) ChunkFactor() uint32
- func (s *Segment) Close() (err error)
- func (s *Segment) Data() []byte
- func (s *Segment) DecRef() (err error)
- func (s *Segment) DictAddr(field string) (uint64, error)
- func (s *Segment) DocValueOffset() uint64
- func (s *Segment) FieldsIndexOffset() uint64
- func (s *Segment) NumDocs() uint64
- func (s *Segment) Path() string
- func (s *Segment) SizeInBytes() uint64
- func (s *Segment) StoredIndexOffset() uint64
- func (s *Segment) Version() uint32
- func (s *Segment) VisitableDocValueFields() ([]string, error)
- type SegmentBase
- func (sb *SegmentBase) AddRef()
- func (sb *SegmentBase) Close() (err error)
- func (s *SegmentBase) Count() uint64
- func (sb *SegmentBase) DecRef() (err error)
- func (s *SegmentBase) Dictionary(field string) (segment.TermDictionary, error)
- func (s *SegmentBase) DocNumbers(ids []string) (*roaring.Bitmap, error)
- func (s *SegmentBase) Fields() []string
- func (s *SegmentBase) SizeInBytes() uint64
- func (s *SegmentBase) VisitDocument(num uint64, visitor segment.DocumentFieldValueVisitor) error
- func (s *SegmentBase) VisitDocumentFieldTerms(localDocNum uint64, fields []string, visitor index.DocumentFieldTermVisitor) error
Constants ¶
FooterSize is the size of the footer record in bytes crc + ver + chunk + field offset + stored offset + num docs + docValueOffset
Variables ¶
This section is empty.
Functions ¶
func Merge ¶
func Merge(segments []*Segment, drops []*roaring.Bitmap, path string, chunkFactor uint32) ([][]uint64, error)
Merge takes a slice of zap segments and bit masks describing which documents may be dropped, and creates a new segment containing the remaining data. This new segment is built at the specified path, with the provided chunkFactor.
func MergeToWriter ¶ added in v0.7.0
func PersistSegment ¶
PersistSegment takes the in-memory segment and persists it to the specified path in the zap file format.
func PersistSegmentBase ¶ added in v0.7.0
func PersistSegmentBase(sb *SegmentBase, path string) error
PersistSegmentBase persists SegmentBase in the zap file format.
Types ¶
type CountHashWriter ¶
type CountHashWriter struct {
// contains filtered or unexported fields
}
CountHashWriter is a wrapper around a Writer which counts the number of bytes which have been written and computes a crc32 hash
func NewCountHashWriter ¶
func NewCountHashWriter(w io.Writer) *CountHashWriter
NewCountHashWriter returns a CountHashWriter which wraps the provided Writer
func (*CountHashWriter) Count ¶
func (c *CountHashWriter) Count() int
Count returns the number of bytes written
func (*CountHashWriter) Sum32 ¶
func (c *CountHashWriter) Sum32() uint32
Sum32 returns the CRC-32 hash of the content written to this writer
type Dictionary ¶
type Dictionary struct {
// contains filtered or unexported fields
}
Dictionary is the zap representation of the term dictionary
func (*Dictionary) Iterator ¶
func (d *Dictionary) Iterator() segment.DictionaryIterator
Iterator returns an iterator for this dictionary
func (*Dictionary) PostingsList ¶
func (d *Dictionary) PostingsList(term string, except *roaring.Bitmap) (segment.PostingsList, error)
PostingsList returns the postings list for the specified term
func (*Dictionary) PrefixIterator ¶
func (d *Dictionary) PrefixIterator(prefix string) segment.DictionaryIterator
PrefixIterator returns an iterator which only visits terms having the the specified prefix
func (*Dictionary) RangeIterator ¶
func (d *Dictionary) RangeIterator(start, end string) segment.DictionaryIterator
RangeIterator returns an iterator which only visits terms between the start and end terms. NOTE: bleve.index API specifies the end is inclusive.
type DictionaryIterator ¶
type DictionaryIterator struct {
// contains filtered or unexported fields
}
DictionaryIterator is an iterator for term dictionary
type Location ¶
type Location struct {
// contains filtered or unexported fields
}
Location represents the location of a single occurance
func (*Location) ArrayPositions ¶
ArrayPositions returns the array position vector associated with this occurance
func (*Location) Field ¶
Field returns the name of the field (useful in composite fields to know which original field the value came from)
type MetaData ¶
type MetaData struct { DocNum uint64 // docNum of the data inside the chunk DocDvLoc uint64 // starting offset for a given docid DocDvLen uint64 // length of data inside the chunk for the given docid }
MetaData represents the data information inside a chunk.
type Posting ¶
type Posting struct {
// contains filtered or unexported fields
}
Posting is a single entry in a postings list
func (*Posting) Frequency ¶
Frequency returns the frequence of occurance of this term in this doc/field
type PostingsIterator ¶
type PostingsIterator struct {
// contains filtered or unexported fields
}
PostingsIterator provides a way to iterate through the postings list
type PostingsList ¶
type PostingsList struct {
// contains filtered or unexported fields
}
PostingsList is an in-memory represenation of a postings list
func (*PostingsList) Count ¶
func (p *PostingsList) Count() uint64
Count returns the number of items on this postings list
func (*PostingsList) Iterator ¶
func (p *PostingsList) Iterator() segment.PostingsIterator
Iterator returns an iterator for this postings list
type Segment ¶
type Segment struct { SegmentBase // contains filtered or unexported fields }
Segment implements a persisted segment.Segment interface, by embedding an mmap()'ed SegmentBase.
func (*Segment) ChunkFactor ¶
ChunkFactor returns the chunk factor in the file footer
func (*Segment) DictAddr ¶
DictAddr is a helper function to compute the file offset where the dictionary is stored for the specified field.
func (*Segment) DocValueOffset ¶
DocValueOffset returns the docValue offset in the file footer
func (*Segment) FieldsIndexOffset ¶
FieldsIndexOffset returns the fields index offset in the file footer
func (*Segment) SizeInBytes ¶
func (*Segment) StoredIndexOffset ¶
StoredIndexOffset returns the stored value index offset in the file footer
func (*Segment) VisitableDocValueFields ¶ added in v0.7.0
VisitableDocValueFields returns the list of fields with persisted doc value terms ready to be visitable using the VisitDocumentFieldTerms method.
type SegmentBase ¶ added in v0.7.0
type SegmentBase struct {
// contains filtered or unexported fields
}
SegmentBase is a memory only, read-only implementation of the segment.Segment interface, using zap's data representation.
func InitSegmentBase ¶ added in v0.7.0
func NewSegmentBase ¶ added in v0.7.0
func NewSegmentBase(memSegment *mem.Segment, chunkFactor uint32) (*SegmentBase, error)
func (*SegmentBase) AddRef ¶ added in v0.7.0
func (sb *SegmentBase) AddRef()
func (*SegmentBase) Close ¶ added in v0.7.0
func (sb *SegmentBase) Close() (err error)
func (*SegmentBase) Count ¶ added in v0.7.0
func (s *SegmentBase) Count() uint64
Count returns the number of documents in this segment.
func (*SegmentBase) DecRef ¶ added in v0.7.0
func (sb *SegmentBase) DecRef() (err error)
func (*SegmentBase) Dictionary ¶ added in v0.7.0
func (s *SegmentBase) Dictionary(field string) (segment.TermDictionary, error)
Dictionary returns the term dictionary for the specified field
func (*SegmentBase) DocNumbers ¶ added in v0.7.0
func (s *SegmentBase) DocNumbers(ids []string) (*roaring.Bitmap, error)
DocNumbers returns a bitset corresponding to the doc numbers of all the provided _id strings
func (*SegmentBase) Fields ¶ added in v0.7.0
func (s *SegmentBase) Fields() []string
Fields returns the field names used in this segment
func (*SegmentBase) SizeInBytes ¶ added in v0.7.0
func (s *SegmentBase) SizeInBytes() uint64
func (*SegmentBase) VisitDocument ¶ added in v0.7.0
func (s *SegmentBase) VisitDocument(num uint64, visitor segment.DocumentFieldValueVisitor) error
VisitDocument invokes the DocFieldValueVistor for each stored field for the specified doc number
func (*SegmentBase) VisitDocumentFieldTerms ¶ added in v0.7.0
func (s *SegmentBase) VisitDocumentFieldTerms(localDocNum uint64, fields []string, visitor index.DocumentFieldTermVisitor) error
VisitDocumentFieldTerms is an implementation of the DocumentFieldTermVisitable interface