Documentation ¶
Overview ¶
Package index is a generated GoMock package.
Index ¶
- Variables
- func IsBatchPartialError(err error) bool
- func NewIterator(r DocRetriever, pi postings.Iterator) doc.Iterator
- func SetRegexpCacheOptions(opts RegexpCacheOptions)
- type Batch
- type BatchError
- type BatchMatcher
- type BatchOption
- type BatchPartialError
- type CompiledRegex
- type DocRetriever
- type IDDocIterator
- type IDIterator
- type Index
- type MetadataRetriever
- type MockDocRetriever
- type MockDocRetrieverMockRecorder
- type MockMetadataRetriever
- type MockMetadataRetrieverMockRecorder
- type MockReader
- func (m *MockReader) AllDocs() (IDDocIterator, error)
- func (m *MockReader) Close() error
- func (m *MockReader) Doc(arg0 postings.ID) (doc.Document, error)
- func (m *MockReader) Docs(arg0 postings.List) (doc.Iterator, error)
- func (m *MockReader) EXPECT() *MockReaderMockRecorder
- func (m *MockReader) MatchAll() (postings.List, error)
- func (m *MockReader) MatchField(arg0 []byte) (postings.List, error)
- func (m *MockReader) MatchRegexp(arg0 []byte, arg1 CompiledRegex) (postings.List, error)
- func (m *MockReader) MatchTerm(arg0, arg1 []byte) (postings.List, error)
- func (m *MockReader) Metadata(arg0 postings.ID) (doc.Metadata, error)
- func (m *MockReader) MetadataIterator(arg0 postings.List) (doc.MetadataIterator, error)
- type MockReaderMockRecorder
- func (mr *MockReaderMockRecorder) AllDocs() *gomock.Call
- func (mr *MockReaderMockRecorder) Close() *gomock.Call
- func (mr *MockReaderMockRecorder) Doc(arg0 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) Docs(arg0 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) MatchAll() *gomock.Call
- func (mr *MockReaderMockRecorder) MatchField(arg0 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) MatchRegexp(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) MatchTerm(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) Metadata(arg0 interface{}) *gomock.Call
- func (mr *MockReaderMockRecorder) MetadataIterator(arg0 interface{}) *gomock.Call
- type Readable
- type Reader
- type Readers
- type RegexpCacheOptions
- type Writer
Constants ¶
This section is empty.
Variables ¶
var ErrDocNotFound = errors.New("no document with given postings ID")
ErrDocNotFound is the error returned when there is no document for a given postings ID.
var ( // ErrDuplicateID is the error returned when a batch contains duplicate IDs. ErrDuplicateID = errors.New("a batch cannot contain duplicate IDs") )
Functions ¶
func IsBatchPartialError ¶
IsBatchPartialError returns a bool indicating whether err is a BatchPartialError or not.
func NewIterator ¶ added in v1.0.1
func NewIterator(r DocRetriever, pi postings.Iterator) doc.Iterator
NewIterator returns a new Iterator
func SetRegexpCacheOptions ¶ added in v1.0.0
func SetRegexpCacheOptions(opts RegexpCacheOptions)
SetRegexpCacheOptions sets the regex cache options, size zero disables cache.
Types ¶
type Batch ¶
type Batch struct { Docs []doc.Metadata // If AllowPartialUpdates is true the index will continue to index documents in the batch // even if it encounters an error attempting to index a previous document in the batch. // If false, on the other hand, then any errors encountered indexing a document will cause // the entire batch to fail and none of the documents in the batch will be indexed. AllowPartialUpdates bool }
Batch represents a batch of documents that should be inserted into the index.
type BatchError ¶
BatchError is an error that occurred for a document being inserted.
type BatchMatcher ¶
BatchMatcher matches a `Batch`.
func NewBatchMatcher ¶
func NewBatchMatcher(b Batch) BatchMatcher
NewBatchMatcher returns a new BatchMatcher.
type BatchOption ¶
type BatchOption interface {
// contains filtered or unexported methods
}
BatchOption is an option for a Batch.
func AllowPartialUpdates ¶
func AllowPartialUpdates() BatchOption
AllowPartialUpdates permits an index to continue indexing documents in a batch even if it encountered an error inserting a prior document.
type BatchPartialError ¶
BatchPartialError indicates an error was encountered inserting some documents in a batch. It is not safe for concurrent use.
func NewBatchPartialError ¶
func NewBatchPartialError() *BatchPartialError
NewBatchPartialError returns a new BatchPartialError.
func (*BatchPartialError) Add ¶
func (e *BatchPartialError) Add(err BatchError)
Add adds an error to e. Any nil errors are ignored.
func (*BatchPartialError) AddWithLock ¶ added in v0.15.0
func (e *BatchPartialError) AddWithLock(err BatchError)
AddWithLock adds an error to e with a lock. Any nil errors are ignored.
func (*BatchPartialError) Error ¶
func (e *BatchPartialError) Error() string
func (*BatchPartialError) Errs ¶
func (e *BatchPartialError) Errs() []BatchError
Errs returns the errors with the indexes of the documents in the batch which were not indexed.
func (*BatchPartialError) FilterDuplicateIDErrors ¶
func (e *BatchPartialError) FilterDuplicateIDErrors() error
FilterDuplicateIDErrors returns a new BatchPartialError (or nil), without any DuplicateIDError(s). NB(prateek): it mutates the order of errors in the original error to avoid allocations. NB(bodu): we return an `error` here since go does not evaluate `nil` errors correctly when we return a custom type (*BatchPartialError) here and cast it to `error`.
func (*BatchPartialError) IsEmpty ¶
func (e *BatchPartialError) IsEmpty() bool
IsEmpty returns a bool indicating whether e is empty or not.
type CompiledRegex ¶ added in v0.4.1
type CompiledRegex struct { Simple *regexp.Regexp FST *vregex.Regexp FSTSyntax *syntax.Regexp PrefixBegin []byte PrefixEnd []byte }
CompiledRegex is a collection of regexp compiled structs to allow amortisation of regexp construction costs.
func CompileRegex ¶ added in v0.4.4
func CompileRegex(r []byte) (CompiledRegex, error)
CompileRegex compiles the provided regexp into an object that can be used to query the various segment implementations.
func DotStarCompiledRegex ¶ added in v0.8.2
func DotStarCompiledRegex() CompiledRegex
DotStarCompiledRegex returns a regexp which matches ".*".
type DocRetriever ¶
DocRetriever returns the document associated with a postings ID. It returns ErrDocNotFound if there is no document corresponding to the given postings ID.
type IDDocIterator ¶
type IDDocIterator interface { doc.MetadataIterator // PostingsID returns the current document postings ID. PostingsID() postings.ID }
IDDocIterator is an extented documents Iterator which can also return the postings ID of the current document.
func NewIDDocIterator ¶
func NewIDDocIterator(r MetadataRetriever, pi postings.Iterator) IDDocIterator
NewIDDocIterator returns a new NewIDDocIterator.
type IDIterator ¶ added in v0.5.0
type IDIterator interface { // Next returns a bool indicating if the iterator has any more documents // to return. Next() bool // Current returns the current document ID. Current() []byte // PostingsID returns the current document postings ID. PostingsID() postings.ID // Err returns any errors encountered during iteration. Err() error // Close releases any internal resources used by the iterator. Close() error }
IDIterator is a document ID iterator.
type Index ¶
type Index interface { Writer // Readers returns a set of readers representing a point-in-time snapshot of the index. Readers() (Readers, error) // Close closes the index and releases any internal resources. Close() error }
Index is a collection of searchable documents.
type MetadataRetriever ¶ added in v1.0.1
MetadataRetriever returns the metadata associated with a postings ID. It returns ErrDocNotFound if there is no metadata corresponding to the given postings ID.
type MockDocRetriever ¶
type MockDocRetriever struct {
// contains filtered or unexported fields
}
MockDocRetriever is a mock of DocRetriever interface.
func NewMockDocRetriever ¶
func NewMockDocRetriever(ctrl *gomock.Controller) *MockDocRetriever
NewMockDocRetriever creates a new mock instance.
func (*MockDocRetriever) EXPECT ¶
func (m *MockDocRetriever) EXPECT() *MockDocRetrieverMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockDocRetrieverMockRecorder ¶
type MockDocRetrieverMockRecorder struct {
// contains filtered or unexported fields
}
MockDocRetrieverMockRecorder is the mock recorder for MockDocRetriever.
func (*MockDocRetrieverMockRecorder) Doc ¶
func (mr *MockDocRetrieverMockRecorder) Doc(arg0 interface{}) *gomock.Call
Doc indicates an expected call of Doc.
type MockMetadataRetriever ¶ added in v1.0.1
type MockMetadataRetriever struct {
// contains filtered or unexported fields
}
MockMetadataRetriever is a mock of MetadataRetriever interface.
func NewMockMetadataRetriever ¶ added in v1.0.1
func NewMockMetadataRetriever(ctrl *gomock.Controller) *MockMetadataRetriever
NewMockMetadataRetriever creates a new mock instance.
func (*MockMetadataRetriever) EXPECT ¶ added in v1.0.1
func (m *MockMetadataRetriever) EXPECT() *MockMetadataRetrieverMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockMetadataRetrieverMockRecorder ¶ added in v1.0.1
type MockMetadataRetrieverMockRecorder struct {
// contains filtered or unexported fields
}
MockMetadataRetrieverMockRecorder is the mock recorder for MockMetadataRetriever.
func (*MockMetadataRetrieverMockRecorder) Metadata ¶ added in v1.0.1
func (mr *MockMetadataRetrieverMockRecorder) Metadata(arg0 interface{}) *gomock.Call
Metadata indicates an expected call of Metadata.
type MockReader ¶
type MockReader struct {
// contains filtered or unexported fields
}
MockReader is a mock of Reader interface.
func NewMockReader ¶
func NewMockReader(ctrl *gomock.Controller) *MockReader
NewMockReader creates a new mock instance.
func (*MockReader) AllDocs ¶
func (m *MockReader) AllDocs() (IDDocIterator, error)
AllDocs mocks base method.
func (*MockReader) EXPECT ¶
func (m *MockReader) EXPECT() *MockReaderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockReader) MatchAll ¶
func (m *MockReader) MatchAll() (postings.List, error)
MatchAll mocks base method.
func (*MockReader) MatchField ¶ added in v0.8.2
func (m *MockReader) MatchField(arg0 []byte) (postings.List, error)
MatchField mocks base method.
func (*MockReader) MatchRegexp ¶
func (m *MockReader) MatchRegexp(arg0 []byte, arg1 CompiledRegex) (postings.List, error)
MatchRegexp mocks base method.
func (*MockReader) MatchTerm ¶
func (m *MockReader) MatchTerm(arg0, arg1 []byte) (postings.List, error)
MatchTerm mocks base method.
func (*MockReader) MetadataIterator ¶ added in v1.0.1
func (m *MockReader) MetadataIterator(arg0 postings.List) (doc.MetadataIterator, error)
MetadataIterator mocks base method.
type MockReaderMockRecorder ¶
type MockReaderMockRecorder struct {
// contains filtered or unexported fields
}
MockReaderMockRecorder is the mock recorder for MockReader.
func (*MockReaderMockRecorder) AllDocs ¶
func (mr *MockReaderMockRecorder) AllDocs() *gomock.Call
AllDocs indicates an expected call of AllDocs.
func (*MockReaderMockRecorder) Close ¶
func (mr *MockReaderMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockReaderMockRecorder) Doc ¶
func (mr *MockReaderMockRecorder) Doc(arg0 interface{}) *gomock.Call
Doc indicates an expected call of Doc.
func (*MockReaderMockRecorder) Docs ¶
func (mr *MockReaderMockRecorder) Docs(arg0 interface{}) *gomock.Call
Docs indicates an expected call of Docs.
func (*MockReaderMockRecorder) MatchAll ¶
func (mr *MockReaderMockRecorder) MatchAll() *gomock.Call
MatchAll indicates an expected call of MatchAll.
func (*MockReaderMockRecorder) MatchField ¶ added in v0.8.2
func (mr *MockReaderMockRecorder) MatchField(arg0 interface{}) *gomock.Call
MatchField indicates an expected call of MatchField.
func (*MockReaderMockRecorder) MatchRegexp ¶
func (mr *MockReaderMockRecorder) MatchRegexp(arg0, arg1 interface{}) *gomock.Call
MatchRegexp indicates an expected call of MatchRegexp.
func (*MockReaderMockRecorder) MatchTerm ¶
func (mr *MockReaderMockRecorder) MatchTerm(arg0, arg1 interface{}) *gomock.Call
MatchTerm indicates an expected call of MatchTerm.
func (*MockReaderMockRecorder) Metadata ¶ added in v1.0.1
func (mr *MockReaderMockRecorder) Metadata(arg0 interface{}) *gomock.Call
Metadata indicates an expected call of Metadata.
func (*MockReaderMockRecorder) MetadataIterator ¶ added in v1.0.1
func (mr *MockReaderMockRecorder) MetadataIterator(arg0 interface{}) *gomock.Call
MetadataIterator indicates an expected call of MetadataIterator.
type Readable ¶
type Readable interface { MetadataRetriever DocRetriever // MatchField returns a postings list over all documents which match the given field. MatchField(field []byte) (postings.List, error) // MatchTerm returns a postings list over all documents which match the given term. MatchTerm(field, term []byte) (postings.List, error) // MatchRegexp returns a postings list over all documents which match the given // regular expression. MatchRegexp(field []byte, c CompiledRegex) (postings.List, error) // MatchAll returns a postings list for all documents known to the Reader. MatchAll() (postings.List, error) // MetadataIterator returns an iterator over the metadata whose IDs are in the provided // postings list. MetadataIterator(pl postings.List) (doc.MetadataIterator, error) // Docs returns an iterator over the document whose IDs // are in the provided postings list. Docs(pl postings.List) (doc.Iterator, error) // AllDocs returns an iterator over the documents known to the Reader. AllDocs() (IDDocIterator, error) }
Readable provides a point-in-time accessor to the documents in an index.
type Reader ¶
type Reader interface { Readable // Close closes the reader and releases any internal resources. Close() error }
Reader provides a point-in-time accessor to the documents in an index.
type RegexpCacheOptions ¶ added in v1.0.0
RegexpCacheOptions is a set of regexp cache options.
type Writer ¶
type Writer interface { // Insert inserts the given document into the index and returns its ID. The document // is guaranteed to be searchable once the Insert method returns. Insert(d doc.Metadata) ([]byte, error) // InsertBatch inserts a batch of metrics into the index. The documents are guaranteed // to be searchable all at once when the Batch method returns. If the batch supports // partial updates and any errors are encountered on individual documents then a // BatchPartialError is returned. InsertBatch(b Batch) error }
Writer is used to insert documents into an index.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package segment is a generated GoMock package.
|
Package segment is a generated GoMock package. |
fst
Package fst is a generated GoMock package.
|
Package fst is a generated GoMock package. |
mem
Package mem is a generated GoMock package.
|
Package mem is a generated GoMock package. |