ocramius/elasticsearch-dsl

该软件包已被弃用且不再维护。作者建议使用ongr/elasticsearch-dsl软件包。

!!! 临时分支 !!! 将被移除 !!! Elasticsearch DSL 库

7.9.999 2021-03-29 15:03 UTC

README

引入Elasticsearch DSL库,为Elasticsearch bundleelasticsearch-php客户端提供目标查询构建器。您可以轻松构建任何Elasticsearch查询并将其转换为数组。

如果您需要任何帮助,请在stack overflow上提问,这是首选和推荐的方式。

Build Status codecov Latest Stable Version Total Downloads Scrutinizer Code Quality

如果您喜欢这个库,请通过购买一杯咖啡来帮助我开发它

Buy Me A Coffee

版本矩阵

Elasticsearch版本 ElasticsearchDSL版本
>= 7.0 >= 7.0
>= 6.0, < 7.0 >= 6.0
>= 5.0, < 6.0 >= 5.0
>= 2.0, < 5.0 >= 2.0 (不支持)
>= 1.0, < 2.0 1.x (不支持)
<= 0.90.x 不支持

文档

该软件包的在线文档在这里

尝试一下!

安装

使用composer安装库

$ composer require ongr/elasticsearch-dsl

elasticsearch-php客户端在composer要求中已定义,无需安装。

搜索

Elasticsearch DSL是从Elasticsearch Bundle提取出来的,为elasticsearch-php提供独立查询dsl。如何在Elasticsearch Bundle文档中使用它的示例可以找到。

如果您不想使用Symfony或Elasticsearch bundle,不用担心,您可以使用它与elasticsearch-php一起在任何项目中使用。这里有一个示例

如果您使用Symfony,还有ElasticsearchBundle,它提供了Elasticsearch DSL的完全集成。

该库是独立的,不与任何框架耦合。您可以在任何PHP项目中使用它,唯一的要求是composer。这里有一个示例

创建搜索

 <?php
  require 'vendor/autoload.php'; //Composer autoload

  $client = ClientBuilder::create()->build(); //elasticsearch-php client
  
  $matchAll = new ONGR\ElasticsearchDSL\Query\MatchAllQuery();
  
  $search = new ONGR\ElasticsearchDSL\Search();
  $search->addQuery($matchAll);
  
  $params = [
    'index' => 'your_index',
    'body' => $search->toArray(),
  ];
  
  $results = $client->search($params);

Elasticsearch DSL涵盖了每个Elasticsearch查询,所有示例都可以在文档中找到