$rel AS rel,
$rank AS rank,
FIRST(pubdate_t.value) AS tie_break
- STRING_AGG(ARRAY_TO_STRING(pop_with.badges,','),',') AS badges
+ STRING_AGG(ARRAY_TO_STRING(pop_with.badges,','),',') AS badges,
+ AVG(COALESCE(pop_with.total_score::NUMERIC,0.0))::NUMERIC(2,1) AS popularity
FROM metabib.metarecord_source_map m
$$flat_plan{from}
$mra_join
delete $$summary_row{rel};
delete $$summary_row{record};
delete $$summary_row{badges};
+ delete $$summary_row{popularity};
if (defined($simple_plan)) {
$$summary_row{complex_query} = $simple_plan ? 0 : 1;
BEGIN;
-ALTER TYPE search.search_result ADD ATTRIBUTE badges TEXT;
+ALTER TYPE search.search_result ADD ATTRIBUTE badges TEXT, ADD ATTRIBUTE popularity NUMERIC;
CREATE OR REPLACE FUNCTION search.query_parser_fts (
current_res.id = core_result.id;
current_res.rel = core_result.rel;
current_res.badges = core_result.badges;
+ current_res.popularity = core_result.popularity;
tmp_int := 1;
IF metarecord THEN
current_res.id = core_result.id;
current_res.rel = core_result.rel;
current_res.badges = core_result.badges;
+ current_res.popularity = core_result.popularity;
tmp_int := 1;
IF metarecord THEN
current_res.id = core_result.id;
current_res.rel = core_result.rel;
current_res.badges = core_result.badges;
+ current_res.popularity = core_result.popularity;
tmp_int := 1;
IF metarecord THEN
current_res.rel = NULL;
current_res.record = NULL;
current_res.badges = NULL;
+ current_res.popularity = NULL;
current_res.total = total_count;
current_res.checked = check_count;
current_res.deleted = deleted_count;