Search & ask your docs

tela has two ways to find things: instant search for "where did I write that word", and semantic search / Ask for "what do my docs say about X".

Instant full-text search

The search palette runs ranked Postgres full-text search over every page you can access — title weighted above body, snippet-highlighted, punctuation-forgiving (it parses like a web search box, so quotes work). Fast and exact, but it matches keywords, not meaning. Reach it with g s or / — see [[Keyboard shortcuts]].

Semantic search

Semantic search finds pages by meaning, not matching words — "how do I publish a space" surfaces the right page even if it never says "publish". Pages are embedded into vectors in the background when saved, and your query is matched against them.

It isn't limited to page text — attached files are indexed too. Upload or sync a PDF or text file (.md, .txt, .csv, .json) and tela extracts its text in the background and embeds it alongside your pages, so a search can find an answer that lives inside an attachment. A file result is marked as a file and cites the attachment (name, the page it's on, a download link) rather than a page, gated by the same access rules — you only retrieve files in spaces you can read. Non-text bytes (images, scanned PDFs with no text layer, binaries) aren't indexed; they still attach and preview as before.

Ask your docs

Natural-language Q&A grounded in your own pages. You ask a question; tela retrieves the most relevant chunks — scoped to exactly the spaces you can read, never across access — feeds them to an LLM, and returns an answer with cited sources. Sources can span multiple pages and attached files, so one answer can stitch together a page and a synced PDF. The answer streams in as it's written: the cited sources appear first, then the response types out live.

The model answers only from the retrieved excerpts and says so when your docs don't cover it — no inventing facts. Thin grounding is flagged low-confidence. When sources disagree on a value, it surfaces the discrepancy and gives both sides rather than silently picking one — drawing on the conflicts tela already tracks between your pages (see [[Trust & provenance]]), so it can warn "source A says X, source B says Y — verify". Each answer can suggest follow-up questions, turning one answer into a thread to pull on.

[!TIP] Agents reach the same retrieval over MCP via the research tool — it returns the assembled grounding (cited sources, flagged disagreements, a low-confidence signal) for the agent to answer from. See [[Agents & MCP]].

[!TIP] Public spaces count too. Any space published to the open web (see [[Publishing & public URLs]]) — including these docs — is part of search and Ask for every signed-in user, even non-members. So you can ask tela how to use tela. Private spaces stay scoped to their members, as always.

Discover & tidy up

The same semantic index also helps you connect and clean the wiki:

The graph's Semantic lens visualises these same connections — see [[Graph view]].

Indexing status

Pages are embedded (and summarized for grounding) in the background, a few seconds after each save. While that's still catching up, a small amber dot sits next to the page in the sidebar — and a rollup dot next to its space — with a tooltip naming what's pending ("Not indexed yet", "Edited since last indexed", "Summary out of date"). It clears itself once the background workers finish; there's nothing to do. A page with nothing to index — a drawing-only page, say — never shows it.

The dot only appears for a subsystem that's actually running (an embedder for indexing; the summarizer for summaries). Admins get the full per-space picture, plus a manual re-run, under Settings → Search index and Settings → Summaries.

[!IMPORTANT] Semantic search, Ask, and the related/suggestion/overlap features all run on the semantic index, so they need an embedder configured (Ask also needs an LLM). On the managed cloud both are provided (subject to your plan's monthly AI-call limit). Self-hosting, you bring your own (TELA_RAG_EMBED_URL + an LLM). Unconfigured, they return 503 and no-op — instant full-text search is unaffected.

When AI is temporarily unavailable

When the embedder or answer model is configured but momentarily unreachable — down, restarting, or under maintenance — tela detects this automatically and shows an "AI temporarily unavailable" state on Ask instead of letting a question fail with a cryptic error. It clears on its own once the model is back; you don't need to do anything. Instant full-text search keeps working throughout. (Admins can also force this state at any time with the AI kill-switch — see [[Administration]].)