Fix Artgrid collector matching and split ranker
build-push / docker (push) Successful in 4m16s

This commit is contained in:
AI Assistant
2026-03-13 19:31:57 +09:00
parent 5aebbef639
commit e4262613c3
6 changed files with 250 additions and 165 deletions
+12
View File
@@ -105,6 +105,18 @@
- Current implementation note:
- collectors are still in Go code under backend services, but the responsibilities are now separated by source instead of one monolithic search loop
## Current Session Update (2026-03-13, Artgrid Collector Fix + Ranker Split)
- Artgrid collector regression fixed:
- real search results can come back as `artlist.io/stock-footage/clip/.../<id>` instead of only `artgrid.io/clip/<id>/...`
- renderable filtering was rejecting those URLs, which caused `SearXNG returned no renderable results.` for Artgrid-only searches
- Fix applied:
- Artgrid renderability now accepts both `artgrid.io` and `artlist.io/stock-footage/clip/...` clip URLs
- Artgrid result links are normalized into `https://artgrid.io/clip/<id>/<slug>` inside the collector flow before filtering/enrichment
- Refactor continued:
- ranking / Gemini candidate evaluation / recommendation merge logic moved out of `handlers/api.go`
- new service layer file: `backend/services/ranker.go`
- handler is now thinner and less coupled to search internals
## Local Self-Test Workflow
- Primary command:
- `bash scripts/selftest.sh`