89 lines
1.8 KiB
Go
89 lines
1.8 KiB
Go
package handler
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"myschools.me/suguo/gofound/searcher/model"
|
|
"myschools.me/suguo/gofound/service"
|
|
)
|
|
|
|
// IndexQuery 查询
|
|
func IndexQuery(c *gin.Context) {
|
|
var request = &model.SearchRequest{}
|
|
if err := c.ShouldBindJSON(&request); err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
request.Database = c.Query("database")
|
|
//调用搜索
|
|
r, err := service.IndexQuery(request)
|
|
if err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
} else {
|
|
ResponseSuccessWithData(c, r)
|
|
}
|
|
}
|
|
|
|
// IndexAdd 添加索引
|
|
func IndexAdd(c *gin.Context) {
|
|
document := &model.IndexDoc{}
|
|
if err := c.ShouldBindJSON(&document); err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
dbName := c.Query("database")
|
|
if dbName == "" {
|
|
dbName = "default"
|
|
}
|
|
err := service.IndexAdd(&dbName, document)
|
|
if err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
ResponseSuccessWithData(c, nil)
|
|
}
|
|
|
|
// IndexBatchAdd 批量添加索引
|
|
func IndexBatchAdd(c *gin.Context) {
|
|
documents := make([]*model.IndexDoc, 0)
|
|
if err := c.BindJSON(&documents); err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
dbName := c.Query("database")
|
|
if dbName == "" {
|
|
dbName = "default"
|
|
}
|
|
|
|
err := service.IndexBatchAdd(dbName, documents)
|
|
if err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
ResponseSuccess(c)
|
|
}
|
|
|
|
// IndexRemove 删除索引
|
|
func IndexRemove(c *gin.Context) {
|
|
removeIndexModel := &model.RemoveIndexModel{}
|
|
if err := c.BindJSON(&removeIndexModel); err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
dbName := c.Query("database")
|
|
if dbName == "" {
|
|
ResponseErrorWithMsg(c, "database is empty")
|
|
return
|
|
}
|
|
|
|
if err := service.IndexRemove(dbName, removeIndexModel); err != nil {
|
|
ResponseErrorWithMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
ResponseSuccess(c)
|
|
}
|