From e33134e549321bfe055357eecb0bd3e6259f0f2d Mon Sep 17 00:00:00 2001 From: Roardom Date: Wed, 29 Jan 2025 15:41:52 +0000 Subject: [PATCH] update: use only orderable meilisearch filters when necessary Should improve indexing performance. Depends on upstream meilisearch change scheduled for v1.14: https://www.github.com/meilisearch/meilisearch/issues/5163 --- app/DTO/TorrentSearchFiltersDTO.php | 2 +- config/scout.php | 162 ++++++++++++++++------------ 2 files changed, 93 insertions(+), 71 deletions(-) diff --git a/app/DTO/TorrentSearchFiltersDTO.php b/app/DTO/TorrentSearchFiltersDTO.php index 06af2ee3e3..97ac2a7e3a 100644 --- a/app/DTO/TorrentSearchFiltersDTO.php +++ b/app/DTO/TorrentSearchFiltersDTO.php @@ -607,7 +607,7 @@ final public function toMeilisearchFilter(): array } if ($this->alive) { - $filters[] = 'seeders > 0'; + $filters[] = 'seeders != 0'; } if ($this->dying) { diff --git a/config/scout.php b/config/scout.php index 985fca16f4..418e96d61c 100644 --- a/config/scout.php +++ b/config/scout.php @@ -146,76 +146,98 @@ 'resolution.name', ], 'filterableAttributes' => [ - 'id', - 'name', - 'folder', - 'size', - 'leechers', - 'seeders', - 'times_completed', - 'created_at', - 'bumped_at', - 'fl_until', - 'du_until', - 'user_id', - 'imdb', - 'tvdb', - 'tmdb', - 'mal', - 'igdb', - 'season_number', - 'episode_number', - 'stream', - 'free', - 'doubleup', - 'refundable', - 'highspeed', - 'featured', - 'status', - 'anon', - 'sticky', - 'sd', - 'internal', - 'deleted_at', - 'personal_release', - 'trumpable', - 'info_hash', - 'history_seeders.user_id', - 'history_leechers.user_id', - 'history_active.user_id', - 'history_inactive.user_id', - 'history_complete.user_id', - 'history_incomplete.user_id', - 'user.username', - 'category.id', - 'category.movie_meta', - 'category.tv_meta', - 'type.id', - 'resolution.id', - 'movie.id', - 'movie.name', - 'movie.year', - 'movie.original_language', - 'movie.adult', - 'movie.genres.id', - 'movie.collection.id', - 'movie.companies.id', - 'movie.wishes.user_id', - 'tv.id', - 'tv.name', - 'tv.year', - 'tv.original_language', - 'tv.genres.id', - 'tv.networks.id', - 'tv.companies.id', - 'tv.wishes.user_id', - 'playlists.id', - 'bookmarks.user_id', - 'freeleech_tokens.user_id', - 'files.name', - 'keywords', - 'distributor_id', - 'region_id', + [ + 'attributePatterns' => [ + 'id', + 'name', + 'folder', + 'leechers', + 'seeders', + 'bumped_at', + 'fl_until', + 'du_until', + 'user_id', + 'imdb', + 'tvdb', + 'tmdb', + 'mal', + 'igdb', + 'season_number', + 'episode_number', + 'stream', + 'free', + 'doubleup', + 'refundable', + 'highspeed', + 'featured', + 'status', + 'anon', + 'sticky', + 'sd', + 'internal', + 'deleted_at', + 'personal_release', + 'trumpable', + 'info_hash', + 'history_seeders.user_id', + 'history_leechers.user_id', + 'history_active.user_id', + 'history_inactive.user_id', + 'history_complete.user_id', + 'history_incomplete.user_id', + 'user.username', + 'category.id', + 'category.movie_meta', + 'category.tv_meta', + 'type.id', + 'resolution.id', + 'movie.id', + 'movie.name', + 'movie.original_language', + 'movie.adult', + 'movie.genres.id', + 'movie.collection.id', + 'movie.companies.id', + 'movie.wishes.user_id', + 'tv.id', + 'tv.name', + 'tv.original_language', + 'tv.genres.id', + 'tv.networks.id', + 'tv.companies.id', + 'tv.wishes.user_id', + 'playlists.id', + 'bookmarks.user_id', + 'freeleech_tokens.user_id', + 'files.name', + 'keywords', + 'distributor_id', + 'region_id', + ], + "features" => [ + "facetSearch" => false, + "filter" => [ + "equality" => true, + "comparison" => false, + ], + ] + ], + [ + 'attributePatterns' => [ + 'size', + 'times_completed', + 'created_at', + 'movie.year', + 'tv.year', + ], + "features" => [ + "facetSearch" => false, + "filter" => [ + "equality" => true, + "comparison" => true, + ], + ] + ], ], 'sortableAttributes' => [ 'name',