elasticsearch.py 642 B

1234567891011121314151617181920
  1. from pydantic import Field
  2. from pydantic_settings import BaseSettings, SettingsConfigDict
  3. from typing import List
  4. class ElasticsearchConfig(BaseSettings):
  5. """Elasticsearch 配置"""
  6. hosts: List[str] = Field(default_factory=lambda: ["http://localhost:9200"])
  7. username: str = ""
  8. password: str = ""
  9. index: str = "articles"
  10. # ES mappings 和 settings(从 elastic_search_mappings.py 迁移)
  11. mappings: dict = Field(default_factory=dict)
  12. settings: dict = Field(default_factory=dict)
  13. model_config = SettingsConfigDict(
  14. env_prefix="ES_", env_file=".env", case_sensitive=False, extra="ignore"
  15. )