Skip to content

SearchResult 增强: 返回各源延迟/缓存/熔断状态 #322

@jerry609

Description

@jerry609

问题

当前 SearchResult 只返回 papers + provenance + total_raw + duplicates_removed.
前端无法知道哪些源超时、哪些命中缓存、哪些被熔断.

方案

扩展 SearchResult dataclass:

@dataclass
class SearchResult:
    papers: List[PaperCandidate]
    provenance: Dict[str, List[str]]
    total_raw: int
    duplicates_removed: int
    source_latencies: Dict[str, float]       # 新增
    cache_hits: List[str]                     # 新增
    circuit_breaker_open: List[str]           # 新增
    degraded_sources: List[str]              # 新增 (超时/失败的源)

前端可展示: "Powered by: S2 0.3s, arXiv 0.5s, OpenAlex (cached), DBLP (timeout)"

涉及文件

文件 改动
application/services/paper_search_service.py SearchResult 新增字段, search() 中收集各源延迟/状态

验收标准

  • SearchResult 包含每个源的延迟 (毫秒)
  • 缓存命中的源标记在 cache_hits
  • 熔断的源标记在 circuit_breaker_open

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsearchSearch infrastructure

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions