35 lines
808 B
Go
35 lines
808 B
Go
package service
|
|
|
|
import (
|
|
"myschools.me/suguo/gofound/searcher/model"
|
|
)
|
|
|
|
// 添加索引
|
|
func IndexAdd(dbName *string, req *model.IndexDoc) error {
|
|
return container.GetDataBase(*dbName).IndexDocument(req)
|
|
}
|
|
|
|
func IndexQuery(request *model.SearchRequest) (*model.SearchResult, error) {
|
|
return container.GetDataBase(request.Database).MultiSearch(request)
|
|
}
|
|
|
|
// 批次添加索引
|
|
func IndexBatchAdd(dbName string, documents []*model.IndexDoc) error {
|
|
db := container.GetDataBase(dbName)
|
|
for _, doc := range documents {
|
|
if err := db.IndexDocument(doc); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// 删除索引
|
|
func IndexRemove(dbName string, data *model.RemoveIndexModel) error {
|
|
db := container.GetDataBase(dbName)
|
|
if err := db.RemoveIndex(data.Id); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|