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.
- 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
- Getting Started
- Client Setup
- Queries
- Aggregations
- Document Operations
- Indices Management
- Sorting
- Advanced Examples
composer require zvonchuk/elasticsearch-php-client
Version 0.1 of this library requires at least PHP version 7.1.
elasticsearch-php-client | PHP Version |
---|---|
0.1 | >= 7.1.0 |
<?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";
}