Introducing Elasticsearch DSL library to provide objective query builder for elasticsearch-php client. You can easily build any Elasticsearch query and transform it to an array.
If you like this library, help me to develop it by buying a cup of coffee
Elasticsearch version | ElasticsearchDSL version |
---|---|
>= 8.0 | >= 8.0 |
>= 7.0 | >= 7.0 |
>= 6.0, < 7.0 | >= 6.0 |
>= 5.0, < 6.0 | >= 5.0 |
>= 2.0, < 5.0 | >= 2.0 (not supported) |
>= 1.0, < 2.0 | 1.x (not supported) |
<= 0.90.x | not supported |
The online documentation of the bundle is here
Install library with composer:
$ composer require bistrosk/elasticsearch-dsl
elasticsearch-php client is defined in the composer requirements, no need to install it.
The library is standalone and is not coupled with any framework. You can use it in any PHP project, the only requirement is composer. Here's the example:
Create search:
<?php
require 'vendor/autoload.php'; //Composer autoload
$client = ClientBuilder::create()->build(); //elasticsearch-php client
$matchAll = new ONGR\ElasticsearchDSL\Query\MatchAllQuery();
$search = new ONGR\ElasticsearchDSL\Search();
$search->addQuery($matchAll);
$params = [
'index' => 'your_index',
'body' => $search->toArray(),
];
$results = $client->search($params);
Elasticsearch DSL covers every elasticsearch query, all examples can be found in the documentation