- Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
Description
Currently all of the following methods for configuring clients work in 7.x:
Elasticsearch() # [{}] Elasticsearch([{}]) # [{}] Elasticsearch("localhost") # [{'host': 'localhost'}] Elasticsearch("localhost:9443") # [{'host': 'localhost', 'port': 9443}] Elasticsearch("http://localhost") # [{'host': 'localhost'}] Elasticsearch("http://localhost:9443") # [{'host': 'localhost', 'port': 9443}] Elasticsearch("http://user:pass@localhost") # [{'host': 'localhost', 'http_auth': 'user:pass'}] Elasticsearch("http://user:pass@localhost:9443") # [{'host': 'localhost', 'port': 9443, 'http_auth': 'user:pass'}] Elasticsearch("http://localhost/a") # [{'host': 'localhost', 'url_prefix': '/a'}] Elasticsearch("http://localhost:9443/a") # [{'host': 'localhost', 'port': 9443, 'url_prefix': '/a'}] Elasticsearch("https://localhost") # [{'host': 'localhost', 'port': 443, 'use_ssl': True}] Elasticsearch("https://localhost:9443") # [{'host': 'localhost', 'port': 9443, 'use_ssl': True}]
Any configuration that doesn't mention host
, port
, or use_ssl
uses the default values of localhost
, 9200
, and False
which can be super confusing in some situations! Proposed change is to make it impossible to configure a client with inference unless using the default client Elasticsearch()
.
So the following configurations would be disallowed:
Elasticsearch("localhost") # [{'host': 'localhost'}] Elasticsearch("localhost:9443") # [{'host': 'localhost', 'port': 9443}] Elasticsearch("http://localhost") # [{'host': 'localhost'}] Elasticsearch("http://localhost:9443") # [{'host': 'localhost', 'port': 9443}] Elasticsearch("http://user:pass@localhost") # [{'host': 'localhost', 'http_auth': 'user:pass'}] Elasticsearch("http://localhost/a") # [{'host': 'localhost', 'url_prefix': '/a'}] Elasticsearch("https://localhost") # [{'host': 'localhost', 'port': 443, 'use_ssl': True}]
and the following will be allowed:
Elasticsearch() # [{}] Elasticsearch([{}]) # [{}] Elasticsearch("http://localhost:9443") # [{'host': 'localhost', 'port': 9443}] Elasticsearch("http://user:pass@localhost:9443") # [{'host': 'localhost', 'port': 9443, 'http_auth': 'user:pass'}] Elasticsearch("http://localhost:9443/a") # [{'host': 'localhost', 'port': 9443, 'url_prefix': '/a'}] Elasticsearch("https://localhost:9443") # [{'host': 'localhost', 'port': 9443, 'use_ssl': True}]