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

Unaccent mit SearchVector und SearchQuery in Django verwenden

Sie können „unaccent“ nicht in „SearchVector“ verwenden, aber Sie müssen eine neue „unaccented“-Konfiguration in PostgreSQL definieren.

  1. Falls Sie es verpasst haben, installiert die Unaccent-Erweiterung .
  2. Erstellen Sie Ihr Wörterbuch ohne Akzent in PostgrSQL oder mithilfe einer leeren Migrationen mit diesem 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. Verwenden Sie diese Konfiguration in Ihrer Django-Abfrage :

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

Weitere Informationen zu dieser Art von Konfiguration finden Sie in der offiziellen PostgreSQL-Dokumentation in verschiedenen Artikeln