# Django 6.0.5 documentation

# PostgreSQL-specifika uppslagningar

## Likhet mellan trigram

### `trigram_liknande`

Med `` trigram_similar``-uppslagningen kan du utföra trigramuppslagningar, mäta antalet trigram (tre på varandra följande tecken) som delas med hjälp av en dedikerad PostgreSQL-förlängning. En trigramuppslagning ges ett uttryck och returnerar resultat som har en likhetsmätning som är större än det aktuella likhetströskeln.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_similar` kan användas på `CharField` och `TextField`:

    >>> City.objects.filter(name__trigram_similar="Middlesborough")
    <QuerySet [<City: Middlesbrough>]>

### `trigram_ord_liknande`

Med `trigram_word_similar` lookup kan du utföra trigramordlikhetsuppslagningar med hjälp av ett dedikerat PostgreSQL-tillägg. Det kan ungefär förstås som att mäta det största antalet trigram som delas mellan parametern och någon understräng i fältet. En trigramorduppslagning ges ett uttryck och returnerar resultat som har en ordlikhetsmätning som är större än det aktuella likhetströskeln.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_word_similar` kan användas på `CharField` och `TextField`:

    >>> Sentence.objects.filter(name__trigram_word_similar="Middlesborough")
    <QuerySet [<Sentence: Gumby rides on the path of Middlesbrough>]>

### `trigram_strikt_ord_liknande`

Liknar `trigram_word_similar`, förutom att den tvingar extent-gränser att matcha ordgränser.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_strict_word_similar` kan användas på `CharField` och `TextField`.

## `Unaccent`

Med `unaccent` lookup kan du utföra accentkänsliga lookups med hjälp av en dedikerad PostgreSQL-förlängning.

Denna uppslagning implementeras med `Transform`, så det kan kedjas med andra uppslagningsfunktioner. För att använda det måste du lägga till `'django.contrib.postgres` i din `INSTALLED_APPS` och aktivera unaccent-tillägget på PostgreSQL. Migreringsoperationen `UnaccentExtension` är tillgänglig om du vill utföra denna aktivering med hjälp av migreringar).

Uppslagningen `unaccent` kan användas på `CharField` och `TextField`:

    >>> City.objects.filter(name__unaccent="México")
    <QuerySet [<City: Mexico>]>

    >>> User.objects.filter(first_name__unaccent__startswith="Jerem")
    <QuerySet [<User: Jeremy>, <User: Jérémy>, <User: Jérémie>, <User: Jeremie>]>

Varning

`Unaccent`-uppslagningar bör fungera bra i de flesta användningsfall. Frågor som använder det här filtret kommer dock i allmänhet att utföra fullständiga tabellskanningar, vilket kan vara långsamt i stora tabeller. I dessa fall kan det vara lämpligt att använda dedikerade fulltextindexeringsverktyg.