PHP code example of seyvillas / elastic-query-builder
1. Go to this page and download the library: Download seyvillas/elastic-query-builder library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
seyvillas / elastic-query-builder example snippets
use SeyVillas\ElasticQueryBuilder\Aggregations\MaxAggregation;
use SeyVillas\ElasticQueryBuilder\Builder;
use SeyVillas\ElasticQueryBuilder\Queries\MatchQuery;
$client = Elastic\Elasticsearch\ClientBuilder::create()->build();
$companies = (new Builder($client))
->index('companies')
->addQuery(MatchQuery::create('name', 'spatie', fuzziness: 3))
->addAggregation(MaxAggregation::create('score'))
->search();
use SeyVillas\ElasticQueryBuilder\Queries\RangeQuery;
use SeyVillas\ElasticQueryBuilder\Builder;
$client = Elastic\Elasticsearch\ClientBuilder::create()->build();
$builder = new Builder($client);
$builder->addQuery(RangeQuery::create('age')->gte(18));
$results = $builder->search(); // raw response from ElasticSearch
use SeyVillas\ElasticQueryBuilder\Aggregations\TermsAggregation;
use SeyVillas\ElasticQueryBuilder\Builder;
$results = (new Builder(Elastic\Elasticsearch\ClientBuilder::create()->build()))
->addAggregation(TermsAggregation::create('genres', 'genre'))
->search();
$genres = $results['aggregations']['genres']['buckets'];
use SeyVillas\ElasticQueryBuilder\Geo\Point;
use SeyVillas\ElasticQueryBuilder\Sorts\GeoSort;
$builder
->addSort(
GeoSort::create('location', Point::create($point->latitude, $point->longitude))
);
use SeyVillas\ElasticQueryBuilder\Sorts\Random;
$builder
->addSort(Random::create());