Open source search engines, installed and queried

Search engines you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.

Tested between and . Each row shows its own test date; a project can change after that day.

27 of 30 tested projects run. 38 more waiting for a test.

In short: 22 of the 30 tested projects started as-is on a fresh machine: sonic, tantivy, zvec, flexsearch, PaddleNLP, quickwit, ublacklist, and riot, and 14 more. 5 more started once a stand-in replaced a service they expect, such as a database: yt-fts, lnx, openserp, trieve, and memfree. 3 could not be verified: fess, seekdb, and serenedb; the log shows where each one stopped.

Measured by Argusic on a fresh machine every time. Every number links to its evidence.

#projectverdictArgusic Scorelanguagestarstested on
1sonicRuns100 / 100Rust21,359

🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

What the test found: Sonic search server builds, listens on 127.0.0.1:1491, accepts TCP connections, responds to Sonic Channel protocol (ingest/push/search/query/suggest commands work correctly), and all core tests pass. 36 minutes.

2tantivyRuns100 / 100Rust16,191

Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust

What the test found: Tantivy v0.27.0 compiles, all 1281 unit tests pass, and the basic_search example indexes documents and returns correct search results. 6 minutes.

3zvecRuns100 / 100C++16,077

A lightweight, lightning-fast, in-process vector database

What the test found: Zvec v0.7.0 prebuilt wheel and from-source build both work: the Python SDK successfully creates vectors collections, inserts documents, and returns ranked similarity search results, and the 1543-test suite passes with zero failures. 58 minutes.

4flexsearchRuns100 / 100JavaScript13,809

Next-generation full-text search library for Browser and Node.js

What the test found: FlexSearch v0.8.215 is installed with 591 npm dependencies, all 128 core library tests pass against the pre-built bundle on Node.js 18.19.1, build completes successfully, and smoke-test search queries return correct results. 12 minutes.

5PaddleNLPRuns100 / 100Python12,979

Easy-to-use and powerful LLM and SLM library with awesome model zoo.

What the test found: PaddleNLP 3.0.0b4 installed in venv, 67 tests passed across transformer and utils test suites, tiny LLaMA model loaded and generated text on CPU, CLI responds to --help. 8 minutes.

6quickwitRuns100 / 100Rust11,702

Cloud-native OSS search engine for observability

What the test found: Quickwit 0.9.1 builds from source, runs as a server on localhost:7280, serves REST API, health check, index creation, JSON document ingestion, and full-text search all verified working. 36 minutes.

7ublacklistRuns100 / 100TypeScript6,656

Blocks specific sites from appearing in Google search results

What the test found: Install, build, test, and lint/format checks all pass on commit c395a01 with submodule builtin @ 1ddf416. 2 minutes.

8riotRuns100 / 100Go6,054

Go Open Source, Distributed, Simple and efficient Search Engine

What the test found: All 30 Go packages build cleanly, the full test suite passes with -race, and the riot CLI binary responds to --help with subcommands list, snapshot, and completion. 3 minutes.

9sentrysearchRuns100 / 100Python4,530

Semantic search over videos using Gemini Embedding 2 or Qwen3-VL.

What the test found: SentrySearch 0.1.0 is installed and its full test suite (405 tests) passes. The CLI binary is on PATH, all commands parse and respond correctly. The local embedding model cannot load in this 8GB CPU-only container, but cloud-backed indexing and search work through the standard Gemini/DashScope backends. 9 minutes.

10USearchRuns100 / 100C++4,328

Fast Open-Source Search & Clustering engine × for Vectors & Arbitrary Objects × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and...

What the test found: USearch v2.26.2 Python package installed from prebuilt wheel, 772/772 pytest tests pass, 15/15 SQLite extension tests pass after building libusearch_sqlite.so locally, and the C++ native test suite passes with exit code 0. JavaScript native addon build timed out (missing numkong submodule compile). 18 minutes.

11ToshiRuns100 / 100Rust4,255

A full-text search engine in rust

What the test found: Toshi search engine builds, all 47 unit tests pass, the server starts on 127.0.0.1:8080, and end-to-end HTTP API operations (create index, index document, list indexes, search by term, get summary) all succeed. 7 minutes.

12zvec-grepRuns100 / 100Rust3,992

Local-first search across your workspace, built for humans and AI agents.

What the test found: zvec-grep 0.2.1 TypeScript implementation builds, the CLI runs and searches, the test suite passes 698 of 700 tests (2 fail only due to disabled IPv6 loopback in the container) and all 9 e2e tests pass with real model inference using local/potion-code-16m-v2. 54 minutes.

13xerjRuns100 / 100Rust3,229

XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep and sed. One command...

What the test found: xerj v1.0.0-rc.77 is installed at /home/runner/.local/bin/xerj, started in 690ms on --insecure mode, successfully autoindexed /work/repo/docs (18 datasets, 9681 records, 21s wall time), and serves queries on http://127.0.0.1:9200 with ES 8.13 wire protocol. No build step needed (binary install from GitHub releases)... 3 minutes.

14tntsearchRuns100 / 100PHP3,201

A fully featured full text search engine written in PHP

What the test found: PHP 8.0.30 (static binary) with PDO/pdo_sqlite/mbstring installed via tar.gz; Composer 2.8.5; all 88 PHPUnit tests pass against the SqliteEngine; search, searchBoolean, geo-search, fuzzy search, stemming, and indexing all verified working. 21 minutes.

15swirl-searchRuns100 / 100Python3,047

AI Search & RAG Without Moving Your Data. Get instant answers from your company's knowledge across 100+ apps while keeping data secure. Deploy in minutes, not...

What the test found: SWIRL Community Edition installed in a Python 3.12 virtual environment with all dependencies; Django server starts and answers requests; full test suite passes 184/184 tests. 11 minutes.

16tinysearchRuns100 / 100Rust2,977

🔍 Tiny, full-text search engine for static websites built with Rust and Wasm

What the test found: tinysearch 0.11.1 builds from source, generates valid WASM output from fixtures/index.json, all 24 unit tests and 5 integration tests pass. 6 minutes.

17rats-searchRuns100 / 100C++2,016

rats-search: BitTorrent P2P multi-platform search engine for Desktop and Web servers with integrated torrent client

What the test found: Rats Search builds into a working binary, reports version 2.0.0.1 on --version, starts in console mode by launching its bundled Manticore Search 17.5.1 and connecting to the DHT network, and all 17 unit-test suites pass (232 passed, 0 failed). 9 minutes.

18SeekStormRuns100 / 100Rust1,918

SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in Rust.

What the test found: Workspace builds cleanly with Rust 1.99.0, all 45 seekstorm library integration tests and all 7 seekstorm_client E2E tests pass, and the release seekstorm_server binary serves the live endpoint (HTTP 200) and completes the API key creation, index creation, document indexing, commit, and query flow returning the... 63 minutes.

19txtaiRuns94.7 / 100Python12,998

💡 All-in-one AI framework for semantic search, LLM orchestration and language model workflows

What the test found: txtai 9.14.0 installed in venv, all core embeddings/graph/workflow/agent/cloud/vector/scoring tests pass, API responds to search/index/count endpoints with real model inference, ~470 automated tests pass across 30 test suites. 83 minutes.

20infinityRuns60 / 100C++4,734

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text.

What the test found: Infinity v0.7.3 nightly (x86_64-v2) standalone server starts and accepts Thrift connections on port 23817 and HTTP on port 23820; Python SDK can create tables, insert vectors, run dense vector search queries, and return results via Polars DataFrames. 12 minutes.

21arcadedbRuns60 / 100Java1,189

ArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first...

What the test found: ArcadeDB 26.10.1-SNAPSHOT is fully built and functional: the server starts in development mode listening on port 2480, serving the Studio web UI (HTTP 200), and the engine test suite passes ~14624 tests with 0 errors and 1 pre-existing flaky timeout test that fails under heap contention during concurrent runs. 85 minutes.

22lancedbRuns48 / 100Rust11,617

Developer-friendly OSS embedded retrieval library for multimodal AI. Search More; Manage Less.

What the test found: Rust core crate lancedb compiles and passes all 73 integration tests; Python bindings install, import, and pass 1368 tests; the local (in-process) embedding store works end-to-end with vector search queries returning correct results. 84 minutes.

23yt-ftsRuns with mocks92 / 100Python1,811

YouTube Full Text Search - Search all of YouTube from the command line

What the test found: The yt-fts Python package installs via virtual env, CLI responds to --version/--help/config, list and full-text search work against the downloadable test database, and all 9 tests pass after patching download mocks and API-key mocks. 19 minutes.

24lnxRuns with mocks92 / 100Rust1,456

A flexible, performant and reliable search database without the AI bullshit.

What the test found: lnx 0.10.0 builds, starts as a REST API on port 4202, responds 200 to health checks, info summary, and docs endpoints, and passes all 10 tests. 23 minutes.

25openserpRuns with mocks92 / 100Go1,455

Self-hosted SERP API for AI, SEO & automation. Browser-rendered Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia search with page extraction 🎉

What the test found: OpenSERP v0.8.13 builds, all 12 unit test suites pass, and the HTTP server starts, serving /health and /ready endpoints on 127.0.0.1:7000. 8 minutes.

26trieveRuns with mocks82 / 100Rust2,719

All-in-one platform for search, recommendations, RAG, and analytics offered via API

What the test found: Python SDK installs and all 408 tests pass; JS/TS packages all build successfully; Rust server, Docker services, and integration tests are blocked by missing toolchain and network. 12 minutes.

27memfreeRuns with mocks56 / 100TypeScript1,513

MemFree - Hybrid AI Search Engine & AI Page Generator

What the test found: The MemFree monorepo has all packages installed (bun i succeeded in frontend, vector, mdreader, and extention). The frontend test suite passes 13/13. The Next.js dev server starts and serves HTTP 200 at /. The mdreader launches and returns HTTP 200. The vector service launches and responds to requests. 1 vector local... 17 minutes.

28fessCould not verify47.5 / 100Java1,140

Open-source, self-hosted enterprise & site search server built on OpenSearch. Crawls web / file / DB / cloud sources, 20+ languages, REST API, and AI/RAG &...

What the test found: Fess 15.9.0-SNAPSHOT builds and packages successfully from source. All 7,634 unit tests pass. The embedded Tomcat binds port 8080 but the application fails at runtime because no OpenSearch backend is reachable on localhost:9200. 36 minutes.

29seekdbCould not verify20 / 100C++3,106

The AI-Native Search Database. Best for agent storage, it unifies vector, text, structured, and semi-structured data into a single engine. This all-in-one...

What the test found: pyseekdb Python SDK 1.4.0.post1 installed and verified: embedded mode creates/upserts vector collections and returns semantically relevant query results. C++ source build blocked by missing system m4 (needed by bison 2.4.1 for SQL parser generation) and slow dependency mirror, though all 20 RPM dependency packages... 65 minutes.

30serenedbCould not verify10 / 100C++875

The First Real-Time Search Analytics Database

What the test found: could not be verified; the log shows where it stopped. 87 minutes.

-infinispanNot yet tested-Java1,355-
-walrusNot yet tested-Python1,208-
-SearchCLINot yet tested-TypeScript1,194-
-pisaNot yet tested-C++1,059-
-wikimanNot yet tested-Shell1,021-
-FlashRankNot yet tested-Python1,008-
-search_copNot yet tested-Ruby838-
-meilisearch-uiNot yet tested-TypeScript781-
-probeNot yet tested-Rust725-
-algoliasearch-client-phpNot yet tested-PHP696-
-QmediaNot yet tested-TypeScript635-
-Ominis-OSINTNot yet tested-Python629-
-paraNot yet tested-Java575-
-airAnimeNot yet tested-JavaScript460-
-meilisearch-rustNot yet tested-Rust431-
-itemsjsNot yet tested-JavaScript413-
-addokNot yet tested-Python388-
-google-thisNot yet tested-JavaScript378-
-XapiandNot yet tested-C++362-
-AtaruNot yet tested-Rust359-
-fojinNot yet tested-Python349-
-redd-archiverNot yet tested-Python346-
-session-knowledgeNot yet tested-Python337-
-eye_of_webNot yet tested-Python326-
-njtNot yet tested-TypeScript318-
-scoutNot yet tested-Python315-
-searcharrayNot yet tested-Python313-
-solr-operatorNot yet tested-Go286-
-typikonNot yet tested-Rust284-
-relevanceaiNot yet tested-Python283-
-cortexdbNot yet tested-Go274-
-fastNot yet tested-Ruby273-
-OpenPlexity-PagesNot yet tested-Python255-
-retrivNot yet tested-Python253-
-cspapers.orgNot yet tested-JavaScript248-
-acts_as_indexedNot yet tested-Ruby212-
-crawlerNot yet tested-Java205-
-ghsNot yet tested-Java201-

runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.

How we tested

On this list as of the latest test: 22 projects ran as-is, 5 with mocks, 3 could not be verified, 38 still waiting. Languages tested: C++, Go, Java, JavaScript, PHP, Python, Rust, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.

Frequently asked questions (FAQs)

How is this list ranked?

By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.

Why are some projects unranked?

38 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.

Where is the evidence?

Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.

More lists in this category

All lists: Best. All tested projects: subjects.