def create_index(new_index, alias, settings): """Creates a mapping for the new index. - new_index: new index name - alias: alias name - settings: a dictionary of settings """ sys.stdout.write( 'Create the mapping for index %r, alias: %r' % (new_index, alias)) # Update settings with mapping. settings = { 'settings': settings, 'mappings': WebappIndexer.get_mapping(), } # Create index and mapping. try: ES.create_index(new_index, settings) except pyelasticsearch.exceptions.IndexAlreadyExistsError: raise CommandError('New index [%s] already exists' % new_index) # Don't return until the health is green. By default waits for 30s. ES.health(new_index, wait_for_status='green', wait_for_relocating_shards=0)
def create_index(new_index, alias, settings): """Creates a mapping for the new index. - new_index: new index name - alias: alias name - settings: a dictionary of settings """ sys.stdout.write('Create the mapping for index %r, alias: %r' % (new_index, alias)) # Update settings with mapping. settings = { 'settings': settings, 'mappings': WebappIndexer.get_mapping(), } # Create index and mapping. try: ES.create_index(new_index, settings) except pyelasticsearch.exceptions.IndexAlreadyExistsError: raise CommandError('New index [%s] already exists' % new_index) # Don't return until the health is green. By default waits for 30s. ES.health(new_index, wait_for_status='green', wait_for_relocating_shards=0)
def test_mapping_properties(self): # Spot check a few of the key properties. mapping = WebappIndexer.get_mapping() keys = mapping['webapp']['properties'].keys() for k in ('id', 'app_slug', 'category', 'default_locale', 'description', 'device', 'features', 'name', 'status'): ok_(k in keys, 'Key %s not found in mapping properties' % k)
def test_mapping(self): mapping = WebappIndexer.get_mapping() eq_(mapping.keys(), ['webapp']) eq_(mapping['webapp']['_all'], {'enabled': False}) eq_(mapping['webapp']['_boost'], {'name': '_boost', 'null_value': 1.0})