Newer
Older
Introducing Elasticsearch DSL library to provide objective query builder for [Elasticsearch bundle](https://github.com/ongr-io/ElasticsearchBundle) and [elasticsearch-php](https://github.com/elastic/elasticsearch-php) client. You can easily build any Elasticsearch query and transform it to an array.
If you need any help, [stack overflow](http://stackoverflow.com/questions/tagged/ongr)
is the preffered and recommended way to ask ONGR support questions.
[](https://travis-ci.org/ongr-io/ElasticsearchDSL)
[](https://coveralls.io/github/ongr-io/ElasticsearchDSL?branch=master)
[](https://packagist.org/packages/ongr/elasticsearch-dsl)
[](https://scrutinizer-ci.com/g/ongr-io/ElasticsearchDSL/?branch=master)
__This component requires Elasticsearch 2.0 or newer.__
## Documentation
[The online documentation of the bundle is here](docs/index.md)
## Try it!
### Installation
Install library with [composer](https://getcomposer.org):
```
### Search
Elasticsearch DSL was extracted from [Elasticsearch Bundle](https://github.com/ongr-io/ElasticsearchBundle) to provide standalone query dsl for [elasticsearch-php](https://github.com/elastic/elasticsearch-php). Examples how to use it together with [Elasticsearch Bundle](https://github.com/ongr-io/ElasticsearchBundle) can be found in the [Elasticsearch Bundle docs](https://github.com/ongr-io/ElasticsearchBundle/blob/master/Resources/doc/search.md).
If you dont want to use Symfony or Elasticsearch bundle, no worries, you can use it in any project together with [elasticsearch-php](https://github.com/elastic/elasticsearch-php). Here's the example:
Install `elasticsearch-php`:
```bash
$ composer require elasticsearch/elasticsearch
```
Create search:
```php
<?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](docs/index.md)