@@ -31,18 +31,29 @@ def do_init(self):
3131 self .PORT = kb_config ["port" ]
3232 self .user = kb_config .get ("user" , "" )
3333 self .password = kb_config .get ("password" , "" )
34+ self .verify_certs = kb_config .get ("verify_certs" , True )
35+ self .ca_certs = kb_config .get ("ca_certs" , None )
36+ self .client_key = kb_config .get ("client_key" , None )
37+ self .client_cert = kb_config .get ("client_cert" , None )
3438 self .dims_length = kb_config .get ("dims_length" , None )
3539 self .embeddings_model = get_Embeddings (self .embed_model )
3640 try :
37- # ES python客户端连接(仅连接)
41+ connection_info = dict (
42+ host = f"{ self .scheme } ://{ self .IP } :{ self .PORT } "
43+ )
3844 if self .user != "" and self .password != "" :
39- self .es_client_python = Elasticsearch (
40- f"{ self .scheme } ://{ self .IP } :{ self .PORT } " ,
41- basic_auth = (self .user , self .password ),
42- )
45+ connection_info .update (basic_auth = (self .user , self .password ))
4346 else :
4447 logger .warning ("ES未配置用户名和密码" )
45- self .es_client_python = Elasticsearch (f"{ self .scheme } ://{ self .IP } :{ self .PORT } " )
48+ if self .scheme == "https" :
49+ connection_info .update (verify_certs = self .verify_certs )
50+ if self .ca_certs :
51+ connection_info .update (ca_certs = self .ca_certs )
52+ if self .client_key and self .client_cert :
53+ connection_info .update (client_key = self .client_key )
54+ connection_info .update (client_cert = self .client_cert )
55+ # ES python客户端连接(仅连接)
56+ self .es_client_python = Elasticsearch (** connection_info )
4657 except ConnectionError :
4758 logger .error ("连接到 Elasticsearch 失败!" )
4859 raise ConnectionError
@@ -82,6 +93,13 @@ def do_init(self):
8293 )
8394 if self .user != "" and self .password != "" :
8495 params .update (es_user = self .user , es_password = self .password )
96+ if self .scheme == "https" :
97+ params ["es_params" ].update (verify_certs = self .verify_certs )
98+ if self .ca_certs :
99+ params ["es_params" ].update (ca_certs = self .ca_certs )
100+ if self .client_key and self .client_cert :
101+ params ["es_params" ].update (client_key = self .client_key )
102+ params ["es_params" ].update (client_cert = self .client_cert )
85103 self .db = ElasticsearchStore (** params )
86104 except ConnectionError :
87105 logger .error ("### 初始化 Elasticsearch 失败!" )
0 commit comments