예제 #1
0
 def test_mapping_initialization(self):
     initialize_index_and_mapping(self.es, TEST_INDEX_INFO)
     self.assertTrue(mapping_exists(self.es, TEST_INDEX_INFO))
     mapping = get_index_mapping(self.es, self.index, TEST_INDEX_INFO.type)
     # we can't compare the whole dicts because ES adds a bunch of stuff to them
     self.assertEqual(
         transform_for_es7(
             TEST_INDEX_INFO.mapping)['properties']['doc_type'],
         mapping['properties']['doc_type'])
예제 #2
0
def initialize_index(es, index_info):
    index = index_info.index
    mapping = index_info.mapping
    mapping['_meta']['created'] = datetime.isoformat(datetime.utcnow())
    meta = copy(index_info.meta)
    if settings.ELASTICSEARCH_MAJOR_VERSION == 7:
        mapping = transform_for_es7(mapping)
        meta.update({'mappings': mapping})
    else:
        meta.update({'mappings': {index_info.type: mapping}})

    pillow_logging.info("Initializing elasticsearch index for [%s]" % index_info.type)
    es.indices.create(index=index, body=meta)
    set_index_normal_settings(es, index)
예제 #3
0
 def put_mapping(self, doc_type, mapping, index):
     mapping = transform_for_es7(mapping)
     return self.es.indices.put_mapping(mapping, index=index)