ElasticsearchDBConfig.py 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. from typing import Dict, List, Optional, Union
  2. from embedchain.config.vectordbs.BaseVectorDbConfig import BaseVectorDbConfig
  3. from embedchain.helper_classes.json_serializable import register_deserializable
  4. @register_deserializable
  5. class ElasticsearchDBConfig(BaseVectorDbConfig):
  6. def __init__(
  7. self,
  8. collection_name: Optional[str] = None,
  9. dir: Optional[str] = None,
  10. es_url: Union[str, List[str]] = None,
  11. **ES_EXTRA_PARAMS: Dict[str, any],
  12. ):
  13. """
  14. Initializes a configuration class instance for an Elasticsearch client.
  15. :param collection_name: Default name for the collection, defaults to None
  16. :type collection_name: Optional[str], optional
  17. :param dir: Path to the database directory, where the database is stored, defaults to None
  18. :type dir: Optional[str], optional
  19. :param es_url: elasticsearch url or list of nodes url to be used for connection, defaults to None
  20. :type es_url: Union[str, List[str]], optional
  21. :param ES_EXTRA_PARAMS: extra params dict that can be passed to elasticsearch.
  22. :type ES_EXTRA_PARAMS: Dict[str, Any], optional
  23. """
  24. # self, es_url: Union[str, List[str]] = None, **ES_EXTRA_PARAMS: Dict[str, any]):
  25. self.ES_URL = es_url
  26. self.ES_EXTRA_PARAMS = ES_EXTRA_PARAMS
  27. super().__init__(collection_name=collection_name, dir=dir)