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).
For more information on wallaby visit http://wlby.freshx.de
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).
For more information on wallaby visit http://wlby.freshx.de
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
File details
Details for the file wallaby-backend-elasticsearch-0.1.31.tar.gz
.
File metadata
- Download URL: wallaby-backend-elasticsearch-0.1.31.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a6fa1c7b562914b81e7b4a29321e8b0e112ce2ff0d3121da3c8d66aeb994261 |
|
MD5 | 72de208ac46087b7b338f432aa3c057a |
|
BLAKE2b-256 | ddc9cd0744ad25bedd18d76528e4c1ee72def579ecf4fbffa1c40533ee21d598 |