Как реализовать поиск без учета орфографии в django & PostgreSQL? - PullRequest
1 голос
/ 26 апреля 2020

Чего я хотел добиться, так это то, что если пользователь вводит запрос «laptp», то база данных должна возвращать результаты с фактическим словом «Laptop». Аналогично, если пользователь вводит «ambroidery», тогда база данных должна возвращать результаты как с «вышивкой», так и с «вышитыми» словами, содержащими строки. Надеюсь, это прояснится !!

Итак, я попробовал, я просмотрел всю документацию django, и самое близкое, что я нашел, - это поиск по «Trigram Similarity». Я следовал документации и пробовал это:

data = 'silk'

data= Product.objects.annotate(
similarity=TrigramSimilarity('description', data)).filter(similarity__gt=0.3).order_by('-similarity')

В моей базе данных у меня есть Products, описание которого содержит слово "шелковистый", но каждый раз, когда я запускаю этот запрос, я получаю пустой набор запросов. Даже когда я ставлю значение данных «шелковистым», я снова получаю пустой набор запросов.

Итак, во-первых, предложите мне, если это правильный подход к тому, чего я хотел достичь, и, во-вторых, если это так, то почему возвращает пустой набор запросов?

...