skip to navigation
skip to content


Tryton module for Elastic Search

Latest Version:

This module allows tryton records of selected models to be exported to Elastic Search full text search engine.


  1. Add a new configuration line to trytond.conf
  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.

__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 {

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) might chnage the API in future.
File Type Py Version Uploaded on Size
trytond_elastic_search- (md5) Source 2014-08-27 10KB