Metadata-Version: 1.1
Name: trytond-elastic-search
Version: 3.4.1.0
Summary: Tryton module for Elastic Search
Home-page: https://github.com/openlabs/trytond-elastic-search
Author: Tryton
Author-email: info@openlabs.co.in
License: GPL-3
Description: Elastic Search Full Text Search Integration
        ===========================================
        
        This module allows tryton records of selected models to be exported to
        `Elastic Search <http://www.elasticsearch.org/>`_ full text search engine.
        
        .. image:: https://travis-ci.org/openlabs/trytond-elastic-search.png?branch=develop
           :target: https://travis-ci.org/openlabs/trytond-elastic-search
        
        
        Configuration
        -------------
        
        1. Add a new configuration line to trytond.conf
           `elastic_search_server=es.openlabs.co.in`
        2. Add the models you want to index into document types. `Administration >
           Elastic Search > Document Types`
        
        
        How it works
        ------------
        
        The module adds an `Index Backlog` table to which records that need
        synchronisation with Elastic Search are added. 
        
        A tryton CRON task which runs every 1 minute (by default) looks into
        the backlog index and makes the corresponding update to elastic search.
        
        Records, that are deleted are deleted from the index.
        
        Defining what information gets indexed
        ``````````````````````````````````````
        
        By default the only information indexed from a record is the `rec_name` of
        the record. If you need more information to be sent, that is possible by
        defining a new method called `elastic_search_json` in the model in a
        custom module and it will be used instead of just `rec_name`. An example
        of such a method in the product model is below.
        
        
        .. code-block:: python
        
            __metaclass__ = PoolMeta
        
            class Product:
                __name__ = "product.product"
        
                def elastic_search_json(self):
                    """
                    Return a JSON serializable dictionary of values
                    that need to be indexed by the search engine
                    """
                    return {
                        'name': self.name,
                        'category': self.category.id,
                        'category_name': self.category.name,
                    }
        
        
        Can I use this in production ?
        ``````````````````````````````
        
        Yes and No.
        
        Yes because:
        
          * We use this in production, on a couple of implementations but we are
            still learning from the results.
        
        No because:
        
          * There are no tests yet!
          * We (`Openlabs <http://openlabs.co.in>`_) might chnage the API in
            future.
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Legal Industry
Classifier: Intended Audience :: Manufacturing
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
