Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Python connector for ElasticSearch - the pythonic way to use ElasticSearch
Python CSS Other

Merge pull request #482 from lextoumbourou/master

Fixed small bug in partial_update method.
latest commit a3a1f5efb3
Alberto Paro authored

pyes - Python ElasticSearch


pyes is a pythonic way to use ElasticSearch since 2010.

This version requires elasticsearch 1.x or above. It's a pre release for pyes 1.x. Give a look to migrations documentation to upgrade you code for ElasticSearch 1.x.

We are working to provide full support to ElasticSearch 1.x (check the develop branch: we are using the git-flow workflow) that'll have:

  • connection based on Official ElasticSearch client ??
  • full support to ElasticSearch 1.x (removed old support due incompatibility with old version of ES)
  • migration from multi_field to >field>.fields
  • refactory of old code to be more pythonic
  • performance improvements


  • Python3 support (only HTTP, thrift lib is not available on python3)
  • Thrift/HTTP protocols
  • Bulk insert/delete
  • Index management
  • Every search query types
  • Facet Support
  • Aggregation Support
  • Geolocalization support
  • Highlighting
  • Percolator
  • River support


v. 0.99.0:

Migrated many code to ElasticSearch 1.x

Full coverage for actual queries

v. 0.99:

Added aggregation

Fix for python3 compatibility

Upgraded code to use ElasticSearch 1.x or above

v. 0.90.1:

Bug Fix releases for some python3 introduced regression

v. 0.90.0:

A lot of improvements.

Python 3 support.

Migration to version 0.99

CustomScoreQuery has been removed. The FunctionScoreQuery with its functions cover the previous functionalities. For scripting use ScriptScoreFunction.


  • much more documentation
  • add coverage
  • add jython native client protocol


This software is licensed under the New BSD License. See the LICENSE file in the top distribution directory for the full license text.

Something went wrong with that request. Please try again.