Ejemplo n.º 1
0
 def __init__(self, **config):
     super(ElasticsearchProcessor, self).__init__(**config)
     es_config = docido_config.elasticsearch
     service = config['service']
     fmt = {'service': service}
     self.__es_index = es_config.ES_INDEX.format(**fmt)
     self.__es_store_index = es_config.ES_STORE_INDEX.format(**fmt)
     self.__card_type = es_config.ES_CARD_TYPE.format(**fmt)
     self.__store_type = es_config.ES_STORE_TYPE.format(**fmt)
     self.__routing = config.get('elasticsearch', {}).get('routing')
     self.__es = _Elasticsearch(es_config.ES_HOST,
                                **es_config.get('connection_params', {}))
     self.__es_store = _Elasticsearch(
         es_config.ES_HOST, **es_config.get('connection_params', {}))
Ejemplo n.º 2
0
 def __init__(self, **config):
     super(ElasticsearchProcessor, self).__init__(**config)
     es_config = docido_config.elasticsearch
     service = config['service']
     fmt = {'service': service}
     self.__es_index = es_config.ES_INDEX.format(**fmt)
     self.__es_store_index = es_config.ES_STORE_INDEX.format(**fmt)
     self.__card_type = es_config.ES_CARD_TYPE.format(**fmt)
     self.__store_type = es_config.ES_STORE_TYPE.format(**fmt)
     self.__routing = config.get('elasticsearch', {}).get('routing')
     self.__es = _Elasticsearch(
         es_config.ES_HOST,
         **es_config.get('connection_params', {})
     )
     self.__es_store = _Elasticsearch(
         es_config.ES_HOST,
         **es_config.get('connection_params', {})
     )
Ejemplo n.º 3
0
 def tearDownClass(cls):
     es_config = config.elasticsearch
     es = _Elasticsearch(es_config.ES_HOST)
     if es.indices.exists(es_config.ES_INDEX):
         try:
             es.indices.delete_mapping(
                 index=es_config.ES_INDEX,
                 doc_type=es_config.ES_CARD_TYPE
             )
         except:
             pass
         es.indices.delete(es_config.ES_INDEX)
     config._pop()
Ejemplo n.º 4
0
 def test_without_elasticsearch_mapping_config(self):
     try:
         mapping = config.elasticsearch.MAPPING
         config.elasticsearch.pop('MAPPING')
         es = _Elasticsearch(config.elasticsearch.ES_HOST)
         es_index = config.elasticsearch.ES_INDEX
         es_type = config.elasticsearch.ES_CARD_TYPE
         if es.indices.exists(es_index):
             es.indices.delete(es_index)
         ElasticsearchMappingProcessor(service='a_service')
         self.assertTrue(es.indices.exists(es_index))
         mapping = es.indices.get_mapping(index=es_index, doc_type=es_type)
         self.assertFalse(es_index in mapping)
     finally:
         config.elasticsearch.MAPPING = mapping
Ejemplo n.º 5
0
 def update_mapping(self, service):
     config = docido_config.elasticsearch
     es = _Elasticsearch(
         os.getenv('ELASTICSEARCH_HOST', config.ES_HOST),
         **config.get('connection_params', {})
     )
     to_update_mappings = [
         (config.ES_INDEX, config.ES_CARD_TYPE),
     ]
     if config.get('ES_STORE_INDEX') and config.get('ES_STORE_TYPE'):
         to_update_mappings.append(
             (config.ES_STORE_INDEX, config.ES_STORE_TYPE)
         )
     for (index, doc_type) in to_update_mappings:
         self.__update_index_mapping(es, service, index, doc_type)
Ejemplo n.º 6
0
 def test_without_elasticsearch_index(self):
     es = _Elasticsearch(config.elasticsearch.ES_HOST)
     es_index = config.elasticsearch.ES_INDEX
     es_type = config.elasticsearch.ES_CARD_TYPE
     if es.indices.exists(es_index):
         es.indices.delete(es_index)
     self.assertFalse(es.indices.exists(es_index))
     ElasticsearchMappingProcessor(service='a_service')
     self.assertTrue(es.indices.exists(es_index))
     mapping = es.indices.get_mapping(index=es_index, doc_type=es_type)
     self.assertTrue(es_index in mapping)
     mappings = mapping[es_index]['mappings']
     self.assertTrue(es_type in mappings)
     doc_type_mapping = mappings[es_type]
     self.assertIsNotNone(doc_type_mapping)
     self.assertNotEquals(doc_type_mapping, {})