Skip to content

zvonchuk/elasticsearch-php-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elasticsearch-php-client

Latest Stable Version Total Downloads

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

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";
}