PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar `unaccent` com pesquisa de texto completo no django 1.10?


Instale o sem acento extensão em seu banco de dados:
mydb=# CREATE EXTENSION unaccent;

Crie uma nova configuração de pesquisa, baseada em outra:
mydb=# CREATE TEXT SEARCH CONFIGURATION french_unaccent( COPY = french );

Insira o sem acento dicionário em sua nova configuração de pesquisa:
mydb=# ALTER TEXT SEARCH CONFIGURATION french_unaccent
    ALTER MAPPING FOR hword, hword_part, word
    WITH unaccent, french_stem;

Use esta configuração em sua consulta Django:
search = 'Car'
query_set = Article.objects.annotate(
                search=SearchVector('content','name', config='french_unaccent')
            ).filter(search=SearchQuery(search, config='french_unaccent')))