pskordilakis/elastin

Elasticsearch 查询构建器

v0.1.12 2019-04-17 16:48 UTC

This package is auto-updated.

Last update: 2024-09-18 05:10:37 UTC


README

Elasticsearch 查询构建器。旨在与 elasticsearch-php 官方客户端一起使用。

安装

composer require pskordilakis/elastin

用法

创建构建器实例

use Elastin\Builder;

$builder = Builder::create();

设置索引/索引

$builder->index('index_1')

$builder->indices(['index_2', 'index_3']);

添加布尔查询

支持的布尔查询:必须、过滤器、必须非、应该

$builder->filter('term', [ 'tag' => 'search' ]);

聚合

向查询添加简单聚合

$builder->aggregation('aggregation_name', [ 'aggregation_type' => $aggregation_body ]);

支持通过定义点分隔的名称进行嵌套聚合

$builder->aggregation('parent_aggregation_path.aggregation_name', [ 'aggregation_type' => $aggregation_body ]);

构建查询

构建方法返回查询的数组表示形式,可以传递给 elasticsearch-php 客户端。

$query = $builder->build();

$client->search($query);

别名

提供了一些常见情况的别名。

聚合别名可以通过在名称参数中传递点分隔的路径用作嵌套聚合。

位置

定义一个词项过滤器

$builder->where($field, $value);

WhereBetween

定义一个范围过滤器

$builder->whereBetween($field, $gte, $lte);

计数

创建一个值计数聚合

$builder->count($name, $field);

基数

创建一个基数聚合

$builder->cardinality($name, $field);

分组

创建一个词项聚合

$builder->groupBy($name, $field);

时间序列

创建一个日期直方图聚合

$builder->timeSeries($name, $field, $options);