Asynchronous elasticsearch backend - part of Wallaby. The couchDB application framework.
Project description
wallaby-backend-elasticsearch
=============================
This package provides an asynchronous python interface to elasticsearch (using twisted).
Installation
============
You can install the elasticsearch backend with pip
```bash
pip install wallaby-backend-elasticsearch
```
How to use
==========
The library is based on twisted's asynchronous pattern. To use the library in an asynchronous fassion you
first need to create an reactor based application:
```python
from twisted.internet import defer
@defer.inlineCallbacks
def run():
# wait 1 second
d = defer.Deferred()
reactor.callLater(1.0, d.callback)
yield d
# stop the reactor and quit the application
reactor.stop()
from twisted.internet import reactor
reactor.callWhenRunning(run)
reactor.run()
```
Now we can connect to an existing elasticsearch cluster:
```python
@defer.inlineCallbacks
def run():
# Create elasticsearch client object
from wallaby.backends.elasticsearch import Connection
es = Connection(
baseURL="http://localhost:9200",
index="<name of index>",
username="<username>",
password="<password>",
)
# Send query
res = yield es.doQuery({
"query": {
"query_string": {
"query": "*"
}
}
})
# stop the reactor and quit the application
reactor.stop()
```
=============================
This package provides an asynchronous python interface to elasticsearch (using twisted).
Installation
============
You can install the elasticsearch backend with pip
```bash
pip install wallaby-backend-elasticsearch
```
How to use
==========
The library is based on twisted's asynchronous pattern. To use the library in an asynchronous fassion you
first need to create an reactor based application:
```python
from twisted.internet import defer
@defer.inlineCallbacks
def run():
# wait 1 second
d = defer.Deferred()
reactor.callLater(1.0, d.callback)
yield d
# stop the reactor and quit the application
reactor.stop()
from twisted.internet import reactor
reactor.callWhenRunning(run)
reactor.run()
```
Now we can connect to an existing elasticsearch cluster:
```python
@defer.inlineCallbacks
def run():
# Create elasticsearch client object
from wallaby.backends.elasticsearch import Connection
es = Connection(
baseURL="http://localhost:9200",
index="<name of index>",
username="<username>",
password="<password>",
)
# Send query
res = yield es.doQuery({
"query": {
"query_string": {
"query": "*"
}
}
})
# stop the reactor and quit the application
reactor.stop()
```
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 wallaby-backend-elasticsearch-0.1.30.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8915e02905ae8b6ed04aba64ddee8f676f82a81cc29e0b46a1c0f7f4f2efa80 |
|
MD5 | 8d11475a27157c33bbb936d4e6c413ee |
|
BLAKE2b-256 | 93228aeba21cfa380b30b4276e906b1dc8bf928c835f4baf60b9c3491e14d0fd |