Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alist-org
GitHub Repository: alist-org/alist
Path: blob/main/internal/search/db/search.go
1562 views
1
package db
2
3
import (
4
"context"
5
6
"github.com/alist-org/alist/v3/internal/db"
7
"github.com/alist-org/alist/v3/internal/model"
8
"github.com/alist-org/alist/v3/internal/search/searcher"
9
)
10
11
type DB struct{}
12
13
func (D DB) Config() searcher.Config {
14
return config
15
}
16
17
func (D DB) Search(ctx context.Context, req model.SearchReq) ([]model.SearchNode, int64, error) {
18
return db.SearchNode(req, true)
19
}
20
21
func (D DB) Index(ctx context.Context, node model.SearchNode) error {
22
return db.CreateSearchNode(&node)
23
}
24
25
func (D DB) BatchIndex(ctx context.Context, nodes []model.SearchNode) error {
26
return db.BatchCreateSearchNodes(&nodes)
27
}
28
29
func (D DB) Get(ctx context.Context, parent string) ([]model.SearchNode, error) {
30
return db.GetSearchNodesByParent(parent)
31
}
32
33
func (D DB) Del(ctx context.Context, path string) error {
34
return db.DeleteSearchNodesByParent(path)
35
}
36
37
func (D DB) Release(ctx context.Context) error {
38
return nil
39
}
40
41
func (D DB) Clear(ctx context.Context) error {
42
return db.ClearSearchNodes()
43
}
44
45
var _ searcher.Searcher = (*DB)(nil)
46
47