X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0a7090f11131631647db366ff87976407e788412..d9cece3698e91c621a933cf9bd93b8b4bd207dfe:/src/catalogue/models/snippet.py diff --git a/src/catalogue/models/snippet.py b/src/catalogue/models/snippet.py index aa5ed6822..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', config='polish') # config=polish + self.search_vector = UnaccentSearchVector('text') self.save() @classmethod