#32492: Add django API for Postgres pg_trgm word_similarity, fuzzy full-text
search.
-----------------------------------------+------------------------
Reporter: Taneli | Owner: nobody
Type: Uncategorized | Status: new
Component: Uncategorized | Version: 3.1
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------+------------------------
Use case: filter queryset by an inexact substring. For example, retrieve
an object with the following headline ' Dogecoin is following bitcoin in
its dramatic rise' when searching for 'dogge'.
Currently it is possible to filter a queryset on the basis of trigram
similarity between the search string and full text stored in a column.
{{{#!python
Author.objects.annotate(similarity=TrigramSimilarity('name',
test),).filter(similarity__gt=0.3)
}}}
This is a wrapper around the '''similarity''' function of the
'''pg_trgm''' extension. While it allows comparing full strings, i.e.
searching for 'doge' would find 'dogs' or 'dogge' it is useless for fuzzy
searching of substrings.
{{{
SELECT similarity('dogge', 'doge');
---------
0.57
SELECT similarity('dogge', 'dogecoin is following bitcoin');
------------
0.1
}}}
'''word_similarity''' does take into account the word boundaries
{{{
SELECT word_similarity('doge', 'dogecoin is following bitcoin');
--------------
0.5
}}}
Adding a django API to '''word_similarity''' would allow for better fuzzy
fulltext search without a need to use either raw SQL or external tools
like elasticsearch.
--
Ticket URL: <https://code.djangoproject.com/ticket/32492>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/050.49cbc89f33aa2fa22e1752468f4e6382%40djangoproject.com.