SkillAgentSearch skills...

Search

Search abstraction over different search engines written in PHP. Currently implemented Elasticsearch, Opensearch, Algolia, Meilisearch, Loupe, RediSearch, Solr, Typesense. Documentation: https://php-cmsig.github.io/search/

Install / Use

/learn @PHP-CMSIG/Search

README

<div align="center"> <sup> <b>Your feedback is important 📘</b> <br /> <a href="https://github.com/PHP-CMSIG/search/discussions/416">Are you working with SEAL? Let us know!</a> | <a href="https://github.com/PHP-CMSIG/search/discussions/457">Which Search Engines do you use and why?</a> </sup> </div> <br /> <br /> <br /> <br /> <div align="center"> <img alt="SEAL Logo with an abstract seal sitting on a telescope." src="https://avatars.githubusercontent.com/u/120221538?s=400&v=6" width="200" height="200"> </div> <div align="center">Logo created by <a href="https://cargocollective.com/meinewilma">Meine Wilma</a></div> <h1 align="center">SEAL</h1> <div align="center">

<strong>Monorepository</strong> for SEAL a Search Engine Abstraction Layer with support to different search engines<br/> <a href="https://php-cmsig.github.io/search/">Documentation</a> | Packages

Elasticsearch | Opensearch | Meilisearch | Algolia | Loupe | Solr | Redisearch | Typesense <br/> PHP | Symfony | Laravel | Spiral | Mezzio | Yii

</div> <br /> <br />

👋 Introduction

The SEAL project is a PHP library designed to simplify the process of interacting with different search engines. It provides a straightforward interface that enables users to communicate with various search engines, including:

It also provides integration packages for the

Symfony, Laravel, Spiral, Mezzio and Yii PHP frameworks.

It is worth noting that the project draws inspiration from the Doctrine and Flysystem projects. These two projects have been a great inspiration in the development of SEAL, as they provide excellent examples of how to create consistent and user-friendly APIs for complex systems.

Note: This project is heavily under development and any feedback is greatly appreciated.

🏗️ Structure

SEAL Structure overview

SEAL's provides a basic abstraction layer for add, remove and search and filters for documents. The main class and service handling this is called Engine, which is responsible for all this things. The Schema which is required defines the different Indexes and their Fields.

The project provides different Adapters which the Engine uses to communicate with the different Search Engine software and services. This way it is easy to switch between different search engine software and services.

Glossary

| Term | Definition | |-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Engine | The main class and service responsible to provide the basic interface for add, remove and search and filters for documents. | | Schema | Defines the different Indexes and their Fields, for every field a specific type need to be defined and what you want todo with them via flags like searchable, filterable and sortable. | | Adapter | Provides the communication between the Engine and the Search Engine software and services. | | Documents | A structure of data that you want to index need to follow the structure of the fields of the index schema. | | Search Engine | Search Engine software or service where the data will actually be stored currently Meilisearch, Opensearch, Elasticsearch, Algolia, Redisearch, Solr and Typesense is supported. |

📖 Installation and Documentation

The documentation is available at https://php-cmsig.github.io/search/. It is the recommended and best way to start using the library, it will step-by-step guide you through all the features of the library.

📦 Packages

Full list of packages provided by the SEAL project:

Have also a look at the following tags:

Usages

The following open source projects are using SEAL:

You are using SEAL? Let us know.

🦑 Similar Projects

The following projects in the past target a similar problem:

📩 Authors

View on GitHub
GitHub Stars433
CategoryDevelopment
Updated4d ago
Forks34

Languages

PHP

Security Score

100/100

Audited on Mar 27, 2026

No findings