| from typing import Optional | |
| from pydantic import Field, PositiveInt | |
| from pydantic_settings import BaseSettings | |
| class ElasticsearchConfig(BaseSettings): | |
| """ | |
| Configuration settings for Elasticsearch | |
| """ | |
| ELASTICSEARCH_HOST: Optional[str] = Field( | |
| description="Hostname or IP address of the Elasticsearch server (e.g., 'localhost' or '192.168.1.100')", | |
| default="127.0.0.1", | |
| ) | |
| ELASTICSEARCH_PORT: PositiveInt = Field( | |
| description="Port number on which the Elasticsearch server is listening (default is 9200)", | |
| default=9200, | |
| ) | |
| ELASTICSEARCH_USERNAME: Optional[str] = Field( | |
| description="Username for authenticating with Elasticsearch (default is 'elastic')", | |
| default="elastic", | |
| ) | |
| ELASTICSEARCH_PASSWORD: Optional[str] = Field( | |
| description="Password for authenticating with Elasticsearch (default is 'elastic')", | |
| default="elastic", | |
| ) | |