Skip to content
Snippets Groups Projects
README.md 2.47 KiB
Newer Older
# ElasticsearchDSL

C0mp4ct's avatar
C0mp4ct committed
[![codecov](https://codecov.io/github/bistrosk/elasticsearch-dsl/branch/master/graph/badge.svg?token=CPGXKV2LN4)](https://codecov.io/github/bistrosk/elasticsearch-dsl)
[![Latest Stable Version](http://poser.pugx.org/bistrosk/elasticsearch-dsl/v)](https://packagist.org/packages/bistrosk/elasticsearch-dsl) [![Total Downloads](http://poser.pugx.org/bistrosk/elasticsearch-dsl/downloads)](https://packagist.org/packages/bistrosk/elasticsearch-dsl) [![Latest Unstable Version](http://poser.pugx.org/bistrosk/elasticsearch-dsl/v/unstable)](https://packagist.org/packages/bistrosk/elasticsearch-dsl) [![License](http://poser.pugx.org/bistrosk/elasticsearch-dsl/license)](https://packagist.org/packages/bistrosk/elasticsearch-dsl) [![PHP Version Require](http://poser.pugx.org/bistrosk/elasticsearch-dsl/require/php)](https://packagist.org/packages/bistrosk/elasticsearch-dsl)

C0mp4ct's avatar
C0mp4ct committed
## Fork of [ongr-io/ElasticsearchDSL](https://github.com/ongr-io/ElasticsearchDSL) library with updated PHP and Elasticsearch version.
C0mp4ct's avatar
C0mp4ct committed
Introducing Elasticsearch DSL library to provide objective query builder for [elasticsearch-php](https://github.com/elastic/elasticsearch-php) client. You can easily build any Elasticsearch query and transform it to an array.
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed
## Version matrix

Denis Urban's avatar
Denis Urban committed
| Elasticsearch version | ElasticsearchDSL version |
|-----------------------|--------------------------|
| >= 8.0                | >= 8.0                   |
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed

## Documentation

[The online documentation of the bundle is here](docs/index.md)
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed

## Try it!

### Installation

Install library with [composer](https://getcomposer.org):

Mantas Varatiejus's avatar
Mantas Varatiejus committed
```bash
Denis Urban's avatar
Denis Urban committed
$ composer require bistrosk/elasticsearch-dsl
> [elasticsearch-php](https://github.com/elastic/elasticsearch-php) client is defined in the composer requirements, no need to install it.

Simonas Šerlinskas's avatar
Simonas Šerlinskas committed
### Search

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:
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed

Create search:

```php
 <?php
  require 'vendor/autoload.php'; //Composer autoload
  $client = ClientBuilder::create()->build(); //elasticsearch-php client
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed
  
  $matchAll = new ONGR\ElasticsearchDSL\Query\MatchAllQuery();
  
  $search = new ONGR\ElasticsearchDSL\Search();
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed
  $search->addQuery($matchAll);
Simonas Šerlinskas's avatar
Simonas Šerlinskas committed
  
  $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)