zvonchuk / elasticsearch-php-client
PHP High Level REST Client
v0.2.0
2022-08-11 09:56 UTC
Requires
- elasticsearch/elasticsearch: ^7.11
This package is not auto-updated.
Last update: 2025-06-26 23:40:19 UTC
README
High-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in PHP; because of this it tries to be opinion-free and very extendable.
Features
- Simple, fluent query building API
- Support for all common Elasticsearch operations
- Simplified index management
- Aggregations with an intuitive builder pattern
- Built-in query types for geo, range, term, and text searches
- Flexible sorting options
- Bulk operation support
Documentation
- Getting Started
- Client Setup
- Queries
- Aggregations
- Document Operations
- Indices Management
- Sorting
- Advanced Examples
Installation via Composer
composer require zvonchuk/elasticsearch-php-client
PHP Version Requirement
Version 0.1 of this library requires at least PHP version 7.1.
elasticsearch-php-client | PHP Version |
---|---|
0.1 | >= 7.1.0 |
Quick Start Example
<?php require 'vendor/autoload.php'; use Zvonchuk\Elastic\Client; use Zvonchuk\Elastic\Core\SearchRequest; use Zvonchuk\Elastic\Search\Builder\SearchSourceBuilder; use Zvonchuk\Elastic\Query\QueryBuilders; // Connect to Elasticsearch $client = Client::getInstance(['localhost:9200']); // Create a search query $searchSource = new SearchSourceBuilder(); $searchSource->query( QueryBuilders::matchQuery('title', 'elasticsearch') ->operator('AND') ); // Execute the search $request = new SearchRequest('my_index'); $request->source($searchSource); $response = $client->search($request); // Process results $hits = $response->getHits(); foreach ($hits as $hit) { echo "Document ID: {$hit['_id']}, Title: {$hit['_source']['title']}\n"; }