From 5e60dee2915902be21cf2bd22df00f8256e2bca3 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 1 Mar 2023 13:22:03 +0100 Subject: Free text search: add french_archeo thesaurus config --- postgres/french/create.sql | 23 +++++++++++++++++++++ postgres/french/install_dict.sh | 32 +++++++++++++++++++++++++++++ postgres/french/thesaurus_french_archeo.ths | 11 ++++++++++ 3 files changed, 66 insertions(+) create mode 100644 postgres/french/create.sql create mode 100755 postgres/french/install_dict.sh create mode 100644 postgres/french/thesaurus_french_archeo.ths (limited to 'postgres/french') diff --git a/postgres/french/create.sql b/postgres/french/create.sql new file mode 100644 index 000000000..4f1b9ee0e --- /dev/null +++ b/postgres/french/create.sql @@ -0,0 +1,23 @@ +DROP TEXT SEARCH CONFIGURATION IF EXISTS french_archeo; +DROP TEXT SEARCH DICTIONARY IF EXISTS thesaurus_french_archeo; + + +CREATE TEXT SEARCH CONFIGURATION french_archeo ( + COPY = french +); + +ALTER TEXT SEARCH CONFIGURATION french_archeo + DROP MAPPING FOR hword_asciipart; +ALTER TEXT SEARCH CONFIGURATION french_archeo + DROP MAPPING FOR hword_part; + + +CREATE TEXT SEARCH DICTIONARY thesaurus_french_archeo ( + TEMPLATE = thesaurus, + DictFile = thesaurus_french_archeo, + Dictionary = pg_catalog.simple +); + +ALTER TEXT SEARCH CONFIGURATION french_archeo + ALTER MAPPING FOR asciihword, asciiword, hword, word + WITH thesaurus_french_archeo, french_stem; diff --git a/postgres/french/install_dict.sh b/postgres/french/install_dict.sh new file mode 100755 index 000000000..d8abfa098 --- /dev/null +++ b/postgres/french/install_dict.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +set -e + +MSG="install_dict.sh dbname [PG_SEARCH_DIR_PATH]" +if [ $# -eq 0 ]; then + echo $MSG + exit 1 +fi + +DB=$1 +PG_DIR=/usr/share/postgresql/13/ +PG_SEARCH_DIR="$PG_DIR"tsearch_data +if [ $# -eq 2 ]; then + PG_SEARCH_DIR=$2 +fi + +rm -f $PG_SEARCH_DIR/thesaurus_french_archeo.ths +ln -s `pwd`/thesaurus_french_archeo.ths $PG_SEARCH_DIR/ + +systemctl restart postgresql +touch /tmp/install_error +sudo -u postgres psql -d $1 -f create.sql > /dev/null 2> /tmp/install_error + +if grep ERR /tmp/install_error; then + exit 1; +fi + +echo '"french_archeo" dictionnary successfully installed for '$DB +echo 'Change your django local_settings.py file to add the line:' +echo 'ISHTAR_SEARCH_LANGUAGE = "french_archeo"' + diff --git a/postgres/french/thesaurus_french_archeo.ths b/postgres/french/thesaurus_french_archeo.ths new file mode 100644 index 000000000..0a7da923f --- /dev/null +++ b/postgres/french/thesaurus_french_archeo.ths @@ -0,0 +1,11 @@ +menhir : menh +menhirs : menh +terre: terre +terrasse : terrasse +terrain : terrain +terrains : terrain +granulo : granulo +collective : collective +collectives : collective +collection : collection +collections : collection -- cgit v1.2.3