e1on / omines-datatables-elasticsearch-adapter-bundle
Omnes DataTables 扩展包的 Elasticsearch 适配器,具有 search_after 功能
1.0.4
2024-03-26 17:12 UTC
Requires
- php: >=8.1
- omines/datatables-bundle: ^0.7.1
- symfony/framework-bundle: ^5.4|^6.3|^7.0
- symfony/property-access: ^5.4|^6.3|^7.0
Requires (Dev)
- ruflin/elastica: ^6.2|^7.3.2
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-*', ]);