Я хотел бы выполнять эффективные частичные совпадения слов с большим набором данных. Я могу использовать SearchVectorField для повышения скорости и как способ сбора данных из нескольких разных полей.
search_vector = SearchVectorField(editable=False)
Thing.objects.update(search_vector=various_fields_vector)
Thing.objects.filter(search_vector="something")
Работает быстро. Однако он не выполняет частичное совпадение слов.
Thing.objects.filter(search_vector="omething")
Не дает результатов. Я хочу сделать что-то вроде
Thing.objects.annotate(rank=TrigramSimilarity("search_vector", "omething"))
Однако я получаю:
No function matches the given name and argument types. You might need to add explicit type casts.
Есть ли способ каким-либо образом индексировать выполнять эти поиски быстрее?