sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL fulltext sökförkortningar

@pozs har rätt. Du måste använda en synonymordbok a> .

1 - Skapa filen german.syn i katalogen $SHAREDIR/tsearch_data med följande innehåll:

Bez Bezirk

2 - Kör frågan:

CREATE TEXT SEARCH DICTIONARY german_syn (
    template = synonym,
    synonyms = german);
CREATE TEXT SEARCH CONFIGURATION german_syn(COPY='simple');
ALTER TEXT SEARCH CONFIGURATION german_syn
    ALTER MAPPING FOR asciiword, asciihword, hword_asciipart,
        word, hword, hword_part
    WITH german_syn, german_stem;

Nu kan du testa det. Kör frågor:

test=# SELECT to_tsvector('german_syn', 'Bezirk') @@ to_tsquery('german_syn', 'Bezirk & Bez');
 ?column? 
----------
 t
(1 row)

test=# SELECT to_tsvector('german_syn', 'Bez Bez.') @@ to_tsquery('german_syn', 'Bezirk');
 ?column? 
----------
 t
(1 row)

Ytterligare länkar:

  1. PostgreSQL:En sökmotor för fulltext (förfallit)


  1. Skillnader mellan INDEX, PRIMÄR, UNIK, FULLTEXT i MySQL?

  2. Vilken är en bättre strategi för att lagra loggdata i en databas?

  3. Konfigurera SQL*Plus för att returnera inget annat än data

  4. Plats för my.cnf-filen på macOS