sql >> Base de Datos >  >> RDS >> PostgreSQL

Abreviaturas de búsqueda de texto completo de PostgreSQL

@pozs tiene razón. Debe utilizar un diccionario de sinónimos .

1 - En el directorio $SHAREDIR/tsearch_data crea el archivo german.syn con el siguiente contenido:

Bez Bezirk

2 - Ejecutar la consulta:

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;

Ahora puedes probarlo. Ejecutar consultas:

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)

Enlaces adicionales:

  1. PostgreSQL:un motor de búsqueda de texto completo (caducado)