This module allows tryton records of selected models to be exported to Elastic Search full text search engine.
Add a new configuration line to trytond.conf `[elastic_search]
server_uri=es.fulfil.io`
Add the models you want to index into document types. Administration > Elastic Search > Document Types
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.
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 {
'name': self.name,
'category': self.category.id,
'category_name': self.category.name,
}