Summary
Replace the sequential per-PURL self.purls() calls in recommend_purls with two bulk queries, eliminating N+1 ILIKE queries on JSONB fields and unnecessary COUNT(*) pagination queries.
Local benchmarks show this change yields a 33% improvement (1.195s to 0.798s for 100 PURLs).
Jira
TC-3886