Elasticsearch data layer for eve rest framework
Project description
Eve-Elastic is elasticsearch data layer for eve REST framework.
Features
fulltext search
filtering via elasticsearch filter dsl
facets support
elasticsearch mapping generator for schema
License
Eve-Elastic is GPLv3 licensed.
Install
$ pip install Eve-Elastic
Usage
Set elastic as your eve data layer.
import eve
from eve_elastic import Elastic
app = eve.Eve(data=Elastic)
Config
There are 2 options for Eve-Elastic taken from app.config:
ELASTICSEARCH_URL (default: 'http://localhost:9200/')
ELASTICSEARCH_INDEX - (default: 'eve')
Query params
Eve-Elastic supports eve like queries via where param which work as term filter.
On top of this, there is a predefined query_string query which does fulltext search.
$ curl http://localhost:5000/items?q=foo&df=name
q - query (default: *)
df - default field (default: _all)
Filtering
For more sophisticated filtering, you can use filter query param which will be used as filter for the query, using elastic filter dsl.
Facets
To add a facets support for specific resource, add facets into its datasource:
DOMAIN = {
'contacts': {
'datasource':
'facets': {
'urgency': {'terms': {'field': 'urgency'}},
'versioncreated': {'date_histogram': {'field': 'versioncreated', 'interval': 'hour'}}
}
}
}
You will find more info about facets in elasticsearch docs.
Changelog
0.1.8 (2014-05-29)
fix remove by lookup
0.1.7 (2014-05-28)
preserve mapping after deleting all documents for given type
0.1.6 (2014-05-09)
support source param on find
0.1.5 (2014-05-05)
fix for elastic 1.0+ fields handling
0.1.4 (2014-05-02)
make it work with elastic 1.0+
0.1.3 (2014-01-31)
allow filtering via elasticsearch filter dsl
0.1.2 (2014-01-30)
fix pip install (add missing MANIFEST file)
0.1.1 (2014-01-30)
add changelog ;)
migrate readme to rst and use it for long_description
0.1.0 (2014-01-28)
initial release
Project details
Release history Release notifications | RSS feed
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 Eve-Elastic-0.1.8.tar.gz
.
File metadata
- Download URL: Eve-Elastic-0.1.8.tar.gz
- Upload date:
- Size: 42.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e9f787403739e5171f641cfb510dc7fabecfa45f0fac59f21038df7fc4dab2d |
|
MD5 | 69422261e5919225bfd385348862fdfb |
|
BLAKE2b-256 | 9697cb96e4a6596c9fecf0a82b5658bc3386c06074a9f628b7c278ca1f766061 |