Introducing Elasticsearch DSL library to provide objective query builder for Elasticsearch bundle and elasticsearch-php client. You can easily build any Elasticsearch query and transform it to an array.
If you have any questions, don't hesitate to ask them on chat, or just come to say Hi ;).
This component requires Elasticsearch 2.0 or newer.
The online documentation of the bundle is here
Install library with composer:
$ composer require ongr/elasticsearch-dsl
Elasticsearch DSL was extracted from Elasticsearch Bundle to provide standalone query dsl for elasticsearch-php. Examples how to use it together with Elasticsearch Bundle can be found in the Elasticsearch Bundle docs.
If you dont want to use Symfony or Elasticsearch bundle, no worries, you can use it in any project together with elasticsearch-php. Here's the example:
Install elasticsearch-php
:
$ composer require elasticsearch/elasticsearch
Create search:
<?php
require 'vendor/autoload.php';
$client = ClientBuilder::create()->build();
$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