Fix online mining session lookup
This commit is contained in:
@@ -309,11 +309,17 @@ def fetch_session_turns(
|
|||||||
|
|
||||||
if not session_id or not before_timestamp:
|
if not session_id or not before_timestamp:
|
||||||
return []
|
return []
|
||||||
|
docs: list[dict[str, Any]] = []
|
||||||
|
# arch-flat-nlp-log-f-* 里 session_id 在部分索引没有 .keyword 子字段,
|
||||||
|
# 所以必须先试 keyword,再兜底原字段。
|
||||||
|
for session_field in ("session_id.keyword", "session_id"):
|
||||||
filters = [
|
filters = [
|
||||||
{"term": {"session_id.keyword": session_id}},
|
{"term": {session_field: session_id}},
|
||||||
{"range": {"timestamp": {"lt": before_timestamp}}},
|
{"range": {"timestamp": {"lt": before_timestamp}}},
|
||||||
]
|
]
|
||||||
docs = search_docs(source="main", date=date, size=max(limit * 3, limit), query_filters=filters)
|
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 = [extract_main_case(doc) for doc in docs]
|
||||||
cases = [
|
cases = [
|
||||||
case
|
case
|
||||||
|
|||||||
Reference in New Issue
Block a user