TiddlyWiki / TiddlyWiki/MultiWikiServer

Question: Server-side search for large recipes?

Open
#135 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.