olvlvl/elasticsearch-dsl

Elasticsearch的目标查询构建器

v1.0.0 2020-03-16 23:49 UTC

This package is auto-updated.

Last update: 2024-09-17 09:40:42 UTC


README

Release Build Status Code Quality Code Coverage Packagist

olvlvl/elasticsearch-dsl 包提供Elasticsearch的目标查询构建器。它帮助您使用与手动编写数组相同的语言创建Elasticsearch查询。

我创建了这个库,因为我发现使用ongr-io/ElasticsearchDSL(唯一可用的选项)非常繁琐,我希望有一个更自然地符合Elasticsearch语言的接口。

我从1月份开始编写这个库,它还远未完善,但我正在努力改进。如果您想帮忙,请提交一个PR。

简单示例

以下是一个简单示例,摘自Elasticsearch文档。更多示例可在我们的文档中找到。

{
    "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");
    });

查看更多示例

要求

该包需要PHP 7.1或更高版本。

安装

推荐通过Composer安装此包。

$ composer require olvlvl/elasticsearch-dsl

克隆仓库

该包可在GitHub上找到,其仓库可以使用以下命令行克隆

$ git clone https://github.com/olvlvl/elasticsearch-dsl.git

文档

您可以使用make doc命令生成包及其依赖项的文档。文档生成在build/docs目录中。ApiGen是必需的。可以使用make clean命令清理该目录。

测试

使用make test命令运行测试套件。需要全局可用的PHPUnitComposer才能运行套件。该命令将安装所需的依赖项。运行make test-coverage命令将运行测试套件,并在build/coverage中创建HTML覆盖率报告。可以使用make clean命令清理该目录。

该包由Travis CI持续测试。

Build Status Code Coverage

许可

olvlvl/elasticsearch-dsl 在新BSD许可下授权 - 有关详细信息,请参阅LICENSE文件。