Сходство слова с триграммой
Как сделать функцию для сходства слов в результатах поиска. Например, если я пишу в форме поиска "ugo" или "hugo". я пробую так: ("contenue" - это моя колонка для txt файлов в базе данных postgresql) views.py
class SearchResultsList(ListView):
...
...
...
def get_queryset(self):
query = self.request.GET.get("q")
vector_column = SearchVector("contenue", weight="A", config='french')
search_query = SearchQuery(query)
search_headline = SearchHeadline("contenue", search_query)
result1 = Q(contenue__search=query)
result2 = Q(SearchVector("contenue"))
return Actes.objects.filter(result1).annotate(headline=search_headline)
.annotate(similarity=TrigramSimilarity('contenue', query),)
.filter(similarity__gte=0.6).order_by('-similarity')
когда я не добавляю триграмму, у меня есть результат, но он не работает, если я пишу "ugo" вместо "hugo" или "higo" вместо "hugo". Спасибо и извините за мой плохой английский