Skip to content

A list of search tools and libraries useful to implement information retrieval in process or as an external component. Every component selected has to be Open Source or with a reasonable free tier if delivered in Saas mode.

License

Notifications You must be signed in to change notification settings

alucab/awesome-search-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Search Tools And Libraries

The following is a list of search tools and libraries useful to implement information retrieval in process or as an external component. Every component selected has to be Open Source or with a reasonable free tier if delivered in Saas mode. I started this catalog as there are only Elastic Search or Algolia pages while plenty of interesting and lighter alternatives do exist.

Solutions

  • Sonic Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
  • Zincsearch ZincSearch 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 and provide integrated ingestion and searching GUI
  • Open Search OpenSearch is a community-driven, open-source search and analytics suite used by developers to ingest, search, visualize, and analyze data. Introduced in January 2021, the OpenSearch Project originated as an open-source fork of Elasticsearch 7.10.2. OpenSearch 1.0 was released for production use in July 2021 and is licensed under the Apache License, Version 2.0 (ALv2), with the complete codebase published to GitHub. The project has consistently focused on improving the performance of its core open-source engine for high-volume indexing and low-latency search operations. OpenSearch aims to provide the best experience for every user by reducing latency and improving efficiency.

Libraries

  • Bleve A modern text indexing library in go. Index any go data structure (including JSON).Bleve is a search engine that uses Lucene-style full-text search and indexing. This style of search and indexing helps overcome limitations of the default database search such as challenges with characters and advanced search capabilities.
  • Bluge Bluge is an indexing/search library for Go. Bluge originated as an evolution of the Bleve search library. Bleve has seen wide adoption, but that success comes with some downside. As companies ship products using Bleve, they require backwards compatibility, and this has led to a slower more incremental progression.Bluge is an attempt to break out of this model, making many breaking changes all at once.

In Memory

  • elasticlunr Lightweight full-text search engine in JavaScript for browser search and offline search.
  • lunr A bit like Solr, but much smaller and not as bright.
  • pouchdb-quick-search Full-text search engine on top of PouchDB.
  • search-index A persistent, network resilient, full text search library for the browser and Node.js.
  • reds A light-weight, insanely simple full text search module backed by Redis.
  • fulltext-engine Full text search backed by levelup/leveldb engine.
  • levi Stream based full-text search for Node.js and browsers.
  • minisearch Tiny but powerful in-memory fulltext search engine written in JavaScript.
  • flexsearch Next-Generation full text search library for Browser and Node.js.
  • tinysearch This is a lightweight, fast, full-text search engine for static websites.
  • stork Fast web search, made for static sites.

Saas

  • Algolia Algolia is a proprietary search-as-a-service platform designed for use cases that require high quality and relevant search.
  • Awesome Algolia A curated list of awesome things related to Algolia, inspired by awesome.re

Heavy Weights

Elasticsearch

  • Open Search OpenSearch is a community-driven, open-source search and analytics suite used by developers to ingest, search, visualize, and analyze data. Introduced in January 2021, the OpenSearch Project originated as an open-source fork of Elasticsearch 7.10.2. OpenSearch 1.0 was released for production use in July 2021 and is licensed under the Apache License, Version 2.0 (ALv2), with the complete codebase published to GitHub. The project has consistently focused on improving the performance of its core open-source engine for high-volume indexing and low-latency search operations. OpenSearch aims to provide the best experience for every user by reducing latency and improving efficiency.
  • Elasticsearch The Elasticsearch Platform (a.k.a. the ELK Stack) enables enterprises to accelerate business outcomes by combining the power of search and AI.
  • Awesome Elasticsearch A curated list of the most important and useful resources about elasticsearch: articles, videos, blogs, tips and tricks, use cases. All about Elasticsearch!
  • Searchkit UI components for Elasticsearch.

Algolia

  • Algolia Algolia is a proprietary search-as-a-service platform designed for use cases that require high quality and relevant search.
  • Awesome Algolia A curated list of awesome things related to Algolia, inspired by awesome.re
  • algolia/places Turn any into an address autocomplete.
  • algolia/datasets Interesting datasets you could use with Algolia.
  • algolia-webcrawler Simple node worker that crawls sitemaps in order to keep an algolia index up-to-date.
  • algolia-sitemap A Node.js library allowing you to generate sitemaps from an Algolia index.
  • figolia Keep your Algolia search indexes in sync with your Firebase datasets.
  • mongoolia Keep your mongoose schemas synced with Algolia.

Database

Mongo DB

By Language

Go

  • Bleve A modern text indexing library in go. Index any go data structure (including JSON).Bleve is a search engine that uses Lucene-style full-text search and indexing. This style of search and indexing helps overcome limitations of the default database search such as challenges with characters and advanced search capabilities.
  • Bluge Bluge is an indexing/search library for Go. Bluge originated as an evolution of the Bleve search library. Bleve has seen wide adoption, but that success comes with some downside. As companies ship products using Bleve, they require backwards compatibility, and this has led to a slower more incremental progression.Bluge is an attempt to break out of this model, making many breaking changes all at once.
  • Sonic Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
  • Zincsearch ZincSearch 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 and provide integrated ingestion and searching GUI

Javascript/Node.js

  • elasticlunr Lightweight full-text search engine in JavaScript for browser search and offline search.
  • lunr A bit like Solr, but much smaller and not as bright.
  • pouchdb-quick-search Full-text search engine on top of PouchDB.
  • search-index A persistent, network resilient, full text search library for the browser and Node.js.
  • levi Stream based full-text search for Node.js and browsers.
  • minisearch Tiny but powerful in-memory fulltext search engine written in JavaScript.
  • flexsearch Next-Generation full text search library for Browser and Node.js.
  • Open Search OpenSearch is a community-driven, open-source search and analytics suite used by developers to ingest, search, visualize, and analyze data. Introduced in January 2021, the OpenSearch Project originated as an open-source fork of Elasticsearch 7.10.2. OpenSearch 1.0 was released for production use in July 2021 and is licensed under the Apache License, Version 2.0 (ALv2), with the complete codebase published to GitHub. The project has consistently focused on improving the performance of its core open-source engine for high-volume indexing and low-latency search operations. OpenSearch aims to provide the best experience for every user by reducing latency and improving efficiency.

Java

  • Open Search OpenSearch is a community-driven, open-source search and analytics suite used by developers to ingest, search, visualize, and analyze data. Introduced in January 2021, the OpenSearch Project originated as an open-source fork of Elasticsearch 7.10.2. OpenSearch 1.0 was released for production use in July 2021 and is licensed under the Apache License, Version 2.0 (ALv2), with the complete codebase published to GitHub. The project has consistently focused on improving the performance of its core open-source engine for high-volume indexing and low-latency search operations. OpenSearch aims to provide the best experience for every user by reducing latency and improving efficiency.
  • Elasticsearch The Elasticsearch Platform (a.k.a. the ELK Stack) enables enterprises to accelerate business outcomes by combining the power of search and AI.
  • Awesome Elasticsearch A curated list of the most important and useful resources about elasticsearch: articles, videos, blogs, tips and tricks, use cases. All about Elasticsearch!

Information Sources

Credits

The structure of this page is based on the excellent Structured Text Tools repository from D. Bohdan

License

The contents of this document is licensed under the Creative Commons Attribution 4.0 International License. By contributing you agree to release your contribution under this license.

About

A list of search tools and libraries useful to implement information retrieval in process or as an external component. Every component selected has to be Open Source or with a reasonable free tier if delivered in Saas mode.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%