sql >> Databáze >  >> RDS >> PostgreSQL

Jak používat `unaccent` s fulltextovým vyhledáváním v django 1.10?

Nainstalujte unaccent rozšíření do vaší databáze:

mydb=# CREATE EXTENSION unaccent;

Vytvořte novou konfiguraci vyhledávání na základě jiné konfigurace:

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

Vložte nepřízvuk slovníku do vaší nové konfigurace vyhledávání:

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

Použijte tuto konfiguraci ve svém dotazu Django:

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


  1. SQL:Jak můžeme vytvořit tabulku1 JOIN tabulku2 NA tabulku zadanou v poli v tabulce1?

  2. Použití odlišné v XMLAGG při duplikování záznamů

  3. Načtení souboru KML do mysql / xpath a x vyžaduje

  4. SQL dotaz k nalezení řádků s alespoň jednou ze zadaných hodnot