Untitled
unknown
plain_text
a month ago
3.1 kB
4
Indexable
public function esPrepareCollectionRequests($uri, $client, Request ...$requests): void { if ($client instanceof EsShopClient || $client instanceof EsShopVariantClient) { $itemPerpage = $uri['itemsPerPage'] ?: 15; $page = $uri['page'] ?: 1; $max_result = $uri['returnMaxItem'] ?: 100; $result = $this->calculatePagination($max_result, $page); foreach ($requests as $request) { $request->setUri('_search'); $client = $request->useHttpCache() ? $this->cacheClient : $this->client; $options = [ "json" => [ "size" => 0, "aggs" => [ "filtered_data" => [ "filter" => [ "bool" => [ "must" => [ ["term" => ["product_taxons" => $uri['productTaxons.taxon.code']]], ], ] ], "aggs" => [ "total_unique_idManif" => [ "cardinality" => [ "field" => "idManif.keyword" ] ], "group_by_idManif" => [ "terms" => [ "field" => "idManif.keyword", "order" => [ "_key" => "asc" ], "size" => $result['size'], "include" => [ "partition" => $result['partition'], "num_partitions" => $result['num_partitions'] ], ], "aggs" => [ "hits" => [ "top_hits" => [ "size" => 1 ] ] ] ] ] ] ] ] ]; } $json = json_encode($options, JSON_PRETTY_PRINT); $esRequest = $client->request($request->getMethod(), $request->getUri(), $options); unset($options['use_http_cache']); $this->requests[$request->getKey()] = $esRequest; } }
Editor is loading...
Leave a Comment