Fluent PHP Elasticsearch Query Builder — лаконічний, ланцюжковий та типобезпечний інструмент для побудови запитів

Перекладено ШІ 5 Laravel News 02 червня, 2026

Шукаєте зручний і типобезпечний спосіб формувати запити до Elasticsearch у Laravel‑проєкті? Пакет php-elasticsearch-builder пропонує ланцюжний, незмінний API над офіційним PHP‑клієнтом, що значно спрощує роботу з пошуком.

Пакет elasticsearch-builder для PHP пропонує лаконічний, fluent, immutable і type-safe конструктор запитів для Elasticsearch. Пакет безшовно працює з офіційним Elasticsearch PHP client і забезпечує зручний API замість ручного складання запитів:

use Elastic\Elasticsearch\ClientBuilder;
use Bonu\ElasticsearchBuilder\QueryBuilder;
use Bonu\ElasticsearchBuilder\Query\TermQuery;
use Bonu\ElasticsearchBuilder\Query\BoolQuery;
use Bonu\ElasticsearchBuilder\Query\MatchQuery;
 
$builder = new QueryBuilder('products')
    ->query(new TermQuery('ean', 'foo_bar_123')->boost(12))
    ->query(new BoolQuery()
        ->should(new MatchQuery('name', 'foo'))
        ->should(new MatchQuery('description', 'bar'))
        ->boost(5)
    )
    ->size(20);
 
$client = ClientBuilder::create()->build();
$products = $client->search($builder->build());

Розробникам часто зручніше користуватися fluent-інтерфейсом, ніж складними масивами або сирим JSON при прямому використанні клієнта:

// Using the client with JSON strings
$json = '{
    "query" : {
        "match" : {
            "testField" : "abc"
        }
    }
}';
 
$params = [
    'index' => 'my_index',
    'body'  => $json
];
 
$results = $client->search($params);

Раджу ознайомитися з Elasticsearch та PHP client docs перед використанням цього пакета. Elasticsearch — потужна платформа для просунутих пошукових можливостей, observability та інших задач.

Основні можливості

  • Повністю fluent і chainable API
  • Немає додаткових залежностей, окрім офіційного Elasticsearch PHP SDK
  • Просте створення повторно використовуваних складених запитів
  • 100% type-hinted і дружній до IDE
  • PHP 8.4+

Почати роботу з пакетом можна на GitHub: php-elasticsearch-builder.

Популярні

Інше, що варто прочитати

20 Оновлено 01 червня, 2026

Створення MCP-серверів на PHP

Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту

18 Оновлено 01 червня, 2026

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

26 Оновлено 01 червня, 2026

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!