PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie verwende ich 'unaccent' bei der Volltextsuche in Django 1.10?

Installieren Sie den unaccent Erweiterung in Ihre Datenbank:

mydb=# CREATE EXTENSION unaccent;

Erstellen Sie eine neue Suchkonfiguration, basierend auf einer anderen:

mydb=# CREATE TEXT SEARCH CONFIGURATION french_unaccent( COPY = french );

Fügen Sie den Akzent ein Wörterbuch in Ihre neue Suchkonfiguration:

mydb=# ALTER TEXT SEARCH CONFIGURATION french_unaccent
    ALTER MAPPING FOR hword, hword_part, word
    WITH unaccent, french_stem;

Verwenden Sie diese Konfiguration in Ihrer Django-Abfrage :

search = 'Car'
query_set = Article.objects.annotate(
                search=SearchVector('content','name', config='french_unaccent')
            ).filter(search=SearchQuery(search, config='french_unaccent')))