Destroy index and re-add on updated version
This commit is contained in:
@@ -42,17 +42,21 @@ class Database(object):
|
|||||||
db = self.getDB()
|
db = self.getDB()
|
||||||
|
|
||||||
# Category index
|
# Category index
|
||||||
|
index_instance = klass(db.path, index_name)
|
||||||
try:
|
try:
|
||||||
db.add_index(klass(db.path, index_name))
|
db.add_index(index_instance)
|
||||||
db.reindex_index(index_name)
|
db.reindex_index(index_name)
|
||||||
except:
|
except:
|
||||||
previous_version = db.indexes_names[index_name]._version
|
previous = db.indexes_names[index_name]
|
||||||
|
previous_version = previous._version
|
||||||
current_version = klass._version
|
current_version = klass._version
|
||||||
|
|
||||||
# Only edit index if versions are different
|
# Only edit index if versions are different
|
||||||
if previous_version < current_version:
|
if previous_version < current_version:
|
||||||
log.debug('Index "%s" already exists, updating and reindexing', index_name)
|
log.debug('Index "%s" already exists, updating and reindexing', index_name)
|
||||||
db.edit_index(klass(db.path, index_name), reindex = True)
|
db.destroy_index(previous)
|
||||||
|
db.add_index(index_instance)
|
||||||
|
db.reindex_index(index_name)
|
||||||
|
|
||||||
def deleteDocument(self, **kwargs):
|
def deleteDocument(self, **kwargs):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user