#!/usr/bin/env python3 """测试知识库搜索""" import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from knowledge_base import KnowledgeBase def test_search(): kb = KnowledgeBase("D:/桌面/源码/文档/docs") kb.reload() if not kb.is_ready: print("知识库未加载") return print(f"知识库加载了 {len(kb.docs)} 个文档") # 测试查询 queries = [ "用户管理的部分可以查到哪些信息", "用户管理", "查询用户信息", "php管理员后端", ] for query in queries: print(f"\n{'='*60}") print(f"查询: {query}") results = kb.search(query, top_k=3) if results: for i, (doc, score) in enumerate(results): print(f" {i+1}. 标题: {doc['title']}, 匹配度: {score:.2f}") print(f" heading: {doc['heading'][:60]}") print(f" body片段: {doc['body'][:100].replace(chr(10), ' ')}...") else: print(" 无结果") if __name__ == "__main__": test_search()