Symfony和Elastic搜索升级

时间:2018-08-31 14:28:10

标签: symfony elasticsearch

我必须将客户的网站之一从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]);

非常感谢。

1 个答案:

答案 0 :(得分:0)

以上代码中的主要问题是filtered query is gone并需要用0 0 代替:

所以我认为,您可以按照以下方式做一些事情:

bool