Skip to content
Python connector for ElasticSearch - the pythonic way to use ElasticSearch
Python Other
Find file
Latest commit d146d7c @aparo Merge pull request #502 from patilvikram/master
Added ids field to MoreLikeThisQuery
Failed to load latest commit information.
contrib/mailman Added contrib mailman indexing
docs Update queries.rst: Grammar fix
performance Fixed namespace errors
pyes Updated code to handle default arguments correctly
scripts Migrated StringQuery -> QueryStringQuery to use ES naming convention
tests Merge pull request #466 from holm/master
.gitignore Moved tests outside pyes code dir. Update references. Upgraded test e…
AUTHORS Updated documentation
Changelog Updated documentation
FAQ Updated documentation
INSTALL fixed some file permissions
LICENSE fixed some file permissions fixed some file permissions
README added thrift support Update
README.rst Update README.rst
THANKS fixed some file permissions
TODO fixed some file permissions Updated es script to 1.7.3 Fixed some tests. Improved migration script. Moved tests outside pyes code dir. Update references. Upgraded test e…
requirements_develop.txt Added thrift for unit testing requirements
setup.cfg Moved tests outside pyes code dir. Update references. Upgraded test e… fix OrderedDict ImportError with Python < 2.7

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.