Smile\ElasticsuiteCore\Search\Request\BucketInterface::isNested PHP Метод

isNested() публичный Метод

Indicates if the aggregation is nested.
public isNested ( )
    public function isNested();

Usage Example

Пример #1
0
 /**
  * Build the aggregation.
  *
  * @param BucketInterface $bucket Term bucket.
  *
  * @return array
  */
 public function buildBucket(BucketInterface $bucket)
 {
     $aggregation = ['terms' => ['field' => $bucket->getField(), 'size' => $bucket->getSize()]];
     if (in_array($bucket->getSortOrder(), [$bucket::SORT_ORDER_COUNT, $bucket::SORT_ORDER_MANUAL])) {
         $aggregation['terms']['order'] = [$bucket::SORT_ORDER_COUNT => SortOrderInterface::SORT_DESC];
     } elseif ($bucket->getSortOrder() == $bucket::SORT_ORDER_TERM) {
         $aggregation['terms']['order'] = [$bucket::SORT_ORDER_TERM => SortOrderInterface::SORT_ASC];
     } elseif ($bucket->getSortOrder() == $bucket::SORT_ORDER_RELEVANCE && !$bucket->isNested()) {
         $aggregation['aggregations']['termRelevance'] = ['avg' => ['script' => $bucket::SORT_ORDER_RELEVANCE]];
         $aggregation['terms']['order'] = ['termRelevance' => SortOrderInterface::SORT_DESC];
     }
     return $aggregation;
 }