#!/usr/bin/env python3 """ 测试搜索集成的自测脚本 验证请求上下文和日志系统是否正常工作 """ import sys import os # 添加项目路径 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) def test_search_integration(): """测试搜索集成""" print("🧪 开始搜索集成自测...") try: # 导入模块 from context.request_context import create_request_context from utils.logger import get_logger, setup_logging # 设置日志 setup_logging(log_level="INFO", log_dir="test_logs") logger = get_logger("test") print("✅ 模块导入成功") # 创建请求上下文 context = create_request_context("test123", "testuser") print(f"✅ 请求上下文创建成功: reqid={context.reqid}") # 测试日志记录 context.logger.info("测试日志记录", extra={'reqid': context.reqid, 'uid': context.uid}) print("✅ 日志记录正常") # 测试存储中间结果 context.store_intermediate_result("test_query", "芭比娃娃") context.store_intermediate_result("test_language", "zh") print("✅ 中间结果存储正常") # 测试查询分析存储 context.store_query_analysis( original_query="芭比娃娃", normalized_query="芭比娃娃", rewritten_query="芭比娃娃", detected_language="zh", domain="default" ) print("✅ 查询分析存储正常") # 测试性能摘要 context.log_performance_summary() print("✅ 性能摘要记录正常") # 测试完整的上下文摘要 summary = context.get_summary() print(f"✅ 上下文摘要生成成功,包含 {len(str(summary))} 字符的数据") print("\n📊 测试摘要:") print(f" 请求ID: {summary['request_info']['reqid']}") print(f" 用户ID: {summary['request_info']['uid']}") print(f" 查询: '{summary['query_analysis']['original_query']}'") print(f" 语言: {summary['query_analysis']['detected_language']}") print("\n🎉 所有自测通过!搜索集成功能正常工作。") return True except Exception as e: print(f"❌ 自测失败: {e}") import traceback traceback.print_exc() return False if __name__ == "__main__": success = test_search_integration() if success: print("\n✨ 系统已就绪,可以正常处理搜索请求!") else: print("\n💥 请检查错误信息并修复问题") sys.exit(1)