import warnings from elasticsearch import Elasticsearch from Config import Config # 抑制HTTPS相关警告 warnings.filterwarnings('ignore', message='Connecting to .* using TLS with verify_certs=False is insecure') warnings.filterwarnings('ignore', message='Unverified HTTPS request is being made to host') # 初始化ES连接 es = Elasticsearch( hosts=Config.ES_CONFIG['hosts'], basic_auth=Config.ES_CONFIG['basic_auth'], verify_certs=False ) # 定义mapping结构 mapping = { "mappings": { "properties": { "embedding": { "type": "dense_vector", "dims": 200, # embedding维度为200 "index": True, "similarity": "l2_norm" # 使用L2距离 }, "user_input": {"type": "text"}, "tags": { "type": "object", "properties": { "tags": {"type": "keyword"}, "full_content": {"type": "text"} } } } } } # 创建索引 index_name = Config.ES_CONFIG['index_name'] if es.indices.exists(index=index_name): es.indices.delete(index=index_name) print(f"删除已存在的索引 '{index_name}'") es.indices.create(index=index_name, body=mapping) print(f"索引 '{index_name}' 创建成功,mapping结构已设置。")