Fix online mining session lookup

This commit is contained in:
wuyang6
2026-05-14 17:25:51 +08:00
parent c6b3233769
commit f1dc7e4b91
@@ -309,11 +309,17 @@ def fetch_session_turns(
if not session_id or not before_timestamp:
return []
filters = [
{"term": {"session_id.keyword": session_id}},
{"range": {"timestamp": {"lt": before_timestamp}}},
]
docs = search_docs(source="main", date=date, size=max(limit * 3, limit), query_filters=filters)
docs: list[dict[str, Any]] = []
# arch-flat-nlp-log-f-* 里 session_id 在部分索引没有 .keyword 子字段,
# 所以必须先试 keyword,再兜底原字段。
for session_field in ("session_id.keyword", "session_id"):
filters = [
{"term": {session_field: session_id}},
{"range": {"timestamp": {"lt": before_timestamp}}},
]
docs = search_docs(source="main", date=date, size=max(limit * 3, limit), query_filters=filters)
if docs:
break
cases = [extract_main_case(doc) for doc in docs]
cases = [
case