add unaccent to full text search vectors
This commit is contained in:
parent
c716a56b18
commit
6a7bc974e1
@ -89,8 +89,8 @@ admin.site.register(Step, StepAdmin)
|
||||
def rebuild_index(modeladmin, request, queryset):
|
||||
with scopes_disabled():
|
||||
search_vector = (
|
||||
SearchVector('name', weight='A')
|
||||
+ SearchVector('description', weight='B'))
|
||||
SearchVector('name__unaccent', weight='A')
|
||||
+ SearchVector('description__unaccent', weight='B'))
|
||||
queryset.update(search_vector=search_vector)
|
||||
|
||||
|
||||
|
@ -18,8 +18,8 @@ class Command(BaseCommand):
|
||||
try:
|
||||
with scopes_disabled():
|
||||
search_vector = (
|
||||
SearchVector('name', weight='A')
|
||||
+ SearchVector('description', weight='B'))
|
||||
SearchVector('name__unaccent', weight='A')
|
||||
+ SearchVector('description__unaccent', weight='B'))
|
||||
Recipe.objects.all().update(search_vector=search_vector)
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(_('Recipe index rebuild complete.')))
|
||||
|
@ -34,8 +34,8 @@ class RecipeSearchManager(models.Manager):
|
||||
)
|
||||
search_vectors = (
|
||||
SearchVector('search_vector')
|
||||
+ SearchVector(StringAgg('steps__ingredients__food__name', delimiter=' '), weight='B', config=language)
|
||||
+ SearchVector(StringAgg('keywords__name', delimiter=' '), weight='B', config=language))
|
||||
+ SearchVector(StringAgg('steps__ingredients__food__name__unaccent', delimiter=' '), weight='B', config=language)
|
||||
+ SearchVector(StringAgg('keywords__name__unaccent', delimiter=' '), weight='B', config=language))
|
||||
search_rank = SearchRank(search_vectors, search_query)
|
||||
# USING TRIGRAM BREAKS WEB SEARCH
|
||||
# ADDING MULTIPLE TRIGRAMS CREATES DUPLICATE RESULTS
|
||||
|
@ -12,8 +12,8 @@ def set_default_search_vector(apps, schema_editor):
|
||||
return
|
||||
with scopes_disabled():
|
||||
search_vector = (
|
||||
SearchVector('name', weight='A')
|
||||
+ SearchVector('description', weight='B'))
|
||||
SearchVector('name__unaccent', weight='A')
|
||||
+ SearchVector('description__unaccent', weight='B'))
|
||||
Recipe.objects.all().update(search_vector=search_vector)
|
||||
|
||||
|
||||
|
@ -18,8 +18,8 @@ def update_recipe_search_vector(sender, instance=None, created=False, **kwargs):
|
||||
|
||||
language = DICTIONARY.get(translation.get_language(), 'simple')
|
||||
instance.search_vector = (
|
||||
SearchVector('name', weight='A', config=language)
|
||||
+ SearchVector('description', weight='C', config=language)
|
||||
SearchVector('name__unaccent', weight='A', config=language)
|
||||
+ SearchVector('description__unaccent', weight='C', config=language)
|
||||
)
|
||||
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user