From 0c53b480bf02e96310ed8b8a7db6e2d1a2b1daaf Mon Sep 17 00:00:00 2001 From: Ripcord55 Date: Wed, 18 Mar 2026 10:51:38 +0800 Subject: [PATCH 1/2] pyobvector dependencies --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index d88b5476..d52aaec5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ "click>=8.0.0", "rank-bm25>=0.2.2", "pyobvector>=0.2.24,<0.3.0", + "sqlglot>=26.0.1,<26.25.0", "jieba>=0.42.1", "azure-identity>=1.24.0", "psycopg2-binary>=2.9.0", From 3b8a4f2e6e94365ddf320b6bd87a063732cd195f Mon Sep 17 00:00:00 2001 From: Ripcord55 Date: Wed, 18 Mar 2026 15:05:40 +0800 Subject: [PATCH 2/2] hybrid_search repair --- tests/regression/test_native_hybrid_search.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/regression/test_native_hybrid_search.py b/tests/regression/test_native_hybrid_search.py index 8f20bbd0..5d0f8ee9 100644 --- a/tests/regression/test_native_hybrid_search.py +++ b/tests/regression/test_native_hybrid_search.py @@ -380,14 +380,19 @@ def test_tc009_large_data_search(self): # Step 4: Test native hybrid search performance (enabled) log_info("\n[Step 4] Testing native hybrid search performance (enabled)...") start = time.time() - for i in range(50): + for i in range(30): results_native = memory.search(query="user", user_id=user_id, limit=10) native_time = time.time() - start assert results_native is not None, "Native search should return results" native_count = len(results_native.get('results', [])) - log_info(f"✓ Native hybrid search: {native_time:.3f}s for 50 queries, {native_count} results") + log_info(f"✓ Native hybrid search: {native_time:.3f}s for 30 queries, {native_count} results") + # Wait for background update operations to complete before next test phase + log_info("\n[Step 4.5] Waiting for background operations to settle...") + time.sleep(30) + log_info("✓ Background operations settled") + # Step 5: Test application-level hybrid search (disabled) log_info("\n[Step 5] Testing application-level hybrid search (disabled)...") config_app = auto_config() @@ -400,13 +405,13 @@ def test_tc009_large_data_search(self): memory_app = Memory(config=config_app) start = time.time() - for i in range(50): + for i in range(30): results_app = memory_app.search(query="user", limit=10) app_time = time.time() - start assert results_app is not None, "Application-level search should return results" app_count = len(results_app.get('results', [])) - log_info(f"✓ Application-level hybrid search: {app_time:.3f}s for 50 queries, {app_count} results") + log_info(f"✓ Application-level hybrid search: {app_time:.3f}s for 30 queries, {app_count} results") # Step 6: Compare performance log_info("\n[Step 6] Performance comparison:")