olvlvl / elasticsearch-dsl
Elasticsearch的目标查询构建器
v1.0.0
2020-03-16 23:49 UTC
Requires
- icanboogie/accessor: ^1.0
This package is auto-updated.
Last update: 2024-09-17 09:40:42 UTC
README
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
命令运行测试套件。需要全局可用的PHPUnit和Composer才能运行套件。该命令将安装所需的依赖项。运行make test-coverage
命令将运行测试套件,并在build/coverage
中创建HTML覆盖率报告。可以使用make clean
命令清理该目录。
该包由Travis CI持续测试。
许可
olvlvl/elasticsearch-dsl 在新BSD许可下授权 - 有关详细信息,请参阅LICENSE文件。