ElasticsearchDSL

其他类别 2025-08-24

ElasticsearchDSL

介绍Elasticsearch DSL库,为Elasticsearch Bundle和Elasticsearch-PHP客户端提供目标查询构建器。您可以轻松构建任何Elasticsearch查询并将其转换为数组。

如果您需要任何帮助,则堆栈溢出是提出ONGR支持问题的首选和建议的方法。

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

版本矩阵

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 require ongr/elasticsearch-dsl

Elasticsearch-PHP客户端是在作曲家要求中定义的,无需安装它。

搜索

从Elasticsearch Bundle提取Elasticsearch DSL,为Elasticsearch-PHP提供独立的查询DSL。示例如何与Elasticsearch Bundle一起使用,可以在Elasticsearch Bundle文档中找到。

如果您不想使用Symfony或Elasticsearch Bundle,则不用担心,可以与Elasticsearch-PHP一起在任何项目中使用它。这是一个例子:

如果您使用的是Symfony,也有ElasticsearchBundle,它可以与Elasticsearch DSL完整集成。

该库是独立的,不与任何框架结合在一起。您可以在任何PHP项目中使用它,唯一的要求是作曲家。这是一个例子:

创建搜索:

ElasticsearchDSLQueryMatchAllQuery(); $search = new ONGR ElasticsearchDSL Search(); $search->addQuery($matchAll); $params = [ 'index' => 'your_index', 'body' => $search->toArray(), ]; $results = $client->search($params);">
 
  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查询,所有示例都可以在文档中找到

下载源码

通过命令行克隆项目:

git clone https://github.com/ongr-io/ElasticsearchDSL.git