feat: add unified search SQL queries with fuzzy filters
- Add SearchMediaItemsUnified query combining search + filters - Add 4 field value search queries (author, genre, series, language) for autocomplete - Support fuzzy text matching via pg_trgm (threshold: 0.3 similarity) - Support exact match with quotes detection for search queries - Add sort parameter support (title ASC/DESC, author ASC/DESC, created_at ASC/DESC, page_count ASC/DESC) - Primary sort by relevance score when searching, secondary by user-specified sort - Combine search query with all filter types in single optimized query - Uses 4 separate simple queries instead of 1 complex query due to sqlc v1.30.0 limitation with CASE in GROUP BY This consolidates the deprecated /filtered and /search endpoints into one unified endpoint.
This commit is contained in:
@@ -262,7 +262,6 @@ type Querier interface {
|
||||
ListLibraries(ctx context.Context) ([]ListLibrariesRow, error)
|
||||
ListMediaItems(ctx context.Context, arg ListMediaItemsParams) ([]ListMediaItemsRow, error)
|
||||
ListMediaItemsByLibrary(ctx context.Context, libraryID pgtype.UUID) ([]ListMediaItemsByLibraryRow, error)
|
||||
ListMediaItemsFiltered(ctx context.Context, arg ListMediaItemsFilteredParams) ([]ListMediaItemsFilteredRow, error)
|
||||
ListMediaItemsSorted(ctx context.Context, arg ListMediaItemsSortedParams) ([]ListMediaItemsSortedRow, error)
|
||||
ListPendingSyncQueueItems(ctx context.Context, arg ListPendingSyncQueueItemsParams) ([]SyncQueue, error)
|
||||
ListSyncConflictsByMediaItem(ctx context.Context, arg ListSyncConflictsByMediaItemParams) ([]SyncConflicts, error)
|
||||
|
||||
Reference in New Issue
Block a user