修復 Hybrid Search 500 Internal Server Error #1

Open
opened 2026-03-29 11:40:04 +08:00 by warren · 0 comments
Owner

問題描述

Hybrid search 端點 (/api/v1/search/hybrid) 目前返回 500 Internal Server Error,影響 WordPress portal 整合。

當前狀態

  • 已修復 duplicate chunk_id bug(使用 (chunk_id, uuid) 作為唯一鍵)
  • 已更新 text extraction helpers 支援中英文影片(content->'data'->>'text'content->'text'
  • 已更新 embedding model 為 nomic-embed-text-v2-moe:latest
  • 已設定 Qdrant collection 為 momentry_rule1
  • 開發伺服器 (port 3003) 已啟動,基本搜尋功能正常
  • 生產伺服器 (port 3002) 保持正常運作
  • ⚠️ Hybrid search 端點執行 SQL 成功但返回 500 錯誤

錯誤詳情

根據日誌 (/tmp/momentry_dev2.log),hybrid search 端點的 SQL 查詢成功執行(line 264 顯示 SELECT chunk_id, uuid, chunk_index, ... 返回 0 rows),但之後發生 500 錯誤。錯誤可能發生在:

  1. 結果後處理邏輯
  2. 回應序列化
  3. MongoDB 快取邏輯(即使 MONGODB_CACHE_ENABLED=false

重現步驟

  1. 向開發伺服器 (port 3003) 發送 POST 請求到 /api/v1/search/hybrid
  2. 請求 body: {"query": "測試", "limit": 10}
  3. 使用 API key: muser_c8c5abba0bb744a4bca3dc50072e7d62_1774754410_88eba18e
  4. 返回 500 Internal Server Error

預期行為

應返回混合搜尋結果(向量 + 全文),包含影片片段資訊。

影響範圍

  • WordPress portal 無法使用 hybrid search 功能
  • POC 測試無法完整驗證搜尋功能

優先級

高 - 需要盡快修復以完成 POC 測試。

相關檔案

  • src/api/server.rs (hybrid search route, lines 933-993)
  • src/core/db/postgres_db.rs (hybrid_search function)
  • src/core/db/qdrant_db.rs (search functions)
  • .env.development (環境變數)

附註

此 issue 為 POC 準備的一部分,需在開發環境 (port 3003) 修復,不影響生產環境 (port 3002)。

## 問題描述 Hybrid search 端點 (`/api/v1/search/hybrid`) 目前返回 500 Internal Server Error,影響 WordPress portal 整合。 ## 當前狀態 - ✅ 已修復 duplicate `chunk_id` bug(使用 `(chunk_id, uuid)` 作為唯一鍵) - ✅ 已更新 text extraction helpers 支援中英文影片(`content->'data'->>'text'` 與 `content->'text'`) - ✅ 已更新 embedding model 為 `nomic-embed-text-v2-moe:latest` - ✅ 已設定 Qdrant collection 為 `momentry_rule1` - ✅ 開發伺服器 (port 3003) 已啟動,基本搜尋功能正常 - ✅ 生產伺服器 (port 3002) 保持正常運作 - ⚠️ **Hybrid search 端點執行 SQL 成功但返回 500 錯誤** ## 錯誤詳情 根據日誌 (`/tmp/momentry_dev2.log`),hybrid search 端點的 SQL 查詢成功執行(line 264 顯示 `SELECT chunk_id, uuid, chunk_index, ...` 返回 0 rows),但之後發生 500 錯誤。錯誤可能發生在: 1. 結果後處理邏輯 2. 回應序列化 3. MongoDB 快取邏輯(即使 `MONGODB_CACHE_ENABLED=false`) ## 重現步驟 1. 向開發伺服器 (port 3003) 發送 POST 請求到 `/api/v1/search/hybrid` 2. 請求 body: `{"query": "測試", "limit": 10}` 3. 使用 API key: `muser_c8c5abba0bb744a4bca3dc50072e7d62_1774754410_88eba18e` 4. 返回 500 Internal Server Error ## 預期行為 應返回混合搜尋結果(向量 + 全文),包含影片片段資訊。 ## 影響範圍 - WordPress portal 無法使用 hybrid search 功能 - POC 測試無法完整驗證搜尋功能 ## 優先級 高 - 需要盡快修復以完成 POC 測試。 ## 相關檔案 - `src/api/server.rs` (hybrid search route, lines 933-993) - `src/core/db/postgres_db.rs` (`hybrid_search` function) - `src/core/db/qdrant_db.rs` (search functions) - `.env.development` (環境變數) ## 附註 此 issue 為 POC 準備的一部分,需在開發環境 (port 3003) 修復,不影響生產環境 (port 3002)。
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: warren/momentry_core#1