-
Notifications
You must be signed in to change notification settings - Fork 0
Semantic Search
Search by meaning, not keywords. A query like "insurance renewal letter" finds the right document even if those exact words never appear in it — and, because search is hybrid, a query like "FR7630004000031234567890143" still finds the exact one.
This page is the user-facing view. The mechanics — hybrid retrieval, rank fusion, reranking — are in Retrieval & RAG.
- Your query is embedded with the same model that indexed your files.
- Two searches run in parallel: dense (cosine over vectors, for meaning) and BM25 (full text, for exact words).
- Their rankings are fused, the top candidates are reranked by a cross-encoder that reads query and passage together, and results are deduplicated to one line per file.
- Files that no longer exist on disk are dropped before display.
Everything runs locally except the query embedding, which goes to your embedding server if you configured one.
Search can be restricted to the current folder and its descendants. The filter is applied inside the vector store, so "in this project, where did I mention the deadline?" costs nothing extra and returns nothing from the rest of the disk.
Path matching is Windows-aware: separators and LIKE metacharacters are escaped, so a folder named 100%_backup behaves like a literal name.
Anything that received "sense" during indexing:
- extracted text from PDFs, Office documents, code and markup;
- OCR of scanned PDFs (pages rendered and read by the vision model);
- captions of images, and their LLM qualification;
- transcriptions and visual descriptions of audio and video;
- contextual descriptors for opaque or oversized files — filename, folder, type, neighbours, plus the model's guess at what it is;
- block-folder summaries — one entry for a whole technical folder.
Each of those also carries a qualification: a couple of sentences saying what the thing is. That qualification is both keyword-searchable and folded into every chunk's vector, which is why a document is findable by its nature ("carte d'identité") even when those words appear nowhere in it.
A different view over the same index: the folder tree of your scope, with each node coloured by relevance to the query. A folder's score is the best score among its descendants, and children are sorted by score.
It answers "which part of my tree is about this?" rather than "which file?" — useful for exploring an unfamiliar archive.
A separate panel searches by visual similarity using CLIP: your text query is embedded into the same space as the images themselves, so "sunset over a lake" matches sunsets over lakes with no caption involved. It is built on demand and runs entirely locally — see Image Search.
- Describe the content, not the filename. "quarterly revenue chart" beats "q3.xlsx" — though hybrid search handles the filename case too.
- Use scope to cut through a large index.
- Exact identifiers work. Serial numbers, IBANs, surnames, extensions: that's the BM25 half earning its keep.
- Re-index after switching embedding models. Vectors from different models aren't comparable, so SenseTree forces a full re-index on such a change (Configuration).
- A file missing from results is usually not yet indexed, inside a block folder, or was processed while the embedding endpoint was down. Retrieval & RAG walks through the causes.
Getting started
Using it
- Configuration
- Models & Providers
- Semantic Search
- Image Search
- AI Chat & Agent
- Gardener
- Prompts
- MCP Servers
Under the hood