Skip to content
OpenSourceSoftware.ai

GitHub stars

27,071
—Awaiting first sync

Awaiting first sync

No measured star history yet

What is Typesense?

Typesense is a search engine for teams that want Algolia-style instant search without paying per record or per query. Ranking, filtering and sorting are set in each search request rather than when the index is built, so one collection can serve many views of the same data.

Typesense is a search engine that you run as a single binary or Docker container and call over an HTTP API. It returns instant results that tolerate typos, with filters, facets, sorting, synonyms and pinned results, and it also handles vector, semantic and geo search. Several nodes can form a highly available cluster.

Core capabilities

  • Return relevant results even when visitors misspell, with filters, facets and sort order set per query.
  • Mix keyword and vector search, with embeddings generated inside Typesense or by an outside model.
  • Run one binary with no runtime dependencies, or a three-node cluster that survives a node failure.

What the search can do

Typesense handles typos out of the box and supports faceting, filtering, grouping, synonyms, curation and geo search by distance or bounding box. Federated search queries several collections in one request, and JOINs link collections by reference fields. Vector search can run on your own embeddings or on ones Typesense creates with built-in models or an outside API, which enables semantic and hybrid search, plus conversational answers over your own data.

  • Typo tolerance
  • Faceting
  • Vector search
  • Geo search

Analytics, clients and integrations

When search analytics is switched on with a server flag, Typesense collects popular queries and queries with no results, and can count clicks, conversions and visits against documents. Official API clients cover JavaScript, PHP, Python and Ruby, with community clients for Go, Java, .NET and others. An InstantSearch adapter provides ready search UI components, and plugins exist for WordPress, Laravel, Firebase and Docusaurus.

  • Search analytics
  • API clients
  • InstantSearch

Self-hosting and licence

Typesense ships as Docker images, DEB and RPM packages, Homebrew and Linux binaries for amd64 and arm64, and listens on port 8108 behind an API key. Data is held in memory, and a fresh server uses about 30MB before any documents are indexed. For high availability, the docs recommend at least three nodes. The server is licensed under GPL-3.0 and the official client libraries under Apache 2.0. Typesense Cloud is the paid managed option.

  • Docker
  • Clustering
  • GPL-3.0
  • Self-hosted

Where it fits

Use cases

  1. 01

    Build product search for a web shop

    Create a collection with fields for name, brand, price and category, then import the catalogue as JSON. Use the InstantSearch adapter to add a search box with facet filters and a sort-by-price option.

  2. 02

    Promote items for a campaign

    Add synonyms so that searches for related words find the same products. Then set curation rules that pin chosen items to fixed positions in the results for specific queries.

  3. 03

    Give each customer their own search

    Keep all customers' records in one collection with a customer field. Generate a scoped API key per customer that is limited to their records, and hand it to their front end.