Head to head
Stop guessing which one. Put them side by side.
Up to 4 tools, same rows for each: what it is, what it really costs, the trap, and how to wire it up. The URL carries your picks — send it to anyone.
Cloudflare VectorizeFuse.jsMiniSearch
Quick read
- Free with no card: Fuse.js, MiniSearch.
| Field | Cloudflare Vectorizedevelopers.cloudflare.com | Fuse.jsfusejs.io | MiniSearchgithub.com |
|---|---|---|---|
| What it is | Cloudflare's vector database, queried from a Worker with no network hop or over an HTTP API. Billing is purely by vector dimensions stored and queried — no CPU, memory, active index hours, index count or data transfer charges, and empty indexes cost nothing at all. | A zero-dependency fuzzy-search library using the Bitap algorithm — roughly 6.8kB gzipped for the basic build, 8.6kB for the full one. Searches arrays of JS objects in memory with typo tolerance, field weighting, nested keys and extended query operators. Runs in browsers, Node and Deno. | A dependency-free JavaScript full-text search engine that builds a real inverted index in memory, in the browser or in Node. Supports prefix search, fuzzy matching, field boosting, modern relevance ranking, auto-suggestion, and adding or removing documents at any time. The index serializes to JSON so it can be prebuilt. |
| Category | Search, vector & RAG | Search, vector & RAG | Search, vector & RAG |
| Cost tier | mixed | free | free |
| Pricing | Workers Free: 5M stored vector dimensions, 30M queried dimensions/mo. Workers Paid ($5/mo): 10M stored and 50M queried included, then $0.05 per 100M stored dimensions and $0.01 per million queried dimensions. | Free, Apache-2.0. No service, no account, no limits, no bill. | Free, MIT-licensed. No service or account. |
| Why builders pick it | If the app already lives on Cloudflare this is the vector store with zero added latency and near-zero idle cost. Workers AI can generate the embeddings inside the same request. | When a few hundred to a few thousand items already sit in your app state — a command palette, a settings list, a filterable table — this is ten lines of code and no infrastructure. | The step up from Fuse.js when you have tens of thousands of records — a proper index instead of rescoring every item per keystroke, still with no backend and no bill. |
| Watch out for | Dimension-based billing misleads — 1M vectors at 768 dimensions is 768M dimensions, far past the free allowance. Query and filter features are thinner than Qdrant or Weaviate. | It scores every item on every keystroke, so it degrades noticeably past roughly 10K records. Use MiniSearch or a real index above that. | The whole index ships to the client, so a large corpus means a large download. Prebuild and cache the serialized JSON rather than indexing on every page load. |
| How to wire it up | npx wrangler vectorize create my-index --dimensions=768 --metric=cosine | npm i fuse.js | npm i minisearch |
| Editor's pick | No | No | No |
Which one did you ship?
The grid says what these tools are. This says what builders did about it — one decision per person, changeable whenever you change your mind.
0/280Sign in to add yours.
Or try
Hand this to your Lovable agent
# Tool comparison — Cloudflare Vectorize vs Fuse.js vs MiniSearch Source: Kbaise, a directory of tools that work with Lovable projects. Pick one and tell me why before writing any integration code. ## Cloudflare Vectorize (cloudflare-vectorize) - URL: https://developers.cloudflare.com/vectorize/ - Category: Search, vector & RAG - Cost: mixed — Workers Free: 5M stored vector dimensions, 30M queried dimensions/mo. Workers Paid ($5/mo): 10M stored and 50M queried included, then $0.05 per 100M stored dimensions and $0.01 per million queried dimensions. - What it is: Cloudflare's vector database, queried from a Worker with no network hop or over an HTTP API. Billing is purely by vector dimensions stored and queried — no CPU, memory, active index hours, index count or data transfer charges, and empty indexes cost nothing at all. - Why builders pick it: If the app already lives on Cloudflare this is the vector store with zero added latency and near-zero idle cost. Workers AI can generate the embeddings inside the same request. - Trap: Dimension-based billing misleads — 1M vectors at 768 dimensions is 768M dimensions, far past the free allowance. Query and filter features are thinner than Qdrant or Weaviate. - Wiring: npx wrangler vectorize create my-index --dimensions=768 --metric=cosine - Full dossier: /api/public/tools/cloudflare-vectorize ## Fuse.js (fuse-js) - URL: https://www.fusejs.io - Category: Search, vector & RAG - Cost: free — Free, Apache-2.0. No service, no account, no limits, no bill. - What it is: A zero-dependency fuzzy-search library using the Bitap algorithm — roughly 6.8kB gzipped for the basic build, 8.6kB for the full one. Searches arrays of JS objects in memory with typo tolerance, field weighting, nested keys and extended query operators. Runs in browsers, Node and Deno. - Why builders pick it: When a few hundred to a few thousand items already sit in your app state — a command palette, a settings list, a filterable table — this is ten lines of code and no infrastructure. - Trap: It scores every item on every keystroke, so it degrades noticeably past roughly 10K records. Use MiniSearch or a real index above that. - Wiring: npm i fuse.js - Full dossier: /api/public/tools/fuse-js ## MiniSearch (minisearch) - URL: https://github.com/lucaong/minisearch - Category: Search, vector & RAG - Cost: free — Free, MIT-licensed. No service or account. - What it is: A dependency-free JavaScript full-text search engine that builds a real inverted index in memory, in the browser or in Node. Supports prefix search, fuzzy matching, field boosting, modern relevance ranking, auto-suggestion, and adding or removing documents at any time. The index serializes to JSON so it can be prebuilt. - Why builders pick it: The step up from Fuse.js when you have tens of thousands of records — a proper index instead of rescoring every item per keystroke, still with no backend and no bill. - Trap: The whole index ships to the client, so a large corpus means a large download. Prebuild and cache the serialized JSON rather than indexing on every page load. - Wiring: npm i minisearch - Full dossier: /api/public/tools/minisearch ## Quick read - Free with no card: Fuse.js, MiniSearch. ## Rules 1. Prefer the free tier when no budget was stated, and say what the ceiling is. 2. Read the full dossier before integrating. 3. Fetch /api/public/models before writing any AI model ID.
Agents can fetch the same thing: GET /api/public/compare?slugs=cloudflare-vectorize,fuse-js,minisearch