28 dépôts
Programming interfaces that allow developers to interact with, configure, and manage search engine clusters and indices.
Explore 28 awesome GitHub repositories matching data & databases · Search Engine APIs. Refine with filters or upvote what's useful.
Elasticsearch is a distributed search engine and document store designed for the high-performance indexing and retrieval of massive volumes of unstructured data. It functions as a centralized analytics platform, providing a schema-flexible architecture that organizes information into searchable indices while maintaining global cluster state through a distributed consensus mechanism. The platform distinguishes itself through its integrated approach to observability, security, and advanced analytics. It combines full-text, vector, and hybrid search capabilities with machine learning-driven insi
Facilitates cluster interaction through a comprehensive suite of endpoints for configuration, index management, and complex data retrieval.
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
Overrides default engine selection using specific syntax to query preferred sources directly.
Kotaemon is an orchestration framework designed for building modular, agentic workflows that integrate document processing, retrieval-augmented generation, and multi-step reasoning. It provides a comprehensive platform for developing document-based question answering systems, allowing users to chain language models, prompt templates, and external tools into complex, automated pipelines. The system distinguishes itself through a highly modular architecture that emphasizes component-based composition and schema-driven data exchange. It supports autonomous agents capable of decomposing complex q
Provides integration with Elasticsearch clusters for persistent, keyword-based document search and retrieval.
Brave is a privacy-centric web browser built on the Chromium engine. It functions as a cross-platform navigation tool designed to protect user data by automatically blocking trackers and advertisements by default. The browser distinguishes itself through integrated search capabilities that allow for programmatic control over query execution and data retrieval. It provides a platform for custom search engine development, enabling users to apply specific ranking rules, filter content based on geographic or temporal constraints, and enrich results with real-time structured data. Beyond its core
Provides programmatic interfaces for configuring search engine behavior, including custom ranking and data enrichment.
Zincsearch is a high-performance, self-hosted full-text search engine and database written in Go. It provides a lightweight infrastructure for indexing and searching unstructured text data, specializing in log and event analysis through a schemaless indexing model. The system is designed as a resource-efficient alternative to heavier search infrastructure, featuring an API surface compatible with Elasticsearch for indexing and querying documents. It distinguishes itself by packaging the entire server and its built-in web search interface into a single statically linked binary. The engine cov
Serves as a lightweight Go-based alternative to Elasticsearch while maintaining API compatibility.
Zinc is a high-performance full-text search engine written in Go. It provides a schema-less document index that organizes arbitrary datasets into searchable structures without requiring a predefined data format. The engine features an API compatible with Elasticsearch for indexing and querying data, which facilitates the ingestion of single and bulk records. It is designed as an in-process search engine that embeds indexing and retrieval logic within a single binary to operate with minimal system resource overhead. The system includes a built-in web-based management interface for executing s
Operates as a lightweight full-text search engine with an API compatible with Elasticsearch.
OpenSearch is a distributed search and analytics engine designed for indexing, searching, and analyzing massive volumes of structured and unstructured data in real time. It functions as a comprehensive platform that integrates enterprise-grade search capabilities, a vector database for high-dimensional similarity lookups, and a unified observability suite for monitoring logs, metrics, and traces across complex distributed environments. The platform distinguishes itself through its support for agentic workflow automation, allowing users to orchestrate multi-agent tasks and integrate foundation
Provides unified interfaces for executing search, aggregation, and index maintenance tasks.
Manticoresearch is a high-performance search engine and database designed for indexing and retrieving large datasets. It functions as a full-text search engine, a vector search database, and a SQL-based search database, providing a distributed search cluster architecture. The system provides an alternative to the Elasticsearch stack, offering a compatible API for indexing and searching structured and unstructured data. It distinguishes itself by supporting multiple retrieval methods, including vector matching for similarity search, geospatial queries, and traditional full-text ranking. The p
Offers an Elasticsearch-compatible API, allowing it to serve as a drop-in replacement for the ELK stack.
Quickwit is a cloud-native, distributed search engine designed for observability data such as logs, traces, and metrics. It functions as an observability backend that decouples compute from storage by persisting indices directly in S3-compatible cloud object stores. The system is distinguished by its compatibility with the Elasticsearch REST API, allowing it to integrate with existing clients and log shippers without reconfiguration. It also serves as an OpenTelemetry data indexer, ingesting technical data via the OpenTelemetry Protocol using gRPC and HTTP. The engine utilizes a hybrid of co
Implements the Elasticsearch API to function as a drop-in compatible search engine replacement.
howdoi is a command-line coding answer engine that retrieves programming solutions and code snippets from the web for display directly in the terminal. It functions as a web-based code search tool that uses natural language queries to find technical answers without requiring a web browser. The tool provides a JSON-exportable query system, allowing search results to be output as structured data for integration with other software and text editors. It features terminal-based knowledge retrieval that includes local caching and stashing of answers to reduce network latency and avoid search engine
Allows users to choose specific web engines or domains for queries using CLI flags.
Elasticsearch Head is a web-based graphical interface for monitoring and administering Elasticsearch clusters. It serves as a cluster management UI, a topology visualizer for nodes and shards, and a REST API client for sending HTTP requests and analyzing JSON responses. The tool distinguishes itself by providing a visual map of cluster topology to monitor data distribution and health. It includes a local proxy to enable administration of remote clusters that are not directly accessible and supports the injection of basic authentication headers for secure request handling. The platform covers
Provides a dedicated environment for sending custom HTTP requests to test and analyze Elasticsearch API responses.
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
Acts as a comprehensive Go library for performing search and indexing operations via REST.
Vespa is a distributed search engine, vector database, and machine learning ranking engine. It serves as an AI search platform designed to handle large-scale document indexing and complex query processing across a cluster of nodes, combining keyword retrieval with high-dimensional embedding storage for semantic similarity search. The platform distinguishes itself by integrating machine learning models directly into the search pipeline to perform real-time inference and ranking. It converts these models into ranking expressions to score and order results based on relevance, while providing a s
Offers standardized programming interfaces for interacting with and managing search engine clusters and indices.
eSearch is a desktop tool that combines screen capture, image annotation, screen recording, optical character recognition (OCR), and text search and translation into a single application. It is built around a modular architecture that coordinates these tasks through an event-driven capture pipeline, allowing users to capture screen regions, annotate them with drawing and shape tools, and then extract text using a local-first OCR engine or optional cloud services. The project distinguishes itself by integrating a command-line interface for triggering capture and recognition tasks, enabling scr
Routes recognized text to user-configured search or translation engines through a pluggable adapter system.
GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries metrics, logs, and traces together in a single columnar engine, supporting both SQL and PromQL for analysis. The database is designed as a Kubernetes-native operator with a decoupled compute and storage architecture, enabling horizontal scaling and multi-region deployment. What distinguishes GreptimeDB is its role as a multi-protocol ingestion gateway, accepting data through OpenTelemetry, Prometheus Remote Write, InfluxDB, Loki, Elasticsearch, Kafka, and MQTT protocols without
Accepts Elasticsearch QueryDSL syntax and returns results in Elasticsearch API format.
Cerebro est un outil d'administration pour les clusters OpenSearch et Elasticsearch, fournissant une interface graphique basée sur le web pour surveiller la santé et gérer les performances. Il sert de console centrale pour l'administration des clusters, incluant la création et l'organisation d'index, d'alias et de modèles d'index. Le projet se distingue par une authentification d'annuaire intégrée, utilisant les services LDAP pour gérer les identités des utilisateurs et les permissions d'accès. Il inclut également une console client REST dédiée pour envoyer des requêtes manuelles aux clusters, avec autocomplétion et la possibilité d'exporter des requêtes sous forme de commandes curl. L'outil couvre de larges capacités opérationnelles, incluant la sauvegarde et la récupération de données via la gestion de snapshots, la distribution et l'équilibrage des shards à travers les nœuds, et la surveillance de la santé du cluster en temps réel. Il fournit également un système d'alerte pour les changements d'index et les fluctuations de membres du cluster, ainsi que des outils d'analyse interne pour inspecter les distributions de données.
Includes a dedicated REST client console for sending manual requests to clusters with autocompletion and curl export.
Ce projet est un client Node.js et un pilote de base de données pour Elasticsearch. Il agit comme un wrapper d'API REST qui traduit les appels de méthodes JavaScript en requêtes HTTP pour indexer, rechercher et gérer des documents au sein d'un moteur de recherche et d'analyse distribué. La bibliothèque fournit une interface programmatique pour la gestion de cluster et l'intégration de données. Elle inclut des outils pour découvrir les nœuds du cluster et gérer les index afin de maintenir la stabilité des connexions et d'organiser le stockage des données. Le client couvre un large éventail d'opérations, incluant la gestion du cycle de vie des documents pour les actions CRUD, l'exécution de requêtes de recherche et la configuration d'index. Il gère également l'authentification des requêtes API et le contrôle d'accès basé sur les permissions pour garantir une interaction sécurisée avec le service.
Provides a programming interface to interact with, configure, and manage search engine clusters and indices.
Elasticsearch-HQ est une interface de gestion basée sur le web utilisée pour surveiller et administrer les clusters, index et nœuds Elasticsearch via un tableau de bord graphique. Il sert de proxy API pour exécuter des requêtes REST et gérer les données et métadonnées du cluster. Le projet fournit une orchestration centralisée multi-cluster, permettant aux administrateurs de gérer plusieurs instances distantes depuis une interface unique. Il inclut des gestionnaires spécialisés pour le contrôle du cycle de vie des index, la gestion des sauvegardes de dépôts de snapshots et le suivi en temps réel de la santé pour les performances des nœuds et la stabilité des shards. La plateforme couvre un large éventail de capacités administratives, y compris la réindexation des données, le contrôle des alias d'index et l'inspection des mappings. Elle dispose également d'outils de diagnostic pour identifier les problèmes de cluster et d'une interface graphique pour l'interrogation et la récupération de données. La connectivité est gérée via une passerelle basée sur un proxy qui prend en charge la sécurité réseau SSL/TLS et l'authentification de base. Les paramètres système et les métadonnées de connexion sont maintenus via des variables d'environnement, des fichiers de configuration JSON et une base de données locale.
Acts as a proxy gateway to execute REST API requests while bypassing cross-origin restrictions.
ReactiveSearch est une suite de frameworks déclaratifs et de boîtes à outils d'interface utilisateur conçus pour construire des interfaces de recherche basées sur Lucene, vectorielles et à facettes. Il fournit une collection de composants React et Vue pré-construits qui connectent les frontends web aux index de recherche, facilitant la création de barres de recherche interactives, de listes de résultats et de systèmes de filtrage complexes. Le projet se distingue par une interface de recherche vectorielle et des capacités de similarité sémantique, y compris la génération de réponses en langage naturel assistée par IA avec citations de sources. Il emploie un modèle de composant réactif où les filtres et les états de recherche sont synchronisés via un gestionnaire partagé, permettant aux sélections dans un composant de mettre à jour les options disponibles dans d'autres et de sérialiser l'état actuel dans des chaînes de requête URL pour le deep-linking. La plateforme couvre un large éventail de capacités, y compris la navigation à facettes avec des filtres de plage numérique et de sélection unique, le mappage de données géographiques et un kit de visualisation de données interactif pour rendre des graphiques et des tracés. Elle inclut également des outils pour le réglage de la pertinence de la recherche, le tri des résultats, la pagination et la capacité d'exporter des ensembles de résultats sous forme de documents CSV ou JSON. La connectivité backend est gérée via une couche d'abstraction basée sur des fournisseurs et un système de mappage de requêtes déclaratif qui sépare la logique métier de l'interface utilisateur.
Interacts directly with Elasticsearch clusters using standard index, document, and search REST APIs.
Corcel transforms a remote WordPress site into a local data source by wrapping its REST API in an object-relational mapper. As a headless CMS bridge, it synchronizes remote posts, pages, users, and options into local models, enabling offline querying and manipulation from external PHP applications. The library uses pluggable adapters to fetch different WordPress resource types and a schema-based translation layer that converts WordPress post types and fields into local definitions. It validates user credentials against a remote WordPress database and integrates with the host framework’s authe
Provides pluggable adapters that fetch and parse different WordPress resource types from REST API responses.