Skip to Content
Search & AskVector search

Vector search

⌘3. Your words are turned into a vector by EmbeddingGemma 2 running on this Mac, and the passages whose vectors are closest come back. It finds “the relationship between soul and body” in a passage that never uses those words. No account, nothing sent anywhere.

Setting it up

  1. In Shape, open a Text property’s options (click its kind) and switch on Vector search; or right-click the row › Embed for Vector Search. A sparkle appears on the row.
  2. The first time, a sheet offers the model: Vector search — Embedding turns text into vectors, so Ask can find passages with vector search… The model is a one-time download of 310 MB from Hugging Face (Apache 2.0). Download or Not now. The property stays set either way; its text is embedded as soon as the model is here. The download’s progress, cancel, retry and Remove are in Settings › Vector search, and the same control shows wherever the model’s missing: under the type’s properties in Shape, in the mode popover, in a failed trail step.
  3. Embedding runs in the background. The top bar shows Embedding 12 of 340; the Shape inspector shows, under the type’s properties, “340 passages · ready for vector search”, “Embedding paused” with Try again, or “Waiting for the model”.

What gets embedded

Each value of an embedded property is split into passages: paragraphs, then sentences packed to about 1,000 characters (at most 1,400) with one sentence of overlap, so each reads as a whole thought. The node’s title is embedded alongside each passage, the way the model was trained. Relationships’ text properties can be embedded too.

The index is kept in step automatically: a node added, edited or renamed (its title changes its passages’ vectors), a property switched on or off, a type or property deleted, a project imported, the app quit mid-way: a reconciler plans what’s missing or stale and fills it in. Renaming a property keeps its vectors.

A second index, always on, embeds every node’s title; it’s what spots likely duplicates when the AI drafts nodes and finds the nodes a message mentions.

Searching

Type what you mean. Commas separate several searches: each keeps what’s close to its own best match, and the results are pooled. ::Type:: scopes work as in Raw Text, naming only embedded properties (see Scopes). The Search in list under the mode shows each embedded property with how many passages it holds; untick to leave some out.

The trail: Running vector search · on this Mac → Ran vector search · 8 matches · 2 ms, with where each term was looked for when scoped, and “12 passages are still being embedded, so some text isn’t searchable yet” when the index isn’t finished.

Ranking

Every passage within the scope is compared by cosine similarity (brute force, with Accelerate; under a millisecond for thousands). Passages more than 0.15 below the best score are left out as noise. The rest are grouped by record, best first, up to 20 matches.

Results

Each match is a card: the node’s bead, title and type (or a relationship’s name and its two ends), and a strength bar (gold, full for the best match, shorter the further down; hover for the similarity). Under it, the matched passage with its property’s name and “passage 2 of 5”, ”…” marking a cut at either end, Expand when four lines cut it short, and N more passages when the record matched in several. When Auto followed connections, chips of what the node links to, each a click away.

Click the card’s header or a passage and the record is selected on the canvas and in the inspector with its matched passages marked, scrolled to the one you clicked. The matches become the answer canvas, with each match’s neighbours (when followed) placed just after it.

When it can’t run

Trail saysWhy
Nothing for vector search · No text property is set to Embed yetwith an Open Shape button
Nothing for vector search · Every embedded property is untickedtick one in Search in
The embedding model isn’t on this Macwith Download 310 MB, or “It’s downloading now; ask again when it has finished.”
Nothing closeno passage is near your words; “Some text is still being embedded” when the index is incomplete

The model’s weights load on first use and are let go after three minutes idle, so the first search after a pause takes a moment longer.