Sto cercando di astrarre il client python elasticsearch.
Ho un documento indice del metodo
def index(self, body, id=None):
"""
Inserts one document into elasticsaerch.
If id is None then it will autogenerate the id.
:param self:
:param body:
:param id=None:
"""
try:
response = self.__client.index(
self.__index, self.__doc_type, body, id)
except Exception as e:
print str(e)
print traceback.print_exc()
Elasticsearch restituisce una risposta del tipo:
{u'_type': u'category', u'_shards': {u'successful': 1, u'failed': 0, u'total': 2}, u'_index': u'catalog-2017-12-07', u'_version': 1, u'created': True, u'result': u'created', u'_id': u'AWA7N75WNaGquN-GGszi'}
Ho messo un try catch all'interno della mia classe Facade per gestire se il documento non può essere indicizzato per qualsiasi motivo.
Sono confuso riguardo
1 - registra gli errori in questa classe stessa o informa la mia classe del cliente a riguardo rilanciando l'eccezione
2 - restituisce semplicemente True / False al client