X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4cbcf8cac5e8cad592d9d84d76408249ccca8112..801a05d2ff33bb8a3c1a46ea0c657825b2787fa7:/src/catalogue/models/snippet.py diff --git a/src/catalogue/models/snippet.py b/src/catalogue/models/snippet.py index 3c9384cc7..4c25b8c97 100644 --- a/src/catalogue/models/snippet.py +++ b/src/catalogue/models/snippet.py @@ -1,23 +1,27 @@ from django.db import models +from django.contrib.postgres.indexes import GinIndex from django.contrib.postgres.search import SearchVector, SearchVectorField -from search.utils import build_search_vector +from search.utils import UnaccentSearchVector class Snippet(models.Model): book = models.ForeignKey('Book', models.CASCADE) sec = models.IntegerField() - # header_type ? - # header_span ? text = models.TextField() search_vector = SearchVectorField() + class Meta: + indexes = [ + GinIndex('search_vector', name='search_vector_idx'), + ] + def save(self, *args, **kwargs): super().save(*args, **kwargs) if not self.search_vector: self.update() def update(self): - self.search_vector = build_search_vector('text') + self.search_vector = UnaccentSearchVector('text') self.save() @classmethod