Skip to content
Snippets Groups Projects
user avatar
Simonas Šerlinskas authored
* remove deprecated queries

* move tests

* added support for 5.x elasticsearch syntax

changed script_score lang to painless

* refactored tests to support elastic 5

* update changelog

* uri parameters was moved to container, introduced 5.0 new request body parameters

* removed filter endpoint, change order for query and postfilter

* search test has too many not necessary test cases

All those tests has to be in specific query or endpoint. Also functional tests make more sense then asserting it in the SearchTest

* moving elasticsearch/elasticsearch to required dependencies
48df0dcc
History

ElasticsearchDSL

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 need any help, stack overflow is the preffered and recommended way to ask ONGR support questions.

Build Status Coverage Status Latest Stable Version Total Downloads Scrutinizer Code Quality

Version matrix

Elasticsearch version ElasticsearchDSL version
>= 5.0 >= 5.0
>= 2.0, < 5.0 >= 2.0
>= 1.0, < 2.0 1.x
<= 0.90.x not supported

Documentation

The online documentation of the bundle is here

Try it!

Installation

Install library with composer:

$ composer require ongr/elasticsearch-dsl

Search

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