72 lines
2.3 KiB
Go
72 lines
2.3 KiB
Go
package entity
|
||
|
||
import (
|
||
"time"
|
||
|
||
"gitea.com/red-future/common/beans"
|
||
)
|
||
|
||
// ConversationArchiveTempCollection 归档临时表名
|
||
const ConversationArchiveTempCollection = "conversation_archive_temp"
|
||
|
||
// ConversationArchiveTemp 归档临时表实体(与 Conversation 结构相同)
|
||
type ConversationArchiveTemp struct {
|
||
beans.MongoBaseDO `bson:",inline"`
|
||
|
||
UserId string `bson:"userId" json:"userId"`
|
||
Platform string `bson:"platform" json:"platform"`
|
||
SessionId string `bson:"sessionId" json:"sessionId"`
|
||
Question string `bson:"question" json:"question"`
|
||
Answer string `bson:"answer" json:"answer"`
|
||
MessageId string `bson:"messageId" json:"messageId"`
|
||
MsgTime *time.Time `bson:"msgTime" json:"msgTime"` // 指针类型,与MongoBaseDO一致
|
||
|
||
// 原始文档 ID,用于删除原表数据
|
||
OriginalId string `bson:"originalId" json:"originalId"`
|
||
}
|
||
|
||
// ConversationES ES 索引文档结构
|
||
type ConversationES struct {
|
||
Id string `json:"id"` // MongoDB 原始 ID
|
||
UserId string `json:"userId"` // 用户ID
|
||
Platform string `json:"platform"` // 平台
|
||
SessionId string `json:"sessionId"` // Session ID
|
||
Question string `json:"question"` // 问题
|
||
Answer string `json:"answer"` // 回复
|
||
MessageId string `json:"messageId"` // 消息ID
|
||
MsgTime time.Time `json:"msgTime"` // 消息时间
|
||
TenantId string `json:"tenantId"` // 租户ID
|
||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
|
||
ArchivedAt time.Time `json:"archivedAt"` // 归档时间
|
||
}
|
||
|
||
// ConversationESMapping ES 索引映射
|
||
const ConversationESMapping = `
|
||
{
|
||
"settings": {
|
||
"number_of_shards": 3,
|
||
"number_of_replicas": 1
|
||
},
|
||
"mappings": {
|
||
"properties": {
|
||
"id": { "type": "keyword" },
|
||
"userId": { "type": "keyword" },
|
||
"platform": { "type": "keyword" },
|
||
"sessionId": { "type": "keyword" },
|
||
"question": { "type": "text", "analyzer": "standard" },
|
||
"answer": { "type": "text", "analyzer": "standard" },
|
||
"messageId": { "type": "keyword" },
|
||
"msgTime": { "type": "date" },
|
||
"tenantId": { "type": "keyword" },
|
||
"createdAt": { "type": "date" },
|
||
"updatedAt": { "type": "date" },
|
||
"archivedAt": { "type": "date" }
|
||
}
|
||
}
|
||
}
|
||
`
|
||
|
||
// ConversationESIndex ES 索引名
|
||
const ConversationESIndex = "conversations"
|