Markdown search forces a bad choice: stand up a server, or grep and miss.
Full-text engines like Tantivy and Meilisearch are excellent, and they bring a deployment: an index server, a process, sometimes a port. That is overkill for a few thousand files on the user's own disk. A plain grep needs no deployment and fails the moment the query and the document's wording diverge, which is most of the time once notes are written in human language across years. ae-vx is the in-between: small enough to embed without changing how a tool ships, capable enough that a paraphrase still lands on the right document.
One crate, two builds, no bundled weights.
The same crate compiles full-hybrid or lexical-only; feature flags decide whether any machine-learning machinery is linked at all.
Index once, rank two ways, all in-process.
One orchestrator. Indexing chunks each file at heading boundaries and feeds both rankers; a query dispatches by mode. No server answers it. The call is the search.
Three search modes over one index, embedded in-process.
The same index answers lexical, semantic, or hybrid on a per-query basis, with no rebuild. What a consumer gets: capable search added as a dependency line, no server and no port.
A paraphrase still lands on the right file.
Search encrypt user credentials at rest over notes worded another way. A literal match returns an empty page: not one of those words is in the file. The note is there, about sealing secrets before they hit disk, and ae-vx surfaces it on meaning rather than characters.