diff --git a/database/Database.php b/database/Database.php index 4305f4c7630a072b8f7e7d464b5217ddf315fae5..c067a12d2d4df77810f8f8ea3cd8297b062f988e 100644 --- a/database/Database.php +++ b/database/Database.php @@ -67,7 +67,7 @@ class Database private function apply_config(\PDOStatement $stmt) { - $stmt->bindValue(':config_normalization', 32, PDO::PARAM_INT); + $stmt->bindValue(':config_normalization', 4, PDO::PARAM_INT); $stmt->bindValue(':weight_content', 14, PDO::PARAM_INT); $stmt->bindValue(':weight_type', 16, PDO::PARAM_INT); @@ -262,4 +262,4 @@ class Database $stmt->execute(); return $stmt->fetchAll(\PDO::FETCH_ASSOC); } -} \ No newline at end of file +} diff --git a/database/backends/PostgresSmartBackend.php b/database/backends/PostgresSmartBackend.php index 5e2ce1f3d76b16488f53069003e9378757fe7c92..b47376e855503f1ef419ae20b5e5ae37ec3d6ced 100644 --- a/database/backends/PostgresSmartBackend.php +++ b/database/backends/PostgresSmartBackend.php @@ -68,13 +68,13 @@ class PostgresSmartBackend implements Backend backlog.message, query, ( - (ts_rank(tsv, query, :config_normalization) ^ :weight_content) * + (ts_rank_cd(tsv, query, :config_normalization) ^ :weight_content) * ((CASE WHEN TYPE IN (1, 4) THEN 1.0 - WHEN TYPE IN (2, 1024, 2048, 4096, 16384) THEN 0.75 - WHEN TYPE IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.5 - WHEN TYPE IN (8, 16, 8192, 131072) THEN 0.25 - ELSE 0.1 END) ^ :weight_type) * + WHEN TYPE IN (2, 1024, 2048, 4096, 16384) THEN 0.8 + WHEN TYPE IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.6 + WHEN TYPE IN (8, 16, 8192, 131072) THEN 0.4 + ELSE 0.2 END) ^ :weight_type) * ((1 / (EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) - EXTRACT(EPOCH FROM TIME))) ^ :weight_time) ) AS rank_value FROM @@ -142,13 +142,13 @@ class PostgresSmartBackend implements Backend backlog.message, query, ( - (ts_rank(tsv, query, :config_normalization) ^ :weight_content) * + (ts_rank_cd(tsv, query, :config_normalization) ^ :weight_content) * ((CASE WHEN TYPE IN (1, 4) THEN 1.0 - WHEN TYPE IN (2, 1024, 2048, 4096, 16384) THEN 0.75 - WHEN TYPE IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.5 - WHEN TYPE IN (8, 16, 8192, 131072) THEN 0.25 - ELSE 0.1 END) ^ :weight_type) * + WHEN TYPE IN (2, 1024, 2048, 4096, 16384) THEN 0.8 + WHEN TYPE IN (32, 64, 128, 256, 512, 32768, 65536) THEN 0.6 + WHEN TYPE IN (8, 16, 8192, 131072) THEN 0.4 + ELSE 0.2 END) ^ :weight_type) * ((1 / (EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) - EXTRACT(EPOCH FROM TIME))) ^ :weight_time) ) AS rank_value FROM