diff --git a/tips/2026-07-17-037-search-fuzzy-search-for-items-recipes.md b/tips/2026-07-17-037-search-fuzzy-search-for-items-recipes.md deleted file mode 100644 index 17f15bc..0000000 --- a/tips/2026-07-17-037-search-fuzzy-search-for-items-recipes.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -tip_number: 37 -date: 2026-07-17 -category: search -status: pending ---- - -# Tip #37 — Fuzzy-Search for items & recipes - -**Date:** 2026-07-17 -**Category:** search -**Source:** MC-Survival Wiki Daily Tip (cron @ 18:00 MESZ) - -## Fuzzy-Search for items & recipes - -Fuzzy search lets the wiki match items and recipes even when a player misspells the name, for example 'diamnd sword' or 'nethrite' instead of the correct spelling. It solves the very common problem that players land on a recipe URL from Google or a friend's chat message and cannot type the canonical item name. Real-world server logs show that exact-match-only search produces a high bounce rate on the first query, and the fix is a Levenshtein or trigram fallback on top of the existing Prisma query. With a small alias table, this also doubles as a hand-curated 'what players actually call things' layer. - -## Implementation tips - -1. Add a server function in functions.ts that wraps Prisma queries with a Levenshtein or trigram fallback when no exact match is found. -2. Use fuse.js (lightweight, no deps issues) on the client for instant-as-you-type feedback before hitting the server. -3. Index item aliases (e.g. 'netherite scrap' ↔ 'ancient debris') in a small ItemAlias table — most leverage for least code. -4. Highlight matched characters in the result list so users see WHY a fuzzy hit scored. - -## Watch out - -- Fuzzy search is expensive — debounce input by 200ms and never run it on every keystroke without a limit.