Integrate Elasticsearch DSL with Django REST framework.
Project description
============================
django-elasticsearch-dsl-drf
============================
Integrate `Elasticsearch DSL
<https://pypi-hypernode.com/pypi/elasticsearch-dsl>`_ with
`Django REST framework <https://pypi-hypernode.com/pypi/djangorestframework>`_ in
the shortest way possible, with least efforts possible.
Package provides views, serializers, filter backends and other handy tools.
You are expected to use `django-elasticsearch-dsl
<https://pypi-hypernode.com/pypi/django-elasticsearch-dsl>`_ for defining your
document models.
Prerequisites
=============
- Django 1.8, 1.9, 1.10 and 1.11.
- Python 2.7, 3.4, 3.5, 3.6
- Elasticsearch 2.x, 5.x
Dependencies
============
- `django-elasticsearch-dsl <https://pypi-hypernode.com/pypi/django-elasticsearch-dsl>`_
- `djangorestframework <https://pypi-hypernode.com/pypi/djangorestframework>`_
Documentation
=============
Documentation is available on `Read the Docs
<http://django-elasticsearch-dsl-drf.readthedocs.io/>`_.
Main features and highlights
============================
- :doc:`Dynamic serializer for Documents <basic_usage_examples>`.
- :doc:`Search filter backend <advanced_usage_examples>`.
- :doc:`Ordering filter backend <advanced_usage_examples>`.
- :doc:`Filtering filter backend <advanced_usage_examples>` (big variety of
native- and functional- query lookups, such as ``gt`, ``gte``, ``lt``,
``lte``, ``ids``, ``endswith``, ``contains``, ``wildcard``, ``exists``,
``exclude``, ``isnull``, ``range``, ``in``, ``term`` and ``terms``, is implemented.
- :doc:`Faceted search filter backend <advanced_usage_examples>`.
- :doc:`Pagination (Page number and limit/offset pagination)
<advanced_usage_examples>`.
Installation
============
(1) Install latest stable version from PyPI:
.. code-block:: sh
pip install django-elasticsearch-dsl-drf
or latest stable version from GitHub:
.. code-block:: sh
pip install https://github.com/barseghyanartur/django-elasticsearch-dsl-drf/archive/stable.tar.gz
(2) Add ``rest_framework``, ``django_elasticsearch_dsl`` and
``django_elasticsearch_dsl_drf`` to ``INSTALLED_APPS``:
.. code-block:: python
INSTALLED_APPS = (
# ...
# REST framework
'rest_framework',
# Django Elasticsearch integration
'django_elasticsearch_dsl',
# Django REST framework Elasticsearch integration (this package)
'django_elasticsearch_dsl_drf',
# ...
)
Quick start
===========
Perhaps the easiest way to get acquainted with ``django-elasticsearch-dsl-drf``
is to read the :doc:`quick start tutorial <quick_start>`.
See it as a guide of diving into integration of Elasticsearch with Django
with very low knowledge entry level.
Testing
=======
Project is covered with tests.
To test with all supported Python/Django versions type:
.. code-block:: sh
tox
To test against specific environment, type:
.. code-block:: sh
tox -e py36-django110
To test just your working environment type:
.. code-block:: sh
./runtests.py
To run a single test in your working environment type:
.. code-block:: sh
./runtests.py src/django_elasticsearch_dsl_drf/tests/test_filtering.py
Or:
.. code-block:: sh
./manage.py test django_elasticsearch_dsl_drf.tests.test_ordering
It's assumed that you have all the requirements installed. If not, first
install the test requirements:
.. code-block:: sh
pip install -r examples/requirements/test.txt
Writing documentation
=====================
Keep the following hierarchy.
.. code-block:: text
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
License
=======
GPL 2.0/LGPL 2.1
Support
=======
For any issues contact me at the e-mail given in the `Author`_ section.
Author
======
Artur Barseghyan <artur.barseghyan@gmail.com>
django-elasticsearch-dsl-drf
============================
Integrate `Elasticsearch DSL
<https://pypi-hypernode.com/pypi/elasticsearch-dsl>`_ with
`Django REST framework <https://pypi-hypernode.com/pypi/djangorestframework>`_ in
the shortest way possible, with least efforts possible.
Package provides views, serializers, filter backends and other handy tools.
You are expected to use `django-elasticsearch-dsl
<https://pypi-hypernode.com/pypi/django-elasticsearch-dsl>`_ for defining your
document models.
Prerequisites
=============
- Django 1.8, 1.9, 1.10 and 1.11.
- Python 2.7, 3.4, 3.5, 3.6
- Elasticsearch 2.x, 5.x
Dependencies
============
- `django-elasticsearch-dsl <https://pypi-hypernode.com/pypi/django-elasticsearch-dsl>`_
- `djangorestframework <https://pypi-hypernode.com/pypi/djangorestframework>`_
Documentation
=============
Documentation is available on `Read the Docs
<http://django-elasticsearch-dsl-drf.readthedocs.io/>`_.
Main features and highlights
============================
- :doc:`Dynamic serializer for Documents <basic_usage_examples>`.
- :doc:`Search filter backend <advanced_usage_examples>`.
- :doc:`Ordering filter backend <advanced_usage_examples>`.
- :doc:`Filtering filter backend <advanced_usage_examples>` (big variety of
native- and functional- query lookups, such as ``gt`, ``gte``, ``lt``,
``lte``, ``ids``, ``endswith``, ``contains``, ``wildcard``, ``exists``,
``exclude``, ``isnull``, ``range``, ``in``, ``term`` and ``terms``, is implemented.
- :doc:`Faceted search filter backend <advanced_usage_examples>`.
- :doc:`Pagination (Page number and limit/offset pagination)
<advanced_usage_examples>`.
Installation
============
(1) Install latest stable version from PyPI:
.. code-block:: sh
pip install django-elasticsearch-dsl-drf
or latest stable version from GitHub:
.. code-block:: sh
pip install https://github.com/barseghyanartur/django-elasticsearch-dsl-drf/archive/stable.tar.gz
(2) Add ``rest_framework``, ``django_elasticsearch_dsl`` and
``django_elasticsearch_dsl_drf`` to ``INSTALLED_APPS``:
.. code-block:: python
INSTALLED_APPS = (
# ...
# REST framework
'rest_framework',
# Django Elasticsearch integration
'django_elasticsearch_dsl',
# Django REST framework Elasticsearch integration (this package)
'django_elasticsearch_dsl_drf',
# ...
)
Quick start
===========
Perhaps the easiest way to get acquainted with ``django-elasticsearch-dsl-drf``
is to read the :doc:`quick start tutorial <quick_start>`.
See it as a guide of diving into integration of Elasticsearch with Django
with very low knowledge entry level.
Testing
=======
Project is covered with tests.
To test with all supported Python/Django versions type:
.. code-block:: sh
tox
To test against specific environment, type:
.. code-block:: sh
tox -e py36-django110
To test just your working environment type:
.. code-block:: sh
./runtests.py
To run a single test in your working environment type:
.. code-block:: sh
./runtests.py src/django_elasticsearch_dsl_drf/tests/test_filtering.py
Or:
.. code-block:: sh
./manage.py test django_elasticsearch_dsl_drf.tests.test_ordering
It's assumed that you have all the requirements installed. If not, first
install the test requirements:
.. code-block:: sh
pip install -r examples/requirements/test.txt
Writing documentation
=====================
Keep the following hierarchy.
.. code-block:: text
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
License
=======
GPL 2.0/LGPL 2.1
Support
=======
For any issues contact me at the e-mail given in the `Author`_ section.
Author
======
Artur Barseghyan <artur.barseghyan@gmail.com>
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
Built Distribution
Close
Hashes for django-elasticsearch-dsl-drf-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b47b06aac29c263ca0a254d9e2ffb81d1021f12841f0278de1eaf1a79b7193fc |
|
MD5 | 5bd4bddb87f0a58f9e3eb82111d7b32e |
|
BLAKE2b-256 | e2a0a67ea5037b42e8de1951cd4427c81bc5beb8188dbf029037568a31f3a5ff |
Close
Hashes for django_elasticsearch_dsl_drf-0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30226d79c1e9c2facb3b0dd40fcd13fae406184bd8caaf6fee74e051874c617f |
|
MD5 | 972f5f8f9c22d0291b94e44fbeb8c599 |
|
BLAKE2b-256 | 5d410546209b9e8c3bfbf8eab6db0eb3711f087dab50aa2df10c707c8849292b |