PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Abbreviazioni di ricerca di testo completo di PostgreSQL

@pozs ha ragione. Devi usare un dizionario dei sinonimi .

1 - Nella directory $SHAREDIR/tsearch_data creare il file german.syn con il seguente contenuto:

Bez Bezirk

2 - Eseguire la query:

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;

Ora puoi testarlo. Esegui query:

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)

Link aggiuntivi:

  1. PostgreSQL:un motore di ricerca di testo completo (scaduto)