ElasticsearchDSL

Query DSL library for Elasticsearch

Github stars Tracking Chart

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 preferred and recommended way to ask ONGR support questions.

Build Status
codecov
Latest Stable Version
Total Downloads
Scrutinizer Code Quality

If you like this library, help me to develop it by buying a cup of coffee

Version matrix, Elasticsearch version, ElasticsearchDSL version, ---------------------, ---------------------------, >= 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, ## Documentation

The online documentation of the bundle is here

Try it!

Installation

Install library with composer:

$ composer require ongr/elasticsearch-dsl

elasticsearch-php client is defined in the composer requirements, no need to install it.

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:

If you are using Symfony there is also the ElasticsearchBundle
which provides full integration with Elasticsearch DSL.

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

Overview

Name With Ownerongr-io/ElasticsearchDSL
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:MIT License
Release Count44
Last Release Namev6.3.0 (Posted on )
First Release Namev1.0.0-RC1 (Posted on )
Created At2015-06-25 08:27:27
Pushed At2023-11-11 19:00:06
Last Commit At2020-02-05 18:51:17
Stargazers Count459
Watchers Count27
Fork Count193
Commits Count0.9k
Has Issues Enabled
Issues Count125
Issue Open Count41
Pull Requests Count162
Pull Requests Open Count17
Pull Requests Close Count67
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top