← Lesson
Query Rewrite
Joeven
Run
Reset
Python loads on first run
SYNONYMS = { "oom": ["oom", "out", "of", "memory", "worker"], "dlq": ["dlq", "dead", "letter", "replay"], } STOP = {"that", "thing", "from", "last", "week", "please", "the", "a"} def rewrite(user): words = user.lower().replace("?", " ").split() out = [] for w in words: if w in STOP: continue if w in SYNONYMS: out.extend(SYNONYMS[w]) else: out.append(w) # unique, stable order seen = [] for w in out: if w not in seen: seen.append(w) return " ".join(seen) CHUNKS = { "runbook": "Runner OOM: raise worker memory, then replay the DLQ.", } def retrieve(q): bag = set(q.split()) scored = [] for cid, text in CHUNKS.items(): scored.append((len(bag & set(text.lower().replace(":", " ").split())), cid)) scored.sort(reverse=True) return scored[0] raw = "that OOM thing from last week" print("raw", raw, "->", retrieve(raw.lower())) print("rewritten", rewrite(raw), "->", retrieve(rewrite(raw)))
Run to execute this in your browser. Nothing is sent to a server.