Extends the official Elasticsearch Python API adding Tornado AsyncHTTPClient support
Project description
Extends the official Elasticsearch Python API adding Tornado AsyncHTTPClient support.
Installation
tornado_elasticsearch is available on the Python Package Index and can be installed using pip or easy_install:
pip install tornado_elasticsearch
Example Request Handlers
from tornado import gen
from tornado import web
from tornado_elasticsearch import AsyncElasticsearch
import uuid
class Example(web.RequestHandler):
def initialize(self):
self.es = AsyncElasticsearch()
@web.asynchronous
@gen.engine
def delete(self, *args, **kwargs):
result = yield self.es.delete(index='test-index', doc_type='tweet',
id=self.get_argument('id'))
self.finish(result)
@web.asynchronous
@gen.engine
def get(self, *args, **kwargs):
if self.get_argument('id', None):
result = yield self.es.get(index='test-index', doc_type='tweet',
id=self.get_argument('id'))
else:
result = yield self.es.search(index='test-index')
self.finish(result)
@web.asynchronous
@gen.engine
def post(self, *args, **kwargs):
doc = {
'author': self.get_current_user() or 'Unknown',
'text': self.get_argument('text'),
'timestamp': datetime.datetime.now()
}
result = yield self.es.index(index='test-index',
doc_type='tweet',
body=doc,
id=str(uuid.uuid4()))
self.finish(result)
class Info(web.RequestHandler):
@web.asynchronous
@gen.engine
def get(self, *args, **kwargs):
es = AsyncElasticsearch()
info = yield es.info()
self.finish(info)
Version History
0.3.0: Bugfix: Add body to log_request_fail call (#1)
0.2.0: Bugfix: force method to POST if GET and body passed
0.1.0: Initial version
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for tornado_elasticsearch-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e0ace34fa114ad20c4ee210864e2f4535ef33e2f74b0e951d156a6c59942d0b |
|
MD5 | 4812010970fe83e7061c0833cc7c160b |
|
BLAKE2b-256 | cb09fe82d86c536cd97c75a1b9d53027638fac71e98d66d36eb350d487a05989 |