PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation d'unaccent avec SearchVector et SearchQuery dans Django

Vous ne pouvez pas utiliser 'unaccent' dans 'SearchVector' mais vous devez définir une nouvelle configuration "sans accent" dans PostgreSQL.

  1. Si vous avez manqué, installe l'extension unaccent .
  2. Créez votre dictionnaire sans accent dans PostgrSQL ou en utilisant une migrations vides avec ce 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. Utilisez cette configuration dans votre requête Django :

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

Vous pouvez trouver plus d'informations sur ce type de configuration dans la documentation officielle de PostgreSQL dans divers articles