From f30eeac80a5b948de152c84096f10a1ebe1cc6db Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Wed, 23 Feb 2022 13:05:25 +0100 Subject: [PATCH] added pids for fulltext search --- .../{ => scripts}/import_certificates.sh | 0 .../src/main/resources/sql/schema.sql | 7 ++++--- 2 files changed, 4 insertions(+), 3 deletions(-) rename apps/dnet-orgs-database-application/{ => scripts}/import_certificates.sh (100%) diff --git a/apps/dnet-orgs-database-application/import_certificates.sh b/apps/dnet-orgs-database-application/scripts/import_certificates.sh similarity index 100% rename from apps/dnet-orgs-database-application/import_certificates.sh rename to apps/dnet-orgs-database-application/scripts/import_certificates.sh diff --git a/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql b/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql index 72e0f710..d2d9f9c2 100644 --- a/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql +++ b/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql @@ -648,7 +648,6 @@ GROUP BY o.id, o.name, o.city, o.country ORDER BY o.name; CREATE TABLE org_index_search(id text PRIMARY KEY, txt tsvector); -CREATE INDEX org_index_search_txt_idx ON org_index_search(txt); CREATE INDEX org_index_search_txt_gin_idx ON org_index_search USING gin(txt); CREATE OR REPLACE FUNCTION refresh_index_search() RETURNS bigint AS $$ @@ -656,9 +655,10 @@ CREATE OR REPLACE FUNCTION refresh_index_search() RETURNS bigint AS $$ WITH d as ( INSERT INTO org_index_search(id, txt) SELECT o.id, - to_tsvector(o.id||' '||o.name||' '||array_to_string(array_agg(DISTINCT n.name), ' ','')||' '||array_to_string(array_agg(DISTINCT a.acronym), ' ','')||' '||array_to_string(array_agg(DISTINCT u.url), ' ','')) + to_tsvector(o.id||' '||o.name||' '||array_to_string(array_agg(DISTINCT n.name), ' ','')||' '||array_to_string(array_agg(DISTINCT i.otherid), ' ','')||' '||array_to_string(array_agg(DISTINCT a.acronym), ' ','')||' '||array_to_string(array_agg(DISTINCT u.url), ' ','')) FROM organizations o LEFT OUTER JOIN other_names n on (o.id = n.id) + LEFT OUTER JOIN other_ids i on (o.id = i.id) LEFT OUTER JOIN acronyms a on (o.id = a.id) LEFT OUTER JOIN urls u on (o.id = u.id) GROUP BY o.id, o.name RETURNING * @@ -680,9 +680,10 @@ CREATE OR REPLACE FUNCTION insert_or_update_index_search_trigger() RETURNS trigg BEGIN INSERT INTO org_index_search(id, txt) (SELECT o.id, - to_tsvector(o.id||' '||o.name||' '||array_to_string(array_agg(DISTINCT n.name), ' ','')||' '||array_to_string(array_agg(DISTINCT a.acronym), ' ','')||' '||array_to_string(array_agg(DISTINCT u.url), ' ','')) + to_tsvector(o.id||' '||o.name||' '||array_to_string(array_agg(DISTINCT n.name), ' ','')||' '||array_to_string(array_agg(DISTINCT i.otherid), ' ','')||' '||array_to_string(array_agg(DISTINCT a.acronym), ' ','')||' '||array_to_string(array_agg(DISTINCT u.url), ' ','')) FROM organizations o LEFT OUTER JOIN other_names n on (o.id = n.id) + LEFT OUTER JOIN other_ids i on (o.id = i.id) LEFT OUTER JOIN acronyms a on (o.id = a.id) LEFT OUTER JOIN urls u on (o.id = u.id) WHERE o.id = new.id