diff --git a/arkindex/documents/indexer.py b/arkindex/documents/indexer.py index b838eecf5a6c355069f84db3212dfbcc53699f15..b48ec44296ebfa5dd306fadfc4352f06ea894d16 100644 --- a/arkindex/documents/indexer.py +++ b/arkindex/documents/indexer.py @@ -186,8 +186,11 @@ class Indexer(object): """ Drop an existing collection """ - solr.delete_doc_by_query(self.collection_name, '*:*', **self.solr_options) - logger.info(f'Dropped index for {self.collection_name}') + if solr.collections.exists(self.collection_name): + solr.delete_doc_by_query(self.collection_name, '*:*', **self.solr_options) + logger.info(f'Dropped index for {self.collection_name}') + else: + logger.info(f'Skipping drop for {self.collection_name}: collection does not exist') def get_elements(self): # First make the query that returns all indexable elements. diff --git a/arkindex/documents/management/commands/reindex.py b/arkindex/documents/management/commands/reindex.py index aafa67ce3b56c55ba1c1678696ce0ac7fde84d06..e0e6c95fe818f80356ef9ef4a889067ae88c3e39 100644 --- a/arkindex/documents/management/commands/reindex.py +++ b/arkindex/documents/management/commands/reindex.py @@ -48,9 +48,9 @@ class Command(BaseCommand): for corpus in corpora: self.stdout.write(f"Indexing {corpus.name}") indexer = Indexer(corpus.id) - indexer.setup() - if options.get('setup'): - return if options.get('drop'): indexer.drop_index() + indexer.setup() + if options.get('setup'): + continue indexer.index()