Documentation
¶
Overview ¶
Package sqlite provides a SQLite-backed Reliquary candidate index.
Index ¶
- type Config
- type Index
- func (i *Index) DeleteDocument(ctx context.Context, documentID string) error
- func (i *Index) Migrate(ctx context.Context) error
- func (i *Index) ReplaceDocuments(ctx context.Context, replacements []indexcontract.DocumentReplacement) error
- func (i *Index) Reset(ctx context.Context) error
- func (i *Index) Search(ctx context.Context, query indexcontract.IndexQuery) ([]*retrieval.Result, error)
- func (i *Index) Upsert(ctx context.Context, items []*retrieval.Result) error
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Index ¶
type Index struct {
// contains filtered or unexported fields
}
Index uses caller-owned SQLite connectivity. New performs no database I/O.
func New ¶
Example ¶
package main
import (
"context"
"database/sql"
"fmt"
"github.com/dotcommander/reliquary/adapter/sqlite"
_ "modernc.org/sqlite"
)
func main() {
db, err := sql.Open("sqlite", ":memory:")
if err != nil {
panic(err)
}
defer db.Close()
db.SetMaxOpenConns(1)
idx, err := sqlite.New(db, sqlite.Config{
Table: "reliquary_index",
CandidateLimit: 50,
})
if err != nil {
panic(err)
}
err = idx.Migrate(context.Background())
fmt.Println(idx != nil, err == nil)
}
Output: true true
func (*Index) DeleteDocument ¶
func (*Index) ReplaceDocuments ¶ added in v0.9.0
func (i *Index) ReplaceDocuments(ctx context.Context, replacements []indexcontract.DocumentReplacement) error
ReplaceDocuments atomically replaces complete document revisions in both the base and FTS tables. Empty result sets delete their document.
func (*Index) Search ¶
func (i *Index) Search(ctx context.Context, query indexcontract.IndexQuery) ([]*retrieval.Result, error)
Click to show internal directories.
Click to hide internal directories.