GithubHelp home page GithubHelp logo
Schranz Search Logo with a Seal on it with a magnifying glass

Schranz Search

Monorepository for SEAL a Search Engine Abstraction Layer with support to different search engines
Documentation | Packages

Elasticsearch | Opensearch | Meilisearch | Algolia | Loupe | Solr | Redisearch | Typesense
PHP | Symfony | Laravel | Spiral | Mezzio | Yii



👋 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://schranz-search.github.io/schranz-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:

🦑 Similar Projects

Following projects in the past target similar problem:

📩 Authors

schranz-search's Projects

laravel-package icon laravel-package

An integration of schranz-search search abstraction into Laravel Framework.

mezzio-module icon mezzio-module

An integration of schranz-search search abstraction via a ConfigProvider into the Mezzio Framework.

schranz-search icon schranz-search

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

seal icon seal

Search Engine Abstraction Layer with support to different search engines.

seal-algolia-adapter icon seal-algolia-adapter

An adapter to support Algolia in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-elasticsearch-adapter icon seal-elasticsearch-adapter

An adapter to support Elasticsearch in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-loupe-adapter icon seal-loupe-adapter

An adapter to support Loupe in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-meilisearch-adapter icon seal-meilisearch-adapter

An adapter to support Meilisearch in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-memory-adapter icon seal-memory-adapter

The MemoryAdapter writes the documents into a in memory array. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-multi-adapter icon seal-multi-adapter

The MultiAdapter allows to write into multiple adapters. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-opensearch-adapter icon seal-opensearch-adapter

An adapter to support Opensearch in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-read-write-adapter icon seal-read-write-adapter

The ReadWriteAdapter allows to use one adapter instance for reading and one for writing. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-redisearch-adapter icon seal-redisearch-adapter

An adapter to support RediSearch in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-solr-adapter icon seal-solr-adapter

An adapter to support Apache Solr in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

seal-typesense-adapter icon seal-typesense-adapter

An adapter to support Typesense in schranz-search/seal search abstraction. Part of the https://github.com/schranz-search/schranz-search project. READ-ONLY Repository

spiral-bridge icon spiral-bridge

An integration of schranz-search search abstraction into Spiral Framework.

symfony-bundle icon symfony-bundle

An integration of schranz-search search abstraction via a Bundle into the Symfony Framework.

yii-module icon yii-module

An integration of schranz-search search abstraction via a module into the Yii Framework.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.