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
This commit is contained in:
Roardom
2025-01-29 15:41:52 +00:00
parent 908bb341a4
commit dad90c6c7b
2 changed files with 92 additions and 70 deletions

View File

@@ -654,7 +654,7 @@ readonly class TorrentSearchFiltersDTO
}
if ($this->alive) {
$filters[] = 'seeders > 0';
$filters[] = 'seeders != 0';
}
if ($this->dying) {

View File

@@ -146,75 +146,97 @@ return [
'resolution.name',
],
'filterableAttributes' => [
'id',
'name',
'folder',
'size',
'leechers',
'seeders',
'times_completed',
'created_at',
'bumped_at',
'fl_until',
'du_until',
'user_id',
'imdb',
'tvdb',
'tmdb_movie_id',
'tmdb_tv_id',
'mal',
'igdb',
'season_number',
'episode_number',
'free',
'doubleup',
'refundable',
'highspeed',
'featured',
'status',
'anon',
'sticky',
'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',
'tmdb_movie.id',
'tmdb_movie.name',
'tmdb_movie.year',
'tmdb_movie.original_language',
'tmdb_movie.adult',
'tmdb_movie.genres.id',
'tmdb_movie.collection.id',
'tmdb_movie.companies.id',
'tmdb_movie.wishes.user_id',
'tmdb_tv.id',
'tmdb_tv.name',
'tmdb_tv.year',
'tmdb_tv.original_language',
'tmdb_tv.genres.id',
'tmdb_tv.networks.id',
'tmdb_tv.companies.id',
'tmdb_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_movie_id',
'tmdb_tv_id',
'mal',
'igdb',
'season_number',
'episode_number',
'free',
'doubleup',
'refundable',
'highspeed',
'featured',
'status',
'anon',
'sticky',
'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',
'tmdb_movie.id',
'tmdb_movie.name',
'tmdb_movie.original_language',
'tmdb_movie.adult',
'tmdb_movie.genres.id',
'tmdb_movie.collection.id',
'tmdb_movie.companies.id',
'tmdb_movie.wishes.user_id',
'tmdb_tv.id',
'tmdb_tv.name',
'tmdb_tv.original_language',
'tmdb_tv.genres.id',
'tmdb_tv.networks.id',
'tmdb_tv.companies.id',
'tmdb_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',
'tmdb_movie.year',
'tmdb_tv.year',
],
"features" => [
"facetSearch" => false,
"filter" => [
"equality" => true,
"comparison" => true,
],
]
],
],
'sortableAttributes' => [
'name',