Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Elasticsearch Dsl Laravel Package

ongr/elasticsearch-dsl

Object-oriented Elasticsearch query builder for PHP. Build searches, filters, aggregations and more with a DSL, then export to arrays for elasticsearch-php or ONGR ElasticsearchBundle. Supports Elasticsearch 5/6/7 via versioned releases.

View on GitHub
Deep Wiki
Context7

Range Aggregation

More info about range aggregation is in the official elasticsearch docs

A multi-bucket value source based aggregation that enables the user to define a set of ranges - each representing a bucket.

Simple example

{
    "aggs" : {
        "price_ranges" : {
            "range" : {
                "field" : "price",
                "keyed" : false,
                "ranges" : [
                    { "to" : 50 },
                    { "from" : 50, "to" : 100 },
                    { "from" : 100 }
                ]
            }
        }
    }
}

And now the query via DSL:

$rangeAggregation = new RangeAggregation(
    'price_ranges',
    'price',
    [
        ['to' => 50],
        ['from' => 50, 'to' => 100],
        ['from' => 100],
    ]
);

$search = new Search();
$search->addAggregation($rangeAggregation);

$queryArray = $search->toArray();

Keyed example

$rangeAggregation = new RangeAggregation(
    'price_ranges',
    'price',
    [
        ['key' => 'cheap', 'to' => 50],
        ['from' => 50, 'to' => 100],
        ['key' => 'expensive', 'from' => 100],
    ],
    true
);

$search = new Search();
$search->addAggregation($rangeAggregation);

$queryArray = $search->toArray();

Adder example

$rangeAggregation = new RangeAggregation('price_ranges', 'price');
$rangeAggregation->setKeyed(true);
$rangeAggregation->addRange(null, 50, 'cheap');
$rangeAggregation->addRange(50, 100);
$rangeAggregation->addRange(100, null, 'expensive');

$search = new Search();
$search->addAggregation($rangeAggregation);

$queryArray = $search->toArray();
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle