creates all the indicies that are defined in the rdf definitions

        kwargs:
            action: which action is to be perfomed
                    initialize: (default) tests to see if the index exisits
                                if not creates it
                    reset: deletes all of the indexes and recreate them
                    update: starts a mapping update and reindexing process

def initialize_indices(self, **kwargs):
        """
        creates all the indicies that are defined in the rdf definitions

        kwargs:
            action: which action is to be perfomed
                    initialize: (default) tests to see if the index exisits
                                if not creates it
                    reset: deletes all of the indexes and recreate them
                    update: starts a mapping update and reindexing process
        """
        action = kwargs.get('action', 'initialize')
        if action == 'update':
            kwargs['reset_idx'] = False
        elif action =='reset':
            kwargs['reset_idx'] = True

        idx_list = self.list_indexes()
        for idx, values in idx_list.items():
            if (action == 'initialize' and not self.es.indices.exists(idx)) \
                or action != 'initialize':
                self.send_es_mapping(self.get_rdf_es_idx_map({idx: values}),
                                     **kwargs)