e1on/omines-datatables-elasticsearch-adapter-bundle

Omnes DataTables 扩展包的 Elasticsearch 适配器,具有 search_after 功能

1.0.4 2024-03-26 17:12 UTC

This package is auto-updated.

Last update: 2024-09-26 18:22:20 UTC


README

此扩展包实现了 Elasticsearch 与 Symfony 的 DataTable 扩展包之间的集成,使得对 Elasticsearch 索引进行高效查询并使用 search_after 功能获取结果成为可能。这允许对以 DataTable 格式呈现的大量数据进行分页和快速处理,利用 Elasticsearch 强大的搜索功能。

安装

composer require e1on/omines-datatables-elasticsearch-adapter-bundle

规则

  • 必须为 DataTable 设置名称
  • 每个表格的 DataTable 名称必须是唯一的

使用

use E1on\OminesDatatablesElasticsearchAdapterBundle\ElasticaAdapter;

$table = $this->createDataTable()
    ->setName('log')
    ->add('timestamp', DateTimeColumn::class, ['field' => '@timestamp', 'format' => 'Y-m-d H:i:s', 'orderable' => true])
    ->add('level', MapColumn::class, [
        'default' => '<span class="label label-default">Unknown</span>',
        'map' => ['Emergency', 'Alert', 'Critical', 'Error', 'Warning', 'Notice', 'Info', 'Debug'],
    ])
    ->add('message', TextColumn::class, ['globalSearchable' => true])
    ->createAdapter(ElasticaAdapter::class, [
        'client' => ['host' => 'elasticsearch'],
        'index' => 'logstash-*',
    ]);