30 open-source projects similar to ankane/searchkick, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Searchkick alternative.
Zombodb is a database extension and relational data indexer that integrates PostgreSQL with Elasticsearch. It provides a SQL search interface, allowing users to execute complex search queries and aggregations using standard SQL functions and syntax instead of native JSON APIs. The project synchronizes relational data from PostgreSQL to a remote search engine to enable high-performance full-text search and analytics. The system distinguishes itself by bridging relational structures with search engine capabilities, specifically through geospatial search integration for geometry and geography ty
ParadeDB is a database extension that integrates full-text search, vector database capabilities, and real-time analytics directly into a relational engine. It functions as a plugin that adds new storage and query execution capabilities to an existing database architecture. The project distinguishes itself by supporting hybrid search workflows that combine lexical keyword matching with dense and sparse vector similarity in a single query. It utilizes reciprocal rank fusion to merge these ranked result sets and employs logical replication to synchronize data from external instances, removing th
Django Haystack is a search abstraction layer and framework for integrating full-text search into Django applications. It provides a unified interface for defining search schemas and managing how data models are indexed and stored across different search engines. The framework acts as a modular backend wrapper, allowing applications to switch between interchangeable search providers without rewriting core search logic. It standardizes interactions with external engines through a decoupled provider layer, facilitating search engine migration by changing configuration settings. The system cove
This project is a software development kit and cluster management tool for PHP. It serves as a full-text search SDK and vector search interface, enabling applications to perform lexical, fuzzy, and semantic searches against indexed data. The library implements a PSR 7 HTTP client to ensure cross-environment compatibility through standardized messaging interfaces. It provides a specialized interface for retrieving embeddings and performing semantic retrieval workflows using vector data. Its capability surface covers a wide range of administrative and operational tasks, including search index
This project is a full text search engine and enterprise search infrastructure designed for indexing and retrieving large sets of documents. It provides a comprehensive framework for information discovery using ranked results and linguistic analysis. The system integrates high-dimensional vector similarity search for semantic retrieval alongside traditional full-text capabilities. It distinguishes itself through support for geospatial data retrieval, multilingual text processing, and a search suggestion workflow that includes typo-tolerant query completion and spellchecking. The platform cov
This project is a framework-agnostic library for building accessible, search-as-you-type interfaces. It provides a headless logic layer that decouples search state management and result filtering from the visual presentation, allowing developers to maintain full control over the underlying HTML structure and styling. The library distinguishes itself through a highly modular architecture that supports multi-source data aggregation, enabling the combination of results from static arrays, remote APIs, and external indices into a single interface. It features a flexible rendering engine that inte
LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters
This project is a Go client library and API wrapper for interacting with Elasticsearch clusters. It serves as a programmatic interface for managing documents, indices, and cluster health, allowing Go applications to perform search and indexing operations via the REST API. The library functions as a distributed search orchestrator, providing specialized tools for high-throughput data ingestion and cluster administration. It features a buffered bulk processor with exponential backoff retries for optimizing write performance and supports automated index lifecycle transitions and historical data
Pagefind is a static site search engine that indexes HTML files to provide a browser-based search experience without the need for a backend server or API. It consists of a multilingual search indexer and a set of prebuilt, customizable user interface components for rendering search inputs and result lists. The system is designed for global content, utilizing a multilingual search indexer that detects page languages and creates independent index bundles to provide language-specific stemming and results. It further optimizes performance by using a compressed index and offloading query execution
Wagtail is an open-source content management system built on the Django web framework. It provides a structured, tree-based approach to content modeling, allowing developers to define custom page types and reusable content components that are managed through a highly customizable administrative interface. The platform distinguishes itself through its flexible, block-based content composition system, which enables editors to assemble complex page layouts dynamically. It also offers robust support for multi-site and multi-lingual environments, allowing organizations to manage distinct websites
Marqo is an ecommerce product discovery platform, multimodal vector database, and AI search merchandising tool. It provides infrastructure for implementing semantic search and recommendations, allowing shoppers to find products using natural language and images. The platform distinguishes itself through a hybrid ranking pipeline that combines neural semantic scores with business-defined boosting and pinning rules. It features a conversational commerce engine that uses large language models to process user intent and provides a search performance analytics suite for measuring conversion uplift
elasticsearch-py is a distributed search API wrapper and cluster administrator. It serves as a secure connector for executing search queries and performing administration tasks against a search engine. The library provides a high-level interface for managing indices, documents, and node connections. It enables encrypted data transmission and authenticated communication with a search cluster. The project covers full-text search, data management, and cluster administration. It includes capabilities for managing document data, implementing complex search queries, and maintaining reliable commun
This project is a programmatic client for managing the lifecycle of documents within a distributed JSON search engine. It provides an Elasticsearch search client for indexing documents and performing complex queries, alongside a low-level client that acts as a flexible wrapper for sending raw HTTP requests to a cluster. The client features a fluent request builder that maps typed requests to REST API endpoints and a generic mapping layer to transform JSON responses into strongly typed objects. It employs a pluggable serialization mechanism to decouple the request-response lifecycle from speci
Riot is a Go-based distributed search engine and indexing server designed for full-text indexing and retrieval. It functions as a retrieval system that sorts documents by relevance using BM25 ranking algorithms, term frequency, and inverse document frequency. The engine provides specialized support for the Chinese language, featuring concurrent text segmentation and phonetic Pinyin mapping to match romanized input with characters. It utilizes a distributed architecture that employs hash-based index sharding to balance data load and throughput across multiple server nodes. The system covers a
RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search directly into the in-memory data store. It operates as an in-process search engine, extending the core key-value store with capabilities for indexing hash and JSON documents, enabling fast field-level lookups beyond primary key access. The module provides a full-text search engine built on inverted indexes, supporting stemming, fuzzy matching, and relevance scoring via tf-idf. It also includes a vector similarity search engine using a Hierarchical Navigable Small World graph
Bleve is a search indexing engine library written in Go, designed to provide full-text search and document retrieval capabilities for embedded application data. It functions as a framework for indexing structured or unstructured information, allowing developers to build searchable collections that support complex query logic and data analysis. The engine distinguishes itself through a pluggable analysis pipeline that normalizes text before indexing, alongside support for vector similarity search to identify semantically related content. It utilizes finite-state transducer automata for efficie
Ransack is an object-based search library for Active Record models that provides a form-driven framework for building database queries. It generates query conditions from user input through a configurable predicate system, allowing developers to filter records using simple or advanced criteria without writing SQL or relying on external dependencies. The library distinguishes itself through its predicate-based query construction, where search methods are dynamically generated from model attribute names and predicate suffixes at runtime. It wraps search parameters into a dedicated form object t
This project is a containerized search infrastructure designed to deploy a privacy-focused metasearch engine. It acts as a self-hosted search proxy that aggregates results from multiple external web, image, and academic search providers while anonymizing requests and stripping trackers to protect user identity. The system utilizes Docker to orchestrate the search instance, integrating caching mechanisms and reverse proxy support to ensure a private and efficient search environment. It employs a modular adapter-based integration to standardize diverse external API responses and a processing pi
This project is a privacy-focused, self-hosted metasearch engine that aggregates results from a wide array of web, academic, and media sources into a single, unified interface. By acting as a proxy between the user and external search providers, it strips identifying headers and tracking parameters from requests, ensuring that search activity remains anonymous and protected from third-party profiling. The platform distinguishes itself through a modular, plugin-based architecture that allows for extensive customization of search behavior, result filtering, and interface branding. It supports a
Searchkit is a search UI framework designed for building search interfaces with React and Vue that connect to Elasticsearch and OpenSearch backends. It provides a search query translation layer to convert frontend search states into engine-specific query languages and a result rendering engine to display hits, facet menus, and pagination. The framework includes a semantic search interface that enables vector-based nearest neighbor searches and natural language processing. It differentiates itself through an adapter-based translation system and a component-based UI mapping that connects search
Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management. It utilizes a Cypher query engine for declarative data retrieval and manipulation, providing a scalable knowledge graph backend that integrates vector search and graph traversals. The system distinguishes itself as a real-time graph analytics platform, employing native C++ and CUDA implementations to execute complex network analysis and dynamic community detection on streaming data. It provides specialized support for AI integration, including GraphRAG capabilities, the constr
Swirl Search is an AI-powered middleware engine designed for federated enterprise search and retrieval-augmented generation. It functions as a unified platform that aggregates search results from multiple internal data sources and applications simultaneously, allowing users to query disparate knowledge bases without requiring data migration or indexing. The platform distinguishes itself by using a modular pipeline architecture to transform queries and synthesize information into grounded natural language answers. It employs semantic re-ranking and vector similarity to normalize results across
Infinity is a distributed vector database and multimodal vector store designed to manage large-scale datasets for retrieval and similarity search. It serves as a backend for large language model applications and retrieval augmented generation pipelines by storing and retrieving dense vectors, sparse vectors, and full-text data. The system functions as a hybrid search engine, combining vector embeddings and full-text search with reranking algorithms to identify the most relevant documents. It supports multimodal data storage, allowing the maintenance of diverse data types including tensors, st
Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an object mapper, a repository abstraction, and a query DSL wrapper, providing both a standard and a reactive client for executing asynchronous search and persistence operations. The project distinguishes itself by automating data access through repository interfaces, which generate query logic based on method naming conventions. It enables the construction of complex search queries using a domain-specific language and supports advanced search capabilities such as vector similar
Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di
This project is a Node.js client and database driver for Elasticsearch. It acts as a REST API wrapper that translates JavaScript method calls into HTTP requests to index, search, and manage documents within a distributed search and analytics engine. The library provides a programmatic interface for cluster management and data integration. It includes tools for discovering cluster nodes and managing indices to maintain connection stability and organize data storage. The client covers a broad range of operations, including document lifecycle management for CRUD actions, search query execution,
The official Go client for Elasticsearch
Lnx is a high-performance search engine and indexing database designed for managing large datasets. It provides a scalable infrastructure for full-text retrieval, allowing applications to process and query structured data with consistent responsiveness. The platform distinguishes itself through a schema-driven approach to data ingestion, which enforces structured field definitions to optimize storage and query precision. It incorporates advanced search capabilities, including fuzzy matching, spell correction, and similarity-based content recommendations, to ensure accurate results even with i
Omi is an open-source wearable AI platform that captures audio and screen data to provide real-time conversational assistance and memory. It integrates a wearable hardware development kit with a vector memory database and large language model capabilities to create a persistent digital record of user interactions. The platform is distinguished by its BLE audio streaming pipeline, which transmits raw audio from wearable hardware for real-time transcription and speaker identification. It utilizes a plugin-based agent tool framework that allows AI assistants to autonomously invoke custom functio