Skip to main content

Simple ElasticSearch indexing integration for Django.

Project description

===========================
Django Simple Elasticsearch
===========================

.. image:: https://badge.fury.io/py/django-simple-elasticsearch.png
:target: http://badge.fury.io/py/django-simple-elasticsearch

.. image:: https://travis-ci.org/jaddison/django-simple-elasticsearch.png?branch=master
:target: https://travis-ci.org/jaddison/django-simple-elasticsearch

.. image:: https://coveralls.io/repos/jaddison/django-simple-elasticsearch/badge.png
:target: https://coveralls.io/r/jaddison/django-simple-elasticsearch

.. image:: https://pypip.in/d/django-simple-elasticsearch/badge.png
:target: https://pypi.python.org/pypi/django-simple-elasticsearch


This package provides a simple method of creating Elasticsearch indexes for
Django models.

**Using a version older than 0.9.0? Please be aware that as of v0.9.0, this package
has changed in a backwards-incompatible manner. Version 0.5 is deprecated and no
longer maintained.**

-----

Documentation
-------------

Visit the `django-simple-elasticsearch documentation on ReadTheDocs <http://django-simple-elasticsearch.readthedocs.org/>`_.

Features
--------

* class mixin with a set of :code:`@classmethods` used to handle:
* type mapping definition
* individual object indexing and deletion
* bulk object indexing
* model signal handlers for pre/post_save and pre/post_delete (optional)
* management command to handle index/type mapping initialization and bulk indexing
* uses Elasticsearch aliases to ease the burden of re-indexing
* small set of Django classes and functions to help deal with Elasticsearch querying
* base search form class to handle input validation, query preparation and response handling
* multi-search processor class to batch multiple Elasticsearch queries via :code:`_msearch`
* 'get' shortcut functions
* post index create/rebuild signals available to perform actions after certain stages (ie. add your own percolators)

Installation
------------

At the command line::

$ easy_install django-simple-elasticsearch

Or::

$ pip install django-simple-elasticsearch

License
-------

**django-simple-elasticsearch** is licensed as free software under the BSD license.

Todo
----

* Review search classes - simplify functionality where possible. This may cause breaking changes.
* Tests. Write them.
* Documentation. Write it.




History
-------

0.9.16 (2015-04-24)
---------------------

* Addressing Django 1.8 warnings.

0.9.15 (2015-01-31)
---------------------

* BUGFIX: Merging pull request from @key that addresses Python 3 support (management command now works).

0.9.14 (2015-01-31)
---------------------

* BUGFIX: Adding in missing `signals.py` file.

0.9.13 (2015-01-30)
---------------------

* Added in new `post_indices_create` and `post_indices_rebuild` signals to allow users to run actions at various points during the index creation and bulk indexing processes.

0.9.12 (2014-12-17)
---------------------

* fixed an issue where per-item request parameters were being added to the bulk data request JSON incorrectly. Tests updated.

0.9.11 (2014-12-08)
---------------------

* added warning if Django's DEBUG=True (causes out of memory errors on constrained
systems due to Django query caching)
* added index setting modification on rebuilding indices to remove replicas, lucene
segment merging and disabling the refresh interval - restoring the original
settings afterwards.

0.9.10 (2014-12-04)
---------------------

* added `page` and `page_size` validation in `add_search()`

0.9.9 (2014-11-24)
---------------------

* Renamed search form related classes - more breaking changes. Added in support
for Django's pagination classes (internal hack).

0.9.8 (2014-11-23)
---------------------

* Revamped search form related classes - includes breaking changes.

0.9.7 (2014-11-16)
---------------------

* Python3 supported mentioned in PyPi categorization; new testcases added. Minor
interface change (added `@classmethod`).

0.9.6 (2014-11-16)
---------------------

* Python 3.3+ support, modified (no new) testcases.

0.9.5 (2014-11-15)
---------------------

* Added in tox support, initial set of test cases and verified travis-ci is working.

0.9.2 (2014-11-12)
---------------------

* Fixed broken management command.

0.9.1 (2014-11-10)
---------------------

* Added missing management command module.

0.9.0 (2014-11-10)
---------------------

* In what will become version 1.0, this 0.9.x codebase is a revamp of the
original codebase (v0.5.x). Completely breaking over previous versions.

0.5.0 (2014-03-05)
---------------------

Final release in 0.x codebase - this old codebase is now unmaintained.

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

django-simple-elasticsearch-0.9.16.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_simple_elasticsearch-0.9.16-py2.py3-none-any.whl (19.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-simple-elasticsearch-0.9.16.tar.gz.

File metadata

File hashes

Hashes for django-simple-elasticsearch-0.9.16.tar.gz
Algorithm Hash digest
SHA256 9d5b191df5628b9e030193782853ff5e0c9b9cbfdbd685b9ab4ae3b0047541eb
MD5 28812f0b2e5f796f6dab6d4f653bc899
BLAKE2b-256 a14fcc7e7817410310d6b6b16ad1fae9afddf1234fe75bf38d1033879191fdd4

See more details on using hashes here.

File details

Details for the file django_simple_elasticsearch-0.9.16-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_simple_elasticsearch-0.9.16-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 667810dca0efe26272ef02f203b407423fe4aaf1381fa98663e30d7fa931b40b
MD5 c0d4003155d9b089f77d7acf91e76e7a
BLAKE2b-256 9420d1d8cf858e79fc004cacacd1211d4540521450089fd9fe6904da92002805

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page