我必须将客户的网站之一从Symfony 2.8 / Elastic Search 1.7 / FOS \ elastica-bundle“ 3.2升级到3.4 / 6.2 / 5.0.3。
我已经在安装了Elastic Search 6.2的全新服务器上复制了现有网站。
我已经阅读了很多有关此的文章,并了解到我必须重写管理Elastic查询的Bundle,因为许多方法已经过时,特别是DSL过滤器。
您完全知道以下代码(在Bundle控制器中)将在ES 6.2中变成什么:
$query = $request->query->get("query","");
$finder = $this->container->get("fos_elastica.finder.scls_concert.concert");
$queryBuilder = new QueryBuilder();
$esTextQuery = $queryBuilder->query()->query_string($query);
$esDateFilter = $queryBuilder->filter()->range('date_start',array('gte' => (new \DateTime())->getTimestamp()));
$esQuery = $queryBuilder->query()->filtered($esTextQuery,$esDateFilter);
$result = $finder->findPaginated($esQuery,["size" => 5]);
非常感谢。