explaingit

micheleriva/zbsearch

Analysis updated 2026-05-18

131TypeScriptAudience · developerComplexity · 3/5Setup · easy

TLDR

A JavaScript search engine supporting full text, vector, and hybrid search that runs in the browser, server, or anywhere JavaScript works.

Mindmap

mindmap
  root((ZBSearch))
    What it does
      Full text search
      Vector search
      Hybrid search
    Tech stack
      TypeScript
      Runs anywhere JS runs
      TensorFlow.js for embeddings
    Use cases
      Website search box
      Semantic product search
      Ecommerce facets and filters
    Audience
      Web developers
      npm install and go

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add fast full text search to a website or app without a separate search server.

USE CASE 2

Build semantic search using vector embeddings to match by meaning, not just keywords.

USE CASE 3

Combine keyword and vector search with hybrid mode for better relevance.

USE CASE 4

Filter, facet, and boost search results for an e-commerce or content catalog.

What is it built with?

TypeScriptJavaScriptTensorFlow.js

How does it compare?

micheleriva/zbsearchinfrost/raptorqrboob025/peace-equalizer-apo
Stars131131134
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderateeasy
Complexity3/53/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Vector and hybrid search require supplying your own text embeddings, or using the plugin-embeddings plugin.

No license information was provided in the README.

In plain English

ZBSearch is a JavaScript search engine, a piece of software you can add to a website or app so users can search through data, whether that data lives in a browser, a server, or elsewhere JavaScript runs. The README explains it as a fork of an earlier project called Orama, restarted by the same team of engineers after they left the original company, now maintained independently without outside investors. It supports full text search, meaning matching plain words and phrases, as well as vector search, which compares numeric representations of meaning called embeddings rather than exact words, and a hybrid mode combining both. Other listed capabilities include filtering results, searching by geographic location, pinning specific results to the top for merchandising purposes, grouping results into facets, boosting certain fields to matter more in ranking, tolerating typos, and a ranking method called BM25. It also supports stemming and tokenization, ways of normalizing words for matching, across 30 languages, plus a plugin system for extending it. Installing it is done with common JavaScript package managers like npm, yarn, pnpm, or bun, or by importing it directly in a browser using a script tag pointed at a CDN. Using it starts by creating a database instance and defining a schema describing what fields your data has, such as strings, numbers, booleans, geographic points, and vectors. You then insert documents matching that schema and run searches against them. For vector or hybrid search you need to supply numeric embeddings representing the meaning of your data at search time. The README mentions a companion plugin, plugin-embeddings, for generating those embeddings automatically if you do not already have a way to produce them, using TensorFlow.js as the underlying engine.

Copy-paste prompts

Prompt 1
Help me set up ZBSearch with a schema for my product catalog including a vector embedding field.
Prompt 2
Show me how to run a hybrid search query in ZBSearch combining keyword and vector matching.
Prompt 3
Explain how to use the plugin-embeddings plugin to auto-generate embeddings for ZBSearch.
Prompt 4
Walk me through adding typo tolerance and field boosting to my ZBSearch queries.

Frequently asked questions

What is zbsearch?

A JavaScript search engine supporting full text, vector, and hybrid search that runs in the browser, server, or anywhere JavaScript works.

What language is zbsearch written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript, TensorFlow.js.

What license does zbsearch use?

No license information was provided in the README.

How hard is zbsearch to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is zbsearch for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.