Havoc412 2645d4265a feat(model_res): 为 DocResult 结构体添加 UpdatedAt 字段
- 在 DocResult 结构体中添加 UpdatedAt 字段,类型为 *time.Time
- 更新 NewDocResult 函数,包含 UpdatedAt 字段
- 修改 DocCurd 服务,获取文档时包含 updated_at 字段
- 启动 ElasticSearch 服务
2024-11-20 03:28:56 +08:00

45 lines
866 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package curd
import (
"catface/app/model"
"catface/app/model_es"
"catface/app/model_res"
)
func CreateDocCurdFactory() *DocCurd {
return &DocCurd{
doc: model.CreateDocFactory(""),
doc_es: model_es.CreateDocESFactory()}
}
type DocCurd struct { // 组合方法的使用
doc *model.Doc
doc_es *model_es.Doc
}
func (d *DocCurd) TopK(embedding []float64, k int) (temp []model_res.DocResult, err error) {
// ESTopK
docs_es, err := d.doc_es.TopK(embedding, k)
if err != nil {
return
}
// MySQL补充基本信息
var ids []int64
for _, doc := range docs_es {
ids = append(ids, doc.Id)
}
docs := d.doc.ShowByIds(ids, "id", "name", "updated_at")
// 装载
for _, doc := range docs {
for _, doc_es := range docs_es {
if doc.Id == doc_es.Id {
temp = append(temp, *model_res.NewDocResult(&doc, &doc_es))
}
}
}
return
}