You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
service/supply/setting/opensearch.go

71 lines
1.7 KiB

2 years ago
package setting
import (
"context"
"git.oa00.com/supply-chain/service/client"
)
type opensearch struct {
}
type ArgsOpensearchToken struct {
Analyzer string
Text string
}
type TokenOpensearchItem struct {
Token string `json:"token"`
StartOffset int `json:"startOffset"`
EndOffset int `json:"endOffset"`
Type string `json:"type"`
Position int `json:"position"`
}
// Analyzer @Title 分词测试
func (o *opensearch) Analyzer(ctx context.Context, args ArgsOpensearchToken) (result []TokenOpensearchItem, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "Analyzer", args, &result)
return
}
// IndicesRefresh @Title 刷新索引
func (o *opensearch) IndicesRefresh(ctx context.Context) error {
xClient, err := client.GetClient(o)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "IndicesRefresh", 0, &reply)
}
1 year ago
// Refresh @Title 刷新
func (o *opensearch) Refresh(ctx context.Context) error {
xClient, err := client.GetClient(o)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Refresh", 0, &reply)
}
type ReplyOpensearchRefreshProgress struct {
Completed bool `json:"completed"`
Total int `json:"total"`
Updated int `json:"updated"`
StartTimeInMillis int64 `json:"startTimeInMillis"`
RunningTimeInNanos int `json:"runningTimeInNanos"`
}
// RefreshProgress @Title 刷新进度
func (o *opensearch) RefreshProgress(ctx context.Context) (reply ReplyOpensearchRefreshProgress, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
if err = xClient.Call(ctx, "RefreshProgress", 0, &reply); err != nil {
return
}
return
}