| 123456789101112131415161718192021222324252627 |
- from pydantic import Field
- from pydantic_settings import BaseSettings, SettingsConfigDict
- from typing import List
- class ElasticsearchConfig(BaseSettings):
- """Elasticsearch 配置"""
- hosts: List[str] = Field(default_factory=list)
- username: str = "elastic"
- password: str = ""
- index_name: str = "meta_articles_v1"
- cert_path: str = Field(
- default="app/core/config/cert/es_certs.crt", description="SSL 证书路径"
- )
- cert_content: str = Field(
- default="",
- description="SSL 证书内容 (base64 编码)",
- )
- # ES mappings 和 settings(从 elastic_search_mappings.py 迁移)
- mappings: dict = Field(default_factory=dict)
- settings: dict = Field(default_factory=dict)
- model_config = SettingsConfigDict(
- env_prefix="ES_", env_file=".env", case_sensitive=False, extra="ignore"
- )
|