From 05c28a2f623d37182623a89fca23f9b5516a16aa Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Fri, 6 Sep 2019 02:20:35 +0200 Subject: [PATCH] find only the last version of article on listing --- .../resources/sql/functions/article/find_articles.sql | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/resources/sql/functions/article/find_articles.sql b/src/main/resources/sql/functions/article/find_articles.sql index 147de59..8d9464a 100644 --- a/src/main/resources/sql/functions/article/find_articles.sql +++ b/src/main/resources/sql/functions/article/find_articles.sql @@ -9,7 +9,7 @@ create or replace function find_articles( ) language plpgsql as $$ begin - select json_agg(t), (select count(id) from article a where _search is null or _search = '' or a ==> dsl.multi_match('{title^3, content, description}', _search)) + select json_agg(t), (select count(id) from article a where (_search is null or _search = '' or a ==> dsl.multi_match('{title^3, content, description}', _search)) and a.is_last_version = true) into resource, total from ( select @@ -17,7 +17,11 @@ begin find_citizen_by_id(a.created_by_id) as created_by, zdb.score(a.ctid) _score from article as a - where _search is null or _search = '' or a ==> dsl.multi_match('{title^3, content, description}', _search) + where ( + _search is null + or _search = '' + or a ==> dsl.multi_match('{title^3, content, description}', _search) + ) and a.is_last_version = true order by _score desc, case direction when 'asc' then