Monorepository for the search abstraction over different search engine.
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.
At current state collect here different search engines which are around and could be interesting:
- Elasticsearch
- Opensearch
- RediSearch
- Zinc Labs
- Typesense
- Algolia
- ZendSearch
- TnTSearch
- MeiliSearch
- Solr
- Sonic
- Vespa
- Toshi
- Quickwit
- nrtSearch
- MongoDB Atlas
Widely used search based on Java.
- Server: Elasticsearch Server
- PHP Client: Elasticsearch PHP
Fork of Elasticsearch also written in Java.
- Server: Opensearch Server
- PHP Client: Opensearch PHP
A search out of the house of the redis labs.
- Server: RediSearch Server
- PHP Client: RediSearch PHP
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
Describes itself as a alternative to Algolia and Elasticsearch written in C++.
- Server: Typesense Server
- PHP Client: Typesense PHP
Is a search as SaaS provided via Rest APIs and SDKs:
- Server: No server only Saas https://www.algolia.com/
- PHP Client: Algolia PHP
A complete in PHP written implementation of the Lucene index. Not longer maintained:
- Implementation: Zendsearch Implementation
Another implementation of a Search index written in PHP. Not based on Lucene.
- Implementation: TntSearch Implementation
A search engine written in Rust:
- Server: MeiliSearch Server
- PHP Client: MeiliSearch PHP
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
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
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
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
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
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
None open source search engine from MongoDB. It is a cloud based search engine.
- Server: MongoDB Atlas
- PHP Client: MongoDB Atlas PHP Client
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)