aioes is a asyncio compatible library for working with ElasticSearch
Read aioes documentation on Read The Docs: http://aioes.readthedocs.org/
import asyncio from aioes import Elasticsearch @asyncio.coroutine def go(): es = Elasticsearch(['localhost:9200']) ret = yield from es.create(index="my-index", doc_type="test-type", id=42, body={"str": "data", "int": 1}) assert (ret == {'_id': '42', '_index': 'my-index', '_type': 'test-type', '_version': 1, 'ok': True}) answer = yield from es.get(index="my-index", doc_type="test-type", id=42) assert answer['_source'] == {'str': 'data', 'int': 1} loop = asyncio.get_event_loop() loop.run_until_complete(go())
Make sure you have an instance of elastic-search running on port 9200 before executing the tests.
In order for all tests to work you need to add the following lines in the config/elasticsearch.yml configuration file:
Enable groovy scripts:
script.groovy.sandbox.enabled: true
Set a repository path:
path.repo: ["/tmp"]
The test suite uses nose, to execute:
nosetests tests
aioes is offered under the BSD license.