Elasticsearch data layer for eve rest framework
Project description
Eve-Elastic
===========
.. image:: https://travis-ci.org/petrjasek/eve-elastic.png?branch=master
:target: https://travis-ci.org/petrjasek/eve-elastic
Eve-Elastic is `elasticsearch <http://www.elasticsearch.org>`_ data layer for `eve REST framework <http://python-eve.org>`_.
Features
--------
- fulltext search
- filtering via elasticsearch filter dsl
- facets support
- elasticsearch mapping generator for schema
License
-------
Eve-Elastic is `GPLv3 <http://www.gnu.org/licenses/gpl-3.0.txt>`_ licensed.
Install
-------
.. code-block:: bash
$ pip install Eve-Elastic
Usage
-----
Set elastic as your eve data layer.
.. code-block:: python
import eve
form 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'``)
Filter DSL
~~~~~~~~~~
For more sophisticated filtering, you can use ``filter`` query param which will be used as filter for the query, using elastic `filter dsl <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filters.html>`_.
Facets
------
To add a facets support for specific resource, add ``facets`` into its ``datasource``:
.. code-block:: python
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 <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets.html>`_.
.. :changelog:
Changelog
---------
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
===========
.. image:: https://travis-ci.org/petrjasek/eve-elastic.png?branch=master
:target: https://travis-ci.org/petrjasek/eve-elastic
Eve-Elastic is `elasticsearch <http://www.elasticsearch.org>`_ data layer for `eve REST framework <http://python-eve.org>`_.
Features
--------
- fulltext search
- filtering via elasticsearch filter dsl
- facets support
- elasticsearch mapping generator for schema
License
-------
Eve-Elastic is `GPLv3 <http://www.gnu.org/licenses/gpl-3.0.txt>`_ licensed.
Install
-------
.. code-block:: bash
$ pip install Eve-Elastic
Usage
-----
Set elastic as your eve data layer.
.. code-block:: python
import eve
form 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'``)
Filter DSL
~~~~~~~~~~
For more sophisticated filtering, you can use ``filter`` query param which will be used as filter for the query, using elastic `filter dsl <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filters.html>`_.
Facets
------
To add a facets support for specific resource, add ``facets`` into its ``datasource``:
.. code-block:: python
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 <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets.html>`_.
.. :changelog:
Changelog
---------
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
Eve-Elastic-0.1.3b2.tar.gz
(41.0 kB
view details)
File details
Details for the file Eve-Elastic-0.1.3b2.tar.gz
.
File metadata
- Download URL: Eve-Elastic-0.1.3b2.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e854c752a33bf9653751a8db5a66bbfff05aea9f23d5c68fbb077e4e7c0fbff |
|
MD5 | bd14d5fb288488be951146698f028ab1 |
|
BLAKE2b-256 | 1027fc7bf1abe18f8014acb545acd81b4aab535cc10a74ea8de826b3cd6d30a7 |