index

package
v0.0.0-...-84ec206 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrorUnknownStorageType = fmt.Errorf("unknown storage type")

Functions

func AnalysisWorker

func AnalysisWorker(q AnalysisQueue)

Types

type AnalysisQueue

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

func NewAnalysisQueue

func NewAnalysisQueue(numWorkers int) *AnalysisQueue

func (*AnalysisQueue) Close

func (q *AnalysisQueue) Close()

func (*AnalysisQueue) Queue

func (q *AnalysisQueue) Queue(work *AnalysisWork)

type AnalysisResult

type AnalysisResult struct {
	DocID string
	Rows  []IndexRow
}

type AnalysisWork

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

func NewAnalysisWork

func NewAnalysisWork(i Index, d *document.Document, rc chan *AnalysisResult) *AnalysisWork

type AsyncIndex

type AsyncIndex interface {
	// Wait will block until asynchronous operations started
	// before this call have finished or until the specified
	// timeout has been reached.  If the timeout is reached
	// an error is returned.
	Wait(timeout time.Duration) error
}

AsyncIndex is an interface for indexes which perform some important operations asynchronously.

type Batch

type Batch struct {
	IndexOps    map[string]*document.Document
	InternalOps map[string][]byte
}

func NewBatch

func NewBatch() *Batch

func (*Batch) Delete

func (b *Batch) Delete(id string)

func (*Batch) DeleteInternal

func (b *Batch) DeleteInternal(key []byte)

func (*Batch) Reset

func (b *Batch) Reset()

func (*Batch) SetInternal

func (b *Batch) SetInternal(key, val []byte)

func (*Batch) String

func (b *Batch) String() string

func (*Batch) Update

func (b *Batch) Update(doc *document.Document)

type DictEntry

type DictEntry struct {
	Term  string
	Count uint64
}

type DocIDReader

type DocIDReader interface {
	// Next returns the next document identifier in ascending lexicographic
	// byte order, or io.EOF when the end of the sequence is reached.
	Next() (string, error)

	// Advance resets the iteration to the first identifier greater than or
	// equal to ID. If ID is smaller than the start of the range, the iteration
	// will start there instead. If ID is greater than or equal to the end of
	// the range, Next() call will return io.EOF.
	Advance(ID string) (string, error)
	Close() error
}

DocIDReader is the interface exposing enumeration of documents identifiers. Close the reader to release associated resources.

type FieldCache

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

func NewFieldCache

func NewFieldCache() *FieldCache

func (*FieldCache) AddExisting

func (f *FieldCache) AddExisting(field string, index uint16)

func (*FieldCache) FieldIndexed

func (f *FieldCache) FieldIndexed(index uint16) string

func (*FieldCache) FieldNamed

func (f *FieldCache) FieldNamed(field string, createIfMissing bool) (uint16, bool)

FieldNamed returns the index of the field, and whether or not it existed before this call. if createIfMissing is true, and new field index is assigned but the second return value will still be false

type FieldDict

type FieldDict interface {
	Next() (*DictEntry, error)
	Close() error
}

type FieldTerms

type FieldTerms map[string][]string

type Index

type Index interface {
	Open() error
	Close() error

	DocCount() (uint64, error)

	Update(doc *document.Document) error
	Delete(id string) error
	Batch(batch *Batch) error

	SetInternal(key, val []byte) error
	DeleteInternal(key []byte) error

	DumpAll() chan interface{}
	DumpDoc(id string) chan interface{}
	DumpFields() chan interface{}

	// Reader returns a low-level accessor on the index data. Close it to
	// release associated resources.
	Reader() (IndexReader, error)

	Stats() json.Marshaler

	Analyze(d *document.Document) *AnalysisResult
}

type IndexReader

type IndexReader interface {
	TermFieldReader(term []byte, field string) (TermFieldReader, error)

	// DocIDReader returns an iterator over documents which identifiers are
	// greater than or equal to start and smaller than end. Set start to the
	// empty string to iterate from the first document, end to the empty string
	// to iterate to the last one.
	// The caller must close returned instance to release associated resources.
	DocIDReader(start, end string) (DocIDReader, error)

	FieldDict(field string) (FieldDict, error)

	// FieldDictRange is currently defined to include the start and end terms
	FieldDictRange(field string, startTerm []byte, endTerm []byte) (FieldDict, error)
	FieldDictPrefix(field string, termPrefix []byte) (FieldDict, error)

	Document(id string) (*document.Document, error)
	DocumentFieldTerms(id string) (FieldTerms, error)

	Fields() ([]string, error)

	GetInternal(key []byte) ([]byte, error)

	DocCount() uint64

	Close() error
}

type IndexRow

type IndexRow interface {
	KeySize() int
	KeyTo([]byte) (int, error)
	Key() []byte

	ValueSize() int
	ValueTo([]byte) (int, error)
	Value() []byte
}

type TermFieldDoc

type TermFieldDoc struct {
	Term    string
	ID      string
	Freq    uint64
	Norm    float64
	Vectors []*TermFieldVector
}

type TermFieldReader

type TermFieldReader interface {
	// Next returns the next document containing the term in this field, or nil
	// when it reaches the end of the enumeration.
	Next() (*TermFieldDoc, error)

	// Advance resets the enumeration at specified document or its immediate
	// follower.
	Advance(ID string) (*TermFieldDoc, error)

	// Count returns the number of documents contains the term in this field.
	Count() uint64
	Close() error
}

TermFieldReader is the interface exposing the enumeration of documents containing a given term in a given field. Documents are returned in byte lexicographic order over their identifiers.

type TermFieldVector

type TermFieldVector struct {
	Field          string
	ArrayPositions []uint64
	Pos            uint64
	Start          uint64
	End            uint64
}

Directories

Path Synopsis
Package firestorm is a generated protocol buffer package.
Package firestorm is a generated protocol buffer package.
boltdb
Package boltdb implements a store.KVStore on top of BoltDB.
Package boltdb implements a store.KVStore on top of BoltDB.
gtreap
Package gtreap provides an in-memory implementation of the KVStore interfaces using the gtreap balanced-binary treap, copy-on-write data structure.
Package gtreap provides an in-memory implementation of the KVStore interfaces using the gtreap balanced-binary treap, copy-on-write data structure.
metrics
Package metrics provides a bleve.store.KVStore implementation that wraps another, real KVStore implementation, and uses go-metrics to track runtime performance metrics.
Package metrics provides a bleve.store.KVStore implementation that wraps another, real KVStore implementation, and uses go-metrics to track runtime performance metrics.
Package upside_down is a generated protocol buffer package.
Package upside_down is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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