Intelligence · AI search
Why AI second brain apps get slow at semantic search in a large vault, and what helps
Semantic search slows down in a large vault because every note has to become embeddings before it can be searched, and a local model does that work on your own processor and memory. Let the first index finish, try a smaller embedding model and exclude folders you never search.
AI second brain apps slow down at semantic search in a large vault because search by meaning needs embeddings first. Every note, or every block of a note, goes through an embedding model that turns its text into a list of numbers, and with a local LLM runner such as Ollama, that work happens on your own processor, graphics card and memory. The first pass over a big vault is the longest wait. After that, an index that updates only what changed, a smaller embedding model and a few excluded folders keep the work in check.
This guide explains each of those costs in plain words, then goes through what the tools' own documentation says, as we read it in October 2026: Smart Connections and Copilot for Obsidian, Ollama, and Logseq. We ran no tests, and we give no timings that those pages don't state themselves. Fixes that are not a vendor's own words are marked as general advice. We make Barside, a free desktop app for Windows, Linux and Mac, and its search works differently: it matches words on your computer and builds no index. Its limits are here too.
Why semantic search in AI second brain apps slows down in a large vault
Search by meaning has to compare meanings, so it turns text into something a computer can compare. Ollama's embeddings documentation describes embeddings as text turned into numeric vectors, for semantic search, retrieval and RAG, and says a vector's length depends on the model, typically 384 to 1024 dimensions. Passages about the same idea get vectors that sit close together. When you search, your question becomes a vector too, and the app looks for the stored vectors nearest to it.
Each step of that costs something, and most of the costs grow with your vault. The table is a general explanation, with no measurements behind it.
| Step | When it runs | What makes it slower |
|---|---|---|
| Embedding every note | The first time, and again after a model change | More notes, notes split into blocks, a larger model |
| Updating changed notes | While you edit | Many edits to long notes |
| Embedding the question and comparing | Every search | Many stored vectors, a weak index |
| Loading the model | Whenever it is not already in memory | A large model, little free memory |
An index is the stored set of vectors, kept in a form the app can search quickly instead of checking every vector one by one. Building it is the heavy part. Smart Connections' README on GitHub says its built-in local model indexes your vault automatically, and that the plugin listens for Obsidian events so indexing stays in sync with your vault. As general advice, that is the pattern to look for in any tool: index once, then update only the notes that change.
Blocks multiply the work. The Smart Connections documentation separates two kinds of results: Sources returns whole notes, and Blocks returns headings or blocks. As general advice, a vault embedded block by block holds many more vectors than the same vault embedded note by note, so it takes longer to build and more room to store.
The model itself has to be in memory before it can embed anything. Ollama's FAQ says models are kept in memory for 5 minutes by default before they are unloaded, so a search after a quiet spell may wait while the model loads again.
What helps when semantic search crawls
Most fixes come down to doing less work, or doing it once. Each step says whether it comes from a vendor's page or is general advice.
- Let the first index finish. Smart Connections' getting started guide says to let preparation finish while its Needs embedding count stays above zero, and to continue once the status view shows it is ready. Copilot for Obsidian's search page says indexing progress for Miyo, the search-by-meaning service it connects to, shows in Miyo. General advice: start a first run over a big vault when you can leave the computer plugged in and idle.
- Exclude folders you never search. The Smart Connections docs say that to stop indexing content, you change the Smart Environment include or exclude settings. The same page says the filters in the Connections view do not change what gets indexed, so hiding results saves no indexing work. Copilot's search page says Obsidian's ignored paths become Miyo's first exclusions. General advice: archives, attachment folders and old web clippings are good places to start.
- Embed whole notes before blocks. General advice: start with note-level results, and switch on blocks for the folders where you need the exact section. Smart Connections' docs say that when blocks are too noisy or expensive, you can return to Sources or tune block preparation in Smart Environment.
- Try a smaller embedding model. Ollama's post on embedding models, from April 8, 2024, lists three examples by parameter size: mxbai-embed-large at 334M, nomic-embed-text at 137M and all-minilm at 23M. General advice: a smaller model does less work per note, and its matches can differ, so test it with questions whose answers you already know.
- Plan for a full rebuild when you change models. Ollama's embeddings page says to use the same embedding model for both indexing and querying. A new model therefore means embedding the whole vault again, so make that change once, on purpose.
- Keep the model loaded while you work. Ollama's FAQ says the
OLLAMA_KEEP_ALIVEsetting changes how long models stay in memory, and that you can preload a model by sending the server an empty request. General advice: a longer keep-alive trades memory for fewer reloads, which suits a computer with memory to spare.
How Barside searches a large library without embeddings
Barside's AI search in Library & briefing takes another route. Its search step runs on your computer, with no model, no download and no index to build, and it reads your current library each time you ask. It splits the notes and sources you included into passages and scores each against the words of your question. Rare words weigh more than common ones, length alone doesn't carry a long passage to the top, title words count a little extra, and a plural matches its singular.
Barside keeps the six best passages, no more than two from one note or bookmark, and sends only those and your question to the AI you connected in Settings → AI: Claude, ChatGPT, Gemini or OpenRouter. The AI is told to answer from those passages alone, with numbered sources such as [S1] that open with a click. AI search that cites its sources covers every detail.
For a large library, that design has clear trade-offs:
- No first index. There is nothing to build before your first question, and nothing to rebuild when you switch AI companies or models.
- No local model to load. The search step uses no model and needs no download, so the model checks below do not apply to it.
- Words, as written. Search matches the words in your question, so a note that only says "bill" will not come up when you ask about an "invoice". Ask with the names, clients and projects your notes use.
- Short words are skipped. Words of one or two letters, such as "Q3" or "AI", are not matched, so add a longer word from the note.
- A small window. Six passages suit focused questions about one project or decision.
- A connection for the answer. The search step works offline, but writing the answer needs a connection to the AI company you connected.
We have no timings to share for very large libraries, so we can't tell you how long a search takes on yours. To try it on your own notes:
- Download Barside for Windows, Linux or Mac. To bring an Obsidian vault, open Settings & backups and choose Import next to Import notes, then Obsidian. The Obsidian move guide explains the limits: up to 5,000 notes and 1 GB of files at a time, so a bigger vault goes in folder by folder.
- Connect an AI in Settings → AI.
- Open Library & briefing. On the Sources tab, under Choose included workspaces & notes, untick the workspaces or notes you never want searched. The Search card shows how many passages are searchable.
- On the Ask library tab, type your question in Ask your entire library and press Ask library.
- Read the answer under From your library, and click a source's title to open it.
For finding a note you can name, no AI is needed. The search bar opens with Alt+Shift+Space from any app, matches every word you type in any order, ranks title matches above matches in the text, and works offline.
Why semantic search is slow on an older Windows computer
In general, slow semantic search performance in a local AI second brain on Windows, especially on an older computer with a large vault, comes down to where the model runs and how much memory it has. A model that fits on a graphics card usually has an easier time than one squeezed into system memory next to your other apps. That is general advice, and Ollama's documentation gives you the tools to check.
- Check the system. Ollama's Windows page lists Windows 10 22H2 or newer, Home or Pro, and NVIDIA drivers 551.61 or newer if you have an NVIDIA card. It lists driver requirements for AMD Radeon cards as well.
- See where the model loaded. Ollama's FAQ says
ollama psshows the loaded models, and its Processor column tells you where each one sits: 100% GPU means entirely on the graphics card, 100% CPU means entirely in system memory, and a split such as 48%/52% CPU/GPU means both. - Watch the memory. The FAQ says the RAM a model needs scales with the number of parallel requests times the context length, and that parallel requests default to 1 per model. It also says several models can stay loaded at once, provided they fit in memory. General advice: if a chat model and an embedding model share an older computer, close what you can while the first index runs.
- Mind the disk. The Windows page says the install needs at least 4GB of space and that language models can be tens to hundreds of GB. The
OLLAMA_MODELSsetting moves where models are stored.
General advice for an older computer: pick a small embedding model, exclude folders before the first run, let that run happen overnight, and keep results at the note level. Barside's own search step is a separate case. It runs no local model, so it puts no model in your memory at all, and Barside runs on Windows 10 and 11, Linux and Mac.
Logseq and Obsidian: what the docs say about local embeddings in a large vault
For Logseq and Obsidian, semantic search performance in a large vault depends on the plugin or service that makes the local embeddings, and the documentation we read says more about setup than about speed. None of the pages below gives hardware requirements or a time for indexing a whole vault.
Smart Connections for Obsidian
The Smart Connections README, titled Smart Connections v4, says embeddings are created locally by default, and that its local model starts creating them right away with no extra apps, command-line tools or API key. It also says the plugin works on mobile devices. The README does not name the embedding model, and we found no speed figures or hardware needs in it or in the docs pages we read.
Exclusions live in Smart Environment, the shared layer under the Smart plugins. The README lists extra Smart Environment controls for embeddings and include or exclude rules among the additions of Connections Pro, which it describes as available to project supporters. The docs' troubleshooting names an Embedding paused state and a Resume embedding step in the status view, which is worth checking when results seem to stop growing.
Copilot for Obsidian and Miyo
Copilot for Obsidian keeps two kinds of search apart. Its search page says file search finds exact words, phrases, filenames and paths and needs no index, while Miyo's semantic search finds related ideas even when your notes use different words. For meaning-based search across a large vault, the page says to connect Miyo.
The page calls Miyo a local-first knowledge service and says local desktop and command-line use is free. You can refresh it with the Refresh Miyo index command, and the page says editor updates follow Miyo's index, so they arrive a few seconds behind typing. The page says Copilot cannot discover a Miyo server on a phone or tablet, so the option that finds Miyo on the device is off on mobile. The page names no embedding model.
Logseq
Logseq's Desktop 2.0.1 release notes introduce the 2.0 database version as an early beta that may have rough edges. We found no mention of semantic search, embeddings or a local embedding model in those notes, or in the Desktop 2.0.2 release notes of October 7, 2026, so we could not confirm from an official Logseq page whether Logseq searches by meaning, or how such a search would behave in a large library. Check Logseq's own release notes for what ships today.
Examples of who should do what
Each person below is a made-up example, there to show how the choices play out.
- A graduate student on an older Windows laptop. For example, Lena keeps a large Obsidian vault of literature notes.
ollama psshows her embedding model at 100% CPU, so she moves to a smaller model, excludes her attachments and archive folders, and lets the first index run overnight. - A consultant who searches by name. For example, Omar mostly asks about clients and projects by name. Word search fits him well, so he asks Barside "What did we agree with Northwind about the budget?" and opens the cited notes.
- A writer who searches by theme. For example, Ruth wants notes about loss to surface even when they never use that word. Search by meaning suits her better than word matching, so a plugin with local embeddings, given time to index, is the right tool for that job.
Privacy: where your notes and vectors live
Local embeddings keep the work on your computer. Smart Connections' README says embeddings are created locally by default, and it asks you to add its .smart-env/ folder to a third-party sync tool's ignore patterns to avoid conflicts. As general advice, treat that index folder as part of your notes when you think about backups and who can read your files.
Cloud embeddings are a different deal. Our guide to AI note apps and client confidentiality explains that some plugins send a whole library to a cloud embedding service once, before you ask anything.
In Barside, the search step runs on your computer. When you ask, your question and up to six matching excerpts go to the AI company you connected, whose data policy applies. Notes and workspaces you untick in Sources are never searched or sent. Read how AI search uses your data.
How it compares
Search by meaning helps most when you remember an idea but not its words. Smart Connections, with local embeddings by default, and Copilot for Obsidian with Miyo, a local-first service, bring it to an Obsidian vault, and the Smart Connections README says that plugin works on mobile devices too. If you mostly look things up by a name, a client or a project, matching words gets you there with no index to wait for.
Barside sits on the word-matching side, with cited answers written by the AI you choose, and adds tasks, reading, recording and transcription in the same app. It has no phone app, and it does not search by meaning. For a wider view, read the Obsidian alternative guide, the best second brain apps, how AI second brain apps answer only from your notes, and how bringing your own AI key works.
Works well with
FAQ
Questions and answers
Why is semantic search slow in a large Obsidian vault?
Search by meaning needs an embedding for every note, or every block, before it can find anything, and a local model makes them on your own hardware. The first pass over a big vault takes the longest. Smart Connections, for example, says to let preparation finish while its Needs embedding count stays above zero. After that, the index only has to keep up with your edits.
Does a smaller embedding model make semantic search faster?
As general advice, a smaller model does less work per note, so indexing a large vault takes less effort. Ollama's April 2024 post on embedding models lists all-minilm at 23M parameters, nomic-embed-text at 137M and mxbai-embed-large at 334M. Its docs say to use the same model for indexing and querying, so switching means embedding the whole vault again. Test the matches with questions you know the answers to.
How do I check whether Ollama uses my graphics card on Windows?
Run ollama ps. Ollama's FAQ says its Processor column shows where each loaded model sits: 100% GPU means on the graphics card, 100% CPU means in system memory, and a split such as 48%/52% CPU/GPU means both. Ollama's Windows page lists Windows 10 22H2 or newer, and NVIDIA drivers 551.61 or newer if you have an NVIDIA card.
Does Logseq have built-in semantic search?
We could not confirm it from an official Logseq page. The Desktop 2.0.1 release notes we read introduce the database version as an early beta, and neither they nor the 2.0.2 notes of October 7, 2026 mention semantic search, embeddings or a local embedding model. Check Logseq's own release notes for what ships today.
Does Barside use semantic search or embeddings?
No. Barside's AI search matches the words of your question on your computer, with no model, no download and no index to build, and it reads your current library each time. The trade-off is that it finds words as written, so ask with the names and terms your notes use. See AI search that cites its sources.
Can Barside answer with a local LLM?
No. Answers come from the AI you connect in Settings → AI: Claude, ChatGPT, Gemini or OpenRouter. The search step runs on your computer and works offline, but writing the answer needs a connection to that company. If the model has to stay on your own hardware, a tool with a local model fits better.
Is Barside free?
Yes. Barside is free on Windows, Linux and Mac, with no note limit and no account for your notes. AI search uses an AI account you connect, and that company bills you for what you use. Barside Plus is optional at US$20 a month or US$200 a year plus sales tax, for encrypted cloud backup, sync and cloud agents.
Sources
Where the facts come from
Checked on October 22, 2026. Products change: if something here is out of date, tell us at support@barside.space.
- Smart Connections on GitHub (README)
- Smart Connections: Getting started
- Smart Connections docs: Connections
- Copilot for Obsidian: Miyo, local-first search and AI ownership
- Ollama docs: Embeddings
- Ollama docs: FAQ
- Ollama docs: Windows
- Ollama blog: Embedding models (April 8, 2024)
- Logseq Desktop 2.0.1 release notes
- Desktop APP 2.0.2 (Beta Testing) - Logseq on GitHub