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'])
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)
def put_mapping(self, doc_type, mapping, index): mapping = transform_for_es7(mapping) return self.es.indices.put_mapping(mapping, index=index)