Extension filter via a releases.extensions column
The first version matched extensions in search_text, which was wrong and slow: file names enter search_text as stems without extension (so plainly posted .mkv files were missed), and matching the TOASTed text took 3-4 s for common types. - Migration …130: releases.extensions text[] (two to four characters with a letter; .7z.001 and .r00 count as 7z and rar), kept current by triggers on files (name, release) and on releases (archive listing), filled with one sequential pass over files, with a GIN index. - Search: ext matches with `extensions && ?`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e1392608d8
commit
7ca338d4f3
4 files changed
+126
-6
No files matched your search
+3
-1
@@ -300,7 +300,7 @@ export class ReleaseFileSchema extends BaseModel {
|
||||
}
|
||||
|
||||
export class ReleaseSchema extends BaseModel {
|
||||
static $columns = ['category', 'complete', 'container', 'contents', 'encrypted', 'fileCount', 'fileTotal', 'firstSeenAt', 'groups', 'id', 'lastSeenAt', 'name', 'password', 'passwordSource', 'postedAt', 'poster', 'releaseKey', 'searchFiles', 'searchText', 'size', 'source'] as const
|
||||
static $columns = ['category', 'complete', 'container', 'contents', 'encrypted', 'extensions', 'fileCount', 'fileTotal', 'firstSeenAt', 'groups', 'id', 'lastSeenAt', 'name', 'password', 'passwordSource', 'postedAt', 'poster', 'releaseKey', 'searchFiles', 'searchText', 'size', 'source'] as const
|
||||
$columns = ReleaseSchema.$columns
|
||||
@column()
|
||||
declare category: number | null
|
||||
@@ -313,6 +313,8 @@ export class ReleaseSchema extends BaseModel {
|
||||
@column()
|
||||
declare encrypted: boolean | null
|
||||
@column()
|
||||
declare extensions: any | null
|
||||
@column()
|
||||
declare fileCount: number
|
||||
@column()
|
||||
declare fileTotal: number | null
|
||||
|
||||
Reference in new issue
Block a user