sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo usar `unaccent` con búsqueda de texto completo en django 1.10?

Instala el unaccent extensión en su base de datos:

mydb=# CREATE EXTENSION unaccent;

Cree una nueva configuración de búsqueda, basada en otra:

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

Inserta el sin acento diccionario en su nueva configuración de búsqueda:

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

Use esta configuración en su consulta de Django:

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