Schranz Search
SEAL
What doctrine/dbal
is for doctrine
, the schranz-search/SEAL
is for schranz-search
package.
It provides a common interface to interact with different search engines.
Read more about it in the README.md of the package.
Warning: This project is heavily under development and not ready for production.
Research
At current state collect here different search engines which are around and could be interesting:
- Elasticsearch - schranz-search/seal-elasticsearch-adapter
- Opensearch - schranz-search/seal-opensearch-adapter
- Meilisearch - schranz-search/seal-meilisearch-adapter
- Algolia - schranz-search/seal-algolia-adapter
- RediSearch
- Zinc Labs
- Typesense
- ZendSearch
- TnTSearch
- Solr
- Sonic
- Vespa
- Toshi
- Quickwit
- nrtSearch
- MongoDB Atlas
- PostgreSQL Full Text Search
- MySQL Full Text Search
- Sphinx Search
- Manticore Search
- Search.io
- Azure Cognitive Search
- Google Cloud Search
- Amazon CloudSearch
Elasticsearch
Widely used search based on Java.
- Server: Elasticsearch Server
- PHP Client: Elasticsearch PHP
Implementation: schranz-search/seal-elasticsearch-adapter
Opensearch
Fork of Elasticsearch also written in Java.
- Server: Opensearch Server
- PHP Client: Opensearch PHP
Implementation: schranz-search/seal-elasticsearch-adapter
Meilisearch
A search engine written in Rust:
- Server: MeiliSearch Server
- PHP Client: MeiliSearch PHP
Implementation: schranz-search/seal-meilisearch-adapter
Algolia
Is a search as SaaS provided via Rest APIs and SDKs:
- Server: No server only Saas https://www.algolia.com/
- PHP Client: Algolia PHP
Implementation: schranz-search/seal-algolia-adapter
RediSearch
A search out of the house of the redis labs.
- Server: RediSearch Server
- PHP Client: Unofficial RediSearch PHP
Zinc Labs
Zinc search describes itself as a lightweight alternative to Elasticsearch written in GoLang.
- Server: Zinclabs Server
- PHP Client: No PHP SDK currently: zincsearch/zincsearch#12
Typesense
Describes itself as a alternative to Algolia and Elasticsearch written in C++.
- Server: Typesense Server
- PHP Client: Typesense PHP
ZendSearch
A complete in PHP written implementation of the Lucene index. Not longer maintained:
- Implementation: Zendsearch Implementation
TnTSearch
Another implementation of a Search index written in PHP. Not based on Lucene.
- Implementation: TntSearch Implementation
Solr
A search engine under the Apache Project based on Lucene written in Java:
- Server: Solr Server
- PHP Client: Solarium PHP seems to be a well maintained Client
Sonic
Describe itself as lightweight & schema-less search backend, an alternative to Elasticsearch that runs on a few MBs of RAM.
- Server: Sonic Server
- PHP Client: Unoffical PHP Sonic looks outdated and not well maintained
Vespa
Describe itself as the open big data serving engine - Store, search, organize and make machine-learned inferences over big data at serving time.
- Server: Vespa Server https://github.com/vespa-engine/vespa
- PHP Client: No client available only API based
Toshi
A full-text search engine in rust. Toshi strives to be to Elasticsearch what Tantivy Server is to Lucene:
- Server: Toshi Server
- PHP Client: No client available only API based
Quickwit
Describe itself as a cloud-native search engine for log management & analytics written in Rust. It is designed to be very cost-effective, easy to operate, and scale to petabytes.
- Server: Quickwit Server
- PHP Client: No client available only API based
nrtSearch
Describe itself as a high performance gRPC server, with optional REST APIs on top of Apache Lucene version 8.x source, exposing Lucene's core functionality over a simple gRPC based API.:
- Server: nrtSearch Server
- PHP Client: No client available only API based
MongoDB Atlas
None open source search engine from MongoDB. It is a cloud based search engine.
- Server: MongoDB Atlas
- PHP Client: MongoDB Atlas PHP Client
PostgreSQL Full Text Search
- Server: PostgreSQL Server
- PHP Client: No client use the Full Text Feature the Database connection.
MySQL Full Text Search
- Server: MySQL Server
- PHP Client: No client use the Full Text Feature the Database connection.
Sphinx Search
An older search engine written in Python.
- Server: Sphinx Search Server
- PHP Client: No official client available
Manticore Search
Fork of Sphinx 2.3.2 in 2017, describes itself as an easy to use open source fast database for search. Good alternative for Elasticsearch.
- Server: Manticore Search Server
- PHP Client: Manticore Search PHP Client
Search.io
A SaaS search engine, In the past they used the name for Sajari Site Search. Lately acquired by Algolia.
- Server: No server only Saas Search.io Server
- PHP Client: Official Search.io SDK for PHP
Azure Cognitive Search
A cloud based search from Microsoft Azure:
- Server: No server only SaaS Azure Cognitive Search
- PHP Client: No client available only REST API
Google Cloud Search
A cloud based search from Google:
- Server: No server only SaaS Google Cloud Search
- PHP Client: No client available only REST API
Amazon CloudSearch
A cloud based search from Amazon:
- Server: No server only SaaS Amazon CloudSearch
- PHP Client: No client available only REST API
Similar Projects
Following projects in the past target similar problem:
- https://github.com/nresni/Ariadne (Solr, Elasticsearch, Zendsearch: outdated 12 years ago)
- https://github.com/massiveart/MassiveSearchBundle (ZendSearch, Elasticsearch)