From ddcd9cf2c488ccd0c86efdb04d495356f02e993b Mon Sep 17 00:00:00 2001 From: Lynn Date: Fri, 26 Dec 2025 19:35:21 +0800 Subject: [PATCH] Fix: order by when pick msg to rm (#12247) ### What problem does this PR solve? Fix orde by when pick msg to remove. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: Liu An --- memory/utils/es_conn.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/memory/utils/es_conn.py b/memory/utils/es_conn.py index 69f41673b..dc98e871d 100644 --- a/memory/utils/es_conn.py +++ b/memory/utils/es_conn.py @@ -248,7 +248,15 @@ class ESConnection(ESConnectionBase): # build search s = Search() s = s.query(bool_query) - s = s.sort(order_by) + orders = list() + for field, order in order_by.fields: + order = "asc" if order == 0 else "desc" + if field.endswith("_int") or field.endswith("_flt"): + order_info = {"order": order, "unmapped_type": "float"} + else: + order_info = {"order": order, "unmapped_type": "text"} + orders.append({field: order_info}) + s = s.sort(*orders) s = s[:limit] q = s.to_dict() # search