# Bengali morphology for search Status: parked — original work, not a sub-task Raised: 2026-08-02 Exact-form search is scheduled without this and **documents its own absence**. This file exists so that "add search" can never be read as having solved it. ## What exact-form search already does Whitespace tokenising plus the NFC normalisation that is already unconditional (ADR-0015) finds the word you typed, in English or Bengali, if it appears in that form. That is genuinely useful and it is not English-only — Bengali separates words with spaces, so this is **not** the CJK segmentation problem. ## What is actually missing **Morphology.** বই, বইয়ের, বইগুলো are one lemma carrying case and plural suffixes, and exact-form matching treats them as three unrelated terms. A reader searching for the base form finds none of the inflected uses. English gets away with naive matching far better than Bengali does, which is why this is not a polish item. Concretely absent: - **No mature Go stemmer exists.** Snowball has no Bengali algorithm, so there is nothing to import — this is the case ADR-0083's "take the module" rule cannot help with, because there is no module. - **Suffix stripping needs a real rule set**, not a hand-written list guessed at from a few examples. Getting it wrong produces confidently wrong results, which is worse than exact-form matching that is honest about what it does. - **Transliteration search** — typing "boi" to find বই — is a separate feature again, and arguably wanted more than stemming by anyone typing on a phone keyboard. - **Orthographic variation** beyond NFC: the same word written with different but valid conjunct forms. ## Why it is treated as research `harness/roadmap.md` singles this out: *"Bengali tokenisation for search is the genuinely novel problem here — solve it well and deliberately, not as a side effect of adding search."* `ideas/exploration.md` repeats it as the one item nobody else will solve for you. The failure mode being avoided is specific: a stemmer bolted on during a search feature, tuned until the author's own test queries pass, then quietly wrong for every word he did not think to try. ## Trigger Deciding to do the linguistic work — deliberately, as its own piece, with a way to evaluate results beyond "my queries look right". Until then exact-form search ships and says what it does not do.