X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4fea8503c1f680b7e6942dfae6f0e7a8589e47ea..568be7ec391479b5a253137fc08fa0ffa17b8249:/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):