From c8f459db427826c097d2c3a1759ff4f537e56e54 Mon Sep 17 00:00:00 2001 From: Erwan Rouchet <rouchet@teklia.com> Date: Thu, 24 Nov 2022 10:41:11 +0000 Subject: [PATCH] Drop Solr collections before re-creating them in manage.py reindex --- arkindex/documents/indexer.py | 7 +++++-- arkindex/documents/management/commands/reindex.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/arkindex/documents/indexer.py b/arkindex/documents/indexer.py index b838eecf5a..b48ec44296 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 aafa67ce3b..e0e6c95fe8 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() -- GitLab