Documentation ¶
Overview ¶
Package bdodb is a badger based backend database for bleve with all the customization options provided by the badger.
By Md Kawser Munshi
Index ¶
Examples ¶
Constants ¶
const (
// EngineName is the name of this engine in blevesearch
EngineName = "bdodb"
)
Variables ¶
This section is empty.
Functions ¶
func BleveIndex ¶
func BleveIndex(path string, mapping mapping.IndexMapping, indexType string, config map[string]interface{}) (bleve.Index, error)
BleveIndex a helper function that open (creates if not exists a new) bleve index
Example ¶
package main import ( "fmt" "github.com/blevesearch/bleve" "github.com/blevesearch/bleve/index/upsidedown" "github.com/mkawserm/bdodb" ) func main() { // create or open bleveIndex index, err := bdodb.BleveIndex("/tmp/bdodb_example", bleve.NewIndexMapping(), upsidedown.Name, nil) if err != nil { panic(err) } message := struct { Id string Body string }{ Id: "custom_id", Body: "bleve indexing with badger using bdodb", } // index message data if val, _ := index.Document(message.Id); val == nil { if err := index.Index(message.Id, message); err != nil { panic(err) } } // search for some text query := bleve.NewQueryStringQuery("bdodb") search := bleve.NewSearchRequest(query) if searchResults, err := index.Search(search); err == nil { fmt.Println(searchResults) } else { fmt.Println(err) } }
Output:
func NewStore ¶
func NewStore() registry.KVStoreConstructor
NewStore returns a registry.KVStoreConstructor
Types ¶
type Config ¶
type Config struct { EncryptionKey []byte `json:"-"` Logger badger.Logger `json:"-"` }
Config manages Logger and EncryptionKey option for the badger backend
type Iterator ¶
type Iterator struct {
// contains filtered or unexported fields
}
Iterator implements bleve store iterator
type Logger ¶
type Logger interface { Errorf(f string, v ...interface{}) Warningf(f string, v ...interface{}) Infof(f string, v ...interface{}) Debugf(f string, v ...interface{}) }
Logger interface
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader implements bleve store Reader interface
func (*Reader) PrefixIterator ¶
func (reader *Reader) PrefixIterator(k []byte) store.KVIterator
PrefixIterator initialize a new prefix iterator
func (*Reader) RangeIterator ¶
func (reader *Reader) RangeIterator(start, end []byte) store.KVIterator
RangeIterator initialize a new range iterator
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements bleve store
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer implements bleve store Writer interface
func (*Writer) ExecuteBatch ¶
ExecuteBatch implements bleve ExecuteBatch
func (*Writer) NewBatchEx ¶
NewBatchEx implements bleve NewBatchEx