From c47498120c698a069bccf448c08a8c679cb19586 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Thu, 5 Jun 2025 02:52:04 -0400 Subject: [PATCH] Optional SQLite search --- .../api/graphql/resolvers/SkinResolver.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/skin-database/api/graphql/resolvers/SkinResolver.ts b/packages/skin-database/api/graphql/resolvers/SkinResolver.ts index d538209f..849df8f3 100644 --- a/packages/skin-database/api/graphql/resolvers/SkinResolver.ts +++ b/packages/skin-database/api/graphql/resolvers/SkinResolver.ts @@ -80,7 +80,7 @@ export async function search_skins( } /** - * Search the database using the Algolia search index used by the Museum. + * Search the database using SQLite's FTS (full text search) index. * * Useful for locating a particular skin. * @gqlQueryField @@ -95,6 +95,16 @@ export async function search_classic_skins( throw new Error("Can only query 1000 records via search."); } + // const skins = await knex("skin_search") + // .select("skin_search.skin_md5") + // .leftJoin("skins", "skin_search.skin_md5", "skins.md5") + // .leftJoin("skin_reviews", "skins.md5", "skin_reviews.skin_md5") + // .where("skins.skin_type", "=", 1) + // .orderByRaw("CASE WHEN skin_reviews.review = 'NSFW' THEN 1 ELSE 0 END") + // .limit(first) + // .offset(offset) + // .whereRaw("skin_search MATCH ?", query); + const skins = await knex("skin_search") .select("skin_md5") .leftJoin("skins", "skin_search.skin_md5", "skins.md5")