bulk
helpers now extractpipeline
parameter from the action dictionary.
Compatibility with elasticsearch 5.3
The client now automatically sends Content-Type
http header set to
application/json
. If you are explicitly passing in other encoding than
json
you need to set the header manually.
- Fixed sniffing
Fixed performance regression in scan
helper
Version compatible with elasticsearch 5.0
- when using SSL certificate validation is now on by default. Install
certifi
or supply root certificate bundle.elasticsearch.trace
logger now also logs failed requests, signature of internal logging methodlog_request_fail
has changed, all custom connection classes need to be updated- added
headers
arg to connections to support custom http headers- passing in a keyword parameter with
None
as value will cause that param to be ignored
ping
now ignores allTransportError
exceptions and just returnsFalse
- expose
scroll_id
onScanError
- increase default size for
scan
helper to 1000
Internal:
- changed
Transport.perform_request
to just return the body, not status as well.
- added
client_key
argument to configure client certificates- debug logging now includes response body even for failed requests
Due to change in json encoding the client will no longer mask issues with
encoding - if you work with non-ascii data in python 2 you must use the
unicode
type or have proper encoding set in your environment.
- adding additional options for ssh -
ssl_assert_hostname
andssl_assert_fingerprint
to the default connection class- fix sniffing
- move multiprocessing import inside parallel bulk for Google App Engine
- Elasticsearch 2.0 compatibility release
- removed thrift and memcached connections, if you wish to continue using those, extract the classes and use them separately.
- added a new, parallel version of the bulk helper using thread pools
- In helpers, removed
bulk_index
as an alias forbulk
. Usebulk
instead.
- elasticsearch 2.0 compatibility
- thrift now deprecated, to be removed in future version
- make sure urllib3 always uses keep-alive
- Add
indices.flush_synced
APIhelpers.reindex
now supports reindexing parent/child documents
- Add support for
query_cache
parameter when searching- helpers have been made more secure by changing defaults to raise an exception on errors
- removed deprecated options
replication
and the deprecated benchmark api.- Added
AddonClient
class to allow for extending the client from outside
- Using insecure SSL configuration (
verify_cert=False
) raises a warningreindex
accepts aquery
parameter- enable
reindex
helper to accept any kwargs for underlyingbulk
andscan
calls- when doing an initial sniff (via
sniff_on_start
) ignore special sniff timeout- option to treat
TransportError
as normal failure inbulk
helpers- fixed an issue with sniffing when only a single host was passed in
- Timeout now doesn't trigger a retry by default (can be overriden by setting
retry_on_timeout=True
)- Introduced new parameter
retry_on_status
(defaulting to(503, 504, )
) controls which http status code should lead to a retry.- Implemented url parsing according to RFC-1738
- Added support for proper SSL certificate handling
- Required parameters are now checked for non-empty values
- ConnectionPool now checks if any connections were defined
- DummyConnectionPool introduced when no load balancing is needed (only one connection defined)
- Fixed a race condition in ConnectionPool
Compatibility with newest (1.3) Elasticsearch APIs.
- Filter out master-only nodes when sniffing
- Improved docs and error messages
Bugfix release fixing escaping issues with request_timeout
.
Compatibility with newest Elasticsearch APIs.
- Test helpers -
ElasticsearchTestCase
andget_test_client
for use in your tests- Python 3.2 compatibility
- Use
simplejson
if installed instead of stdlib json library- Introducing a global
request_timeout
parameter for per-call timeout- Bug fixes
Elasticsearch 1.0 compatibility. See 0.4.X releases (and 0.4 branch) for code compatible with 0.90 elasticsearch.
- major breaking change - compatible with 1.0 elasticsearch releases only!
- Add an option to change the timeout used for sniff requests (
sniff_timeout
).- empty responses from the server are now returned as empty strings instead of None
get_alias
now hasname
as another optional parameter due to issue #4539 in es repo. Note that the order of params have changed so if you are not using keyword arguments this is a breaking change.
helpers.bulk_index
renamed tohelpers.bulk
(alias put in place for backwards compatibility, to be removed in future versions)- Added
helpers.streaming_bulk
to consume an iterator and yield results per operationhelpers.bulk
andhelpers.streaming_bulk
are no longer limited to just index operations.- unicode body (for
incices.analyze
for example) is now handled correctly- changed
perform_request
onConnection
classes to return headers as well. This is a backwards incompatible change for people who have developed their own connection class.- changed deserialization mechanics. Users who provided their own serializer that didn't extend
JSONSerializer
need to specify amimetype
class attribute.- minor bug fixes
- Fixes to
helpers.bulk_index
, better error handling- More benevolent
hosts
argument parsing forElasticsearch
requests
no longer required (nor recommended) for install
ignore
param accepted by all APIs- Fixes to
helpers.bulk_index
Initial release.