A lightweight alternative to Elasticsearch, written in Golang

A search engine that does full-text indexing

Zinc is a search engine that does full-text indexing. It is a lightweight alternative to Elasticsearch and runs using a fraction of the resources. It uses bluge as the underlying indexing library.

It is straightforward to operate as opposed to Elasticsearch, which requires a couple of dozen knobs to understand and tune you can get up and running in 2 minutes

It is a drop-in replacement for Elasticsearch if you are just ingesting data using APIs and searching using kibana (Kibana is not supported with zinc. Zinc provides its own UI).

Check the below video for a quick demo of Zinc.

Zinc Youtube

Playground Server

You could try ZincSearch without installing it using the below details:

User IDadmin

Note: Do not store sensitive data on this server as it’s available to everyone on the internet. Data will also be cleaned on this server regularly.

Why zinc

While Elasticsearch is an excellent product, it is complex, requires lots of resources, and is over a decade old. I built Zinc, so it becomes easier for folks to use full-text search indexing without doing much work.

Features implemented in Golang:

  1. Provides full-text indexing capability
  2. Single binary for installation and running. Binaries are available under releases for multiple platforms.
  3. Schema less – No need to define schema upfront, and different documents in the same index can have different fields.
  4. Web UI for querying data written in Vue
  5. Compatibility with Elasticsearch APIs for ingestion of data (single record and bulk API)
  6. Out-of-the-box authentication
  7. Index storage in disk (default), s3 or minio (experimental)
  8. aggregation support

Roadmap items:

The public roadmap is available at https://github.com/orgs/zinclabs/projects/3/views/1

Please create an issue if you want something to be added to the roadmap.

Getting started