25 lines
566 B
Python
25 lines
566 B
Python
|
|
"""搜索建议 schema。"""
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from datetime import datetime
|
||
|
|
|
||
|
|
from pydantic import BaseModel
|
||
|
|
|
||
|
|
|
||
|
|
class SearchTitleSuggestionItem(BaseModel):
|
||
|
|
id: int # article_id
|
||
|
|
published_at: datetime | None = None
|
||
|
|
lang: str # 'zh' / 'src'
|
||
|
|
|
||
|
|
|
||
|
|
class SearchKeywordItem(BaseModel):
|
||
|
|
word: str
|
||
|
|
weight: int
|
||
|
|
source: str # 'ts_stat' / 'title_extract' / 'manual' / 'ts_stat_live'
|
||
|
|
|
||
|
|
|
||
|
|
class SearchSuggestionsResponse(BaseModel):
|
||
|
|
query: str
|
||
|
|
titles: list[SearchTitleSuggestionItem] = []
|
||
|
|
keywords: list[SearchKeywordItem] = []
|