private function buildSortOrder(SortOrderInterface $sortOrder)
{
$sortField = $sortOrder->getField();
$sortOrderConfig = ['order' => $sortOrder->getDirection(), 'missing' => $sortOrder->getDirection() == SortOrderInterface::SORT_ASC ? '_last' : '_first', 'unmapped_type' => FieldInterface::FIELD_TYPE_STRING];
if ($sortOrder->getType() == SortOrderInterface::TYPE_NESTED) {
$sortOrderConfig['nested_path'] = $sortOrder->getNestedPath();
$sortOrderConfig['mode'] = $sortOrder->getScoreMode();
if ($sortOrder->getNestedFilter()) {
$sortOrderConfig['nested_filter'] = $this->queryBuilder->buildQuery($sortOrder->getNestedFilter());
}
}
return [$sortField => $sortOrderConfig];
}