2017 © Pedro Peláez
 

library saxulum-elasticsearch-querybuilder

A query builder for elasticsearch

image

saxulum/saxulum-elasticsearch-querybuilder

A query builder for elasticsearch

  • Friday, July 20, 2018
  • by dominikzogg
  • Repository
  • 1 Watchers
  • 3 Stars
  • 7,690 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 27 Versions
  • 13 % Grown

The README.md

saxulum-elasticsearch-querybuilder

Build Status Total Downloads Latest Stable Version Scrutinizer Code Quality Code Coverage, (*1)

Features

  • A simple to use, flexible query builder for elastic search.

Requirements

  • php: ~7.0

Suggests

  • saxulum/saxulum-elasticsearch-querybuilder-generator: ~1.0

Installation

Through Composer as saxulum/saxulum-elasticsearch-querybuilder., (*2)

composer require saxulum/saxulum-elasticsearch-querybuilder "~3.3"

Usage

Important: By default empty nodes get not serialized. NullNode forces null value serialization., (*3)

  • ArrayNode (no elements)
  • BoolNode (null)
  • ObjectNode (no elements)
  • FloatNode (null)
  • IntNode (null)
  • StringNode (null)

This works recursive, which means theoretically a complex query builder can lead into an empty string as json query., (*4)

Check the allowSerializeEmpty argument to prevent this if needed., (*5)

QueryBuilder

use Saxulum\ElasticSearchQueryBuilder\Node\ArrayNode;
use Saxulum\ElasticSearchQueryBuilder\Node\FloatNode;
use Saxulum\ElasticSearchQueryBuilder\Node\IntNode;
use Saxulum\ElasticSearchQueryBuilder\Node\ObjectNode;
use Saxulum\ElasticSearchQueryBuilder\Node\StringNode;

$qb = ObjectNode::create()
    ->add('query', ObjectNode::create()
        ->add('bool', ObjectNode::create()
            ->add('must', ObjectNode::create()
                ->add('term', ObjectNode::create()
                    ->add('user', StringNode::create('kimchy'))
                )
            )
            ->add('filter', ObjectNode::create()
                ->add('term', ObjectNode::create()
                    ->add('tag', StringNode::create('tech'))
                )
            )
            ->add('must_not', ObjectNode::create()
                ->add('range', ObjectNode::create()
                    ->add('age', ObjectNode::create()
                        ->add('from', IntNode::create(10))
                        ->add('to', IntNode::create(20))
                    )
                )
            )
            ->add('should', ArrayNode::create()
                ->add(ObjectNode::create()
                    ->add('term', ObjectNode::create()
                        ->add('tag', StringNode::create('wow'))
                    )
                )
                ->add(ObjectNode::create()
                    ->add('term', ObjectNode::create()
                        ->add('tag', StringNode::create('elasticsearch'))
                    )
                )
            )
            ->add('minimum_should_match', IntNode::create(1))
            ->add('boost', FloatNode::create(1.1))
        )
    );

echo $qb->json(true);

Other samples

Converter

The Versions

20/07 2018

dev-master

9999999-dev

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

20/07 2018

3.3.0

3.3.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/04 2018

3.2.1

3.2.1.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/04 2018

3.2.0

3.2.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

08/05 2017

3.1.0

3.1.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

08/05 2017

3.1-beta2

3.1.0.0-beta2

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

05/05 2017

3.1-beta1

3.1.0.0-beta1

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

05/05 2017

3.0.3

3.0.3.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

04/05 2017

3.0.2

3.0.2.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

04/05 2017

3.0.1

3.0.1.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

26/04 2017

3.0

3.0.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

26/04 2017

3.0-alpha4

3.0.0.0-alpha4

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

25/04 2017

3.0-alpha3

3.0.0.0-alpha3

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

25/04 2017

3.0-alpha2

3.0.0.0-alpha2

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

25/04 2017

3.0-alpha1

3.0.0.0-alpha1

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

10/04 2017

v2.x-dev

2.9999999.9999999.9999999-dev

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

10/04 2017

2.1.0

2.1.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

26/03 2017

2.0.2

2.0.2.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

25/03 2017

2.0.1

2.0.1.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

22/02 2017

2.0

2.0.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

22/02 2017

2.0-beta1

2.0.0.0-beta1

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/02 2017

v1.x-dev

1.9999999.9999999.9999999-dev

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/02 2017

1.1.0

1.1.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/02 2017

1.1-beta3

1.1.0.0-beta3

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

18/02 2017

1.1-beta2

1.1.0.0-beta2

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

15/02 2017

1.1-beta1

1.1.0.0-beta1

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder

12/06 2016

1.0.0

1.0.0.0

A query builder for elasticsearch

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

by Dominik Zogg

elasticsearch query querybuilder