Metadata-Version: 1.1
Name: django-simple-elasticsearch
Version: 2.1.7
Summary: Simple ElasticSearch indexing integration for Django.
Home-page: https://github.com/jaddison/django-simple-elasticsearch
Author: James Addison
Author-email: addi00+github.com@gmail.com
License: BSD
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=1.x
          :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
        
        
        This package provides a simple method of creating Elasticsearch indexes for
        Django models.
        
        -----
        
        Versions
        --------
        
        Branch :code:`master` targets both Elasticsearch 2.x and 5.x and will receive new
        features. Both `elasticsearch-py` 2.x and 5.x Python modules are currently
        supported. `Documentation <http://django-simple-elasticsearch.readthedocs.io/>`_
        
        Branch :code:`1.x` is the maintenance branch for the legacy 0.9.x versioned releases,
        which targeted Elasticsearch versions less than 2.0. This branch is unlikely to
        receive new features, but will receive required fixes.
        `Documentation <http://django-simple-elasticsearch.readthedocs.io/en/1.x/>`_
        
        **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
        
        Configuring
        -----------
        
        Add the simple_elasticsearch application to your INSTALLED_APPS list::
        
            INSTALLED_APPS = (
                ...
                'simple_elasticsearch',
            )
        
        Add any models to `ELASTICSEARCH_TYPE_CLASSES` setting for indexing using **es_manage** management command::
        
            ELASTICSEARCH_TYPE_CLASSES = [
                'blog.models.BlogPost'
            ]
        
        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
        -------
        
        2.1.7 (2017-03-21)
        ---------------------
        
        * Allowing direct access (again) to underlying dict/list in `Result` and `Response` classes for serialization and other purposes.
        
        2.1.5 (2017-03-20)
        ---------------------
        
        * Response class is now MutableSequence based, giving it the properties of a `list`. Its `results` attribute is deprecated, as you can now iterate over the results with the response instance itself.
        * Result class `results_meta` is deprecated. Use `meta` instead.
        * `get_from_es_or_None` now returns a `Result` object instead of the raw Elasticsearch result, for consistency.
        * `get_from_es_or_None` now catches only the Elasticsearch `NotFoundError` exception; previously it caught the more expansive `ElasticsearchException`, which could hide unrelated errors/issues.
        
        2.1.4 (2017-03-12)
        ---------------------
        
        * Result class is now MutableMapping based, giving it the properties of a `dict`. Its `data` attribute is deprecated.
        
        2.1.3 (2017-03-11)
        ---------------------
        
        * Minor changes to enable support for elasticsearch-py 5.x.
        
        2.1.0 (2017-03-10)
        ---------------------
        
        * Addressing a packaging problem which erroneously included pyc/__pycache__ files.
        
        2.0.0 (2016-12-20)
        ---------------------
        
        * **ALERT: this is a backwards incompatible release**; the old `1.x` (formerly `0.9.x`+) code is maintained on a separate branch for now.
        * Added support for Django 1.10.
        * Ported delete/cleanup functionality from `1.x`.
        * Removed support for Django versions older than 1.8. The goal going forward will be to only support Django versions that the Django core team lists as supported.
        * Removed elasticsearch-dsl support: responses and results are now represented by simpler internal representations; queries can ONLY be done via a `dict` form.
        * Removed `ElasticsearchForm` - it is easy enough to build a form to validate search input and then form a query `dict` manually.
        * Renamed `ElasticsearchIndexMixin` to `ElasticsearchTypeMixin`, seeing as the mixin represented an ES type mapping, not an actual index.
        * Renamed `ElasticsearchProcessor` to `SimpleSearch`.
        * Overall, this module has been greatly simplified.
        
        1.0.0 (2016-12-20)
        ---------------------
        
        * Updated 0.9.x codebase version to 1.0.0.
        * Reversed decision on the deprecation of the 0.9.x codebase - it will be maintained in this new 1.x branch, although new functionality will mostly occur on newer releases.
        * Adding cleanup command to remove unaliased indices.
        * Added ELASTICSEARCH_DELETE_OLD_INDEXES setting to auto-remove after a rebuild.
        * Thanks to Github user @jimjkelly for the index removal inspiration.
        
        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.
        
Keywords: django simple elasticsearch search indexing
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Intended Audience :: Developers
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python
Classifier: Framework :: Django
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
