Tencent/WeKnora · error
failed to get FAQ knowledge: %w
Error message
failed to get FAQ knowledge: %w
What it means
Thrown by saveFAQImportResultToDatabase when repo.GetKnowledgeByID fails to load the FAQ knowledge record for the imported knowledge ID. A persistence-layer failure (or the knowledge was deleted mid-import), preventing result statistics from being written.
Source
Thrown at internal/application/service/knowledge_faq_import.go:316
// csvEscape 转义 CSV 字段
func csvEscape(s string) string {
if strings.ContainsAny(s, ",\"\n\r") {
// 将内部引号替换为两个引号,并用引号包裹整个字段
return "\"" + strings.ReplaceAll(s, "\"", "\"\"") + "\""
}
return s
}
// saveFAQImportResultToDatabase 保存FAQ导入结果统计到数据库
func (s *knowledgeService) saveFAQImportResultToDatabase(ctx context.Context,
payload *types.FAQImportPayload, progress *types.FAQImportProgress, originalTotalEntries int,
) error {
// 获取FAQ知识库实例
tenantID := ctx.Value(types.TenantIDContextKey).(uint64)
knowledge, err := s.repo.GetKnowledgeByID(ctx, tenantID, payload.KnowledgeID)
if err != nil {
return fmt.Errorf("failed to get FAQ knowledge: %w", err)
}
// 计算跳过的条目数(总数 - 完全成功 - 部分失败 - 完全失败)
skippedCount := originalTotalEntries - progress.SuccessCount - progress.PartialFailedCount - progress.FailedCount
if skippedCount < 0 {
skippedCount = 0
}
// 创建导入结果统计
importResult := &types.FAQImportResult{
TotalEntries: originalTotalEntries,
SuccessCount: progress.SuccessCount,
FailedCount: progress.FailedCount,
PartialFailedCount: progress.PartialFailedCount,
SkippedCount: skippedCount,
MergedCount: progress.MergedCount,
AddedCount: progress.AddedCount,
ImportMode: payload.Mode,View on GitHub (pinned to 988cbb0330)
Solutions
- Check database connectivity
- Verify the knowledge record still exists and belongs to the tenant (not deleted during import)
- Inspect the wrapped repository error for constraint/timeout details
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/application/service/knowledge_faq_import.go:316 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/eed7dfc0b85a7e9a.
Report an issue: GitHub.