olvlvl / elasticsearch-dsl
An objective query builder for Elasticsearch
Installs: 4 217
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- icanboogie/accessor: ^1.0
This package is auto-updated.
Last update: 2024-12-17 10:21:14 UTC
README
The olvlvl/elasticsearch-dsl
package provides an objective query builder for Elasticsearch. It
helps you create Elasticsearch queries using
the same language as you would use writing arrays by hand.
I created this library because I found using ongr-io/ElasticsearchDSL, the only other available option, very cumbersome, and I wanted an interface that would feel more natural regarding Elasticsearch language.
I've been working on this library since January, it's far from being feature complete, but I'm getting there :) If you'd like to help please submit a PR.
A simple example
Here is a simple example, take from Elasticsearch documentation. More are available in our documentation.
{ "query": { "bool": { "must": [ { "match": { "title": "Search" } }, { "match": { "content": "Elasticsearch" } } ], "filter": [ { "term": { "status": "published" } }, { "range": { "publish_date": { "gte": "2015-01-01" } } } ] } } }
<?php use olvlvl\ElasticsearchDSL\Query; $query = new Query; $query->bool->must ->match('title', "Search") ->match('content', "Elasticsearch"); $query->bool->filter ->term('status', 'published') ->range('publish_date', function (Query\Term\RangeQuery $range) { $range->gte("2015-01-01"); });
Requirements
The package requires PHP 7.1 or later.
Installation
The recommended way to install this package is through Composer:
$ composer require olvlvl/elasticsearch-dsl
Cloning the repository
The package is available on GitHub, its repository can be cloned with the following command line:
$ git clone https://github.com/olvlvl/elasticsearch-dsl.git
Documentation
You can generate the documentation for the package and its dependencies with the make doc
command.
The documentation is generated in the build/docs
directory. ApiGen is
required. The directory can later be cleaned with the make clean
command.
Testing
The test suite is ran with the make test
command. PHPUnit and
Composer need to be globally available to run the suite. The command
installs dependencies as required. The make test-coverage
command runs test suite and also creates
an HTML coverage report in build/coverage
. The directory can later be cleaned with the
make clean
command.
The package is continuously tested by Travis CI.
License
olvlvl/elasticsearch-dsl is licensed under the New BSD License - See the LICENSE file for details.