* feat: ignore AList storage on indexing * fix: remove unused err in `walkFn` * chore(ci): fix auto_lang trigger and run it * feat: batch index * feat: quit index & init index * feat: set DocType for bleve data * fix: build index cleanup check origin err
32 lines
803 B
Go
32 lines
803 B
Go
package searcher
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/alist-org/alist/v3/internal/model"
|
|
)
|
|
|
|
type Config struct {
|
|
Name string
|
|
AutoUpdate bool
|
|
}
|
|
|
|
type Searcher interface {
|
|
// Config of the searcher
|
|
Config() Config
|
|
// Search specific keywords in specific path
|
|
Search(ctx context.Context, req model.SearchReq) ([]model.SearchNode, int64, error)
|
|
// Index obj with parent
|
|
Index(ctx context.Context, node model.SearchNode) error
|
|
// Index obj with parent in batches
|
|
BatchIndex(ctx context.Context, nodes []model.SearchNode) error
|
|
// Get by parent
|
|
Get(ctx context.Context, parent string) ([]model.SearchNode, error)
|
|
// Del with prefix
|
|
Del(ctx context.Context, prefix string) error
|
|
// Release resource
|
|
Release(ctx context.Context) error
|
|
// Clear all index
|
|
Clear(ctx context.Context) error
|
|
}
|