X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4fea8503c1f680b7e6942dfae6f0e7a8589e47ea..355e1d5791e95d630eeb11573110c0962eb32973:/apps/catalogue/models.py?ds=sidebyside

diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py
index 5846f5343..1a2e8f86f 100644
--- a/apps/catalogue/models.py
+++ b/apps/catalogue/models.py
@@ -626,8 +626,19 @@ class Book(models.Model):
         return result.wait()
 
     def search_index(self):
-        with search.Index() as idx:
+        if settings.SEARCH_INDEX_PARALLEL:
+            if instance(settings.SEARCH_INDEX_PARALLEL, int):
+                idx = search.ReusableIndex(threads=4)
+            else:
+                idx = search.ReusableIndex()
+        else:
+            idx = search.Index()
+            
+        idx.open()
+        try:
             idx.index_book(self)
+        finally:
+            idx.close()
 
     @classmethod
     def from_xml_file(cls, xml_file, **kwargs):