J'utilise yii\elasticsearch\Query
, et je veux utiliser le tri basé sur le script, comme décrit here. Je ne vois aucune possibilité avec Yii.Comment utiliser le tri par script elasticsearch dans yii
Je ne peux pas définir le champ à l'indexation, car je dois trier par la somme de 2 ou plusieurs champs. Les champs impliqués dans le tri sont dynamiques.
J'ai essayé de définir un champ de script à la volée, ce qui est permis par Yii:
$query->fields = array_merge($allFields, [
'rda_sum' => "doc['nutrient_220_rda_rate'].value + doc['nutrient_221_rda_rate'].value",
]);
Mais malheureusement, le champ de script ne peut pas être utilisé dans la méthode orderBy
. Je reçois le message d'erreur:
No mapping found for [rda_sum] in order to sort on
Une idée?
Avez-vous eu ce problème a compris? – Miek
Non. Comme je vois le code PHP de yii \ elasticsearch \ Query, ce n'est pas possible. –