PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Utilizzo di unaccent con SearchVector e SearchQuery in Django

Non puoi usare 'unaccent' in 'SearchVector' ma devi definire una nuova configurazione "non accentata" in PostgreSQL.

  1. Se ti sei perso, installa l'estensione unaccent .
  2. Crea il tuo dizionario non accentato in PostgrSQL o usando un migrazioni vuote con questo SQL:

    CREATE TEXT SEARCH CONFIGURATION french_unaccent( COPY = french );
    ALTER TEXT SEARCH CONFIGURATION french_unaccent
    ALTER MAPPING FOR hword, hword_part, word
    WITH unaccent, french_stem;
    
  3. Usa questa configurazione nella tua query Django :

    SearchVector('title','abstract', config='french_unaccent')
    SearchQuery(word, config='french_unaccent')
    

Puoi trovare maggiori informazioni su questo tipo di configurazione nella documentazione ufficiale di PostgreSQL in vari articoli