TiddlyWiki / TiddlyWiki/MultiWikiServer
Question: Server-side search for large recipes?
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 60
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
MWS injects the full text of a recipe’s tiddlers into the page on load — there’s no lazy/skinny loading of tiddler content, so the whole recipe has to reach the browser before it’s usable. That’s fine at moderate scale, but it means browser-side search only ever sees what actually got loaded: with a very large recipe (say, millions of tiddlers), the initial load itself becomes impractical, and search is limited to whatever fraction made it into memory.
Classic TiddlyWiki’s lazy-loading docs describe an old plan to delegate full-text search to the server (via TiddlyWeb’s search API) for exactly this reason — once tiddler content isn’t fully loaded client-side, the server is the only place that can “see” everything and search over it.
Is something like this on the table for MWS — a server-side search endpoint that recipes/bags could query directly, instead of relying on the browser having the full text in memory? Or is this considered out of scope / better left to something like SQLite FTS at the storage layer?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation files, tests, or entry points are named. Start by tracing how MWS loads recipe and tiddler content and how browser-side search currently works; define the desired server-side search scope and endpoint behavior, including whether storage-layer search such as SQLite FTS is in scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend-api-design, databases, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100