Problema con la consulta has_parent que contiene la función scscore

Tengo dos tipos de documentos, en una relación padre-hijo:

"myParent" : {
  "properties" : {
    "weight" : {
      "type" : "double"
    }
  }
}

"myChild" : {
  "_parent" : {
    "type" : "myParent"
  },
  "_routing" : {
    "required" : true
  }
}

losweight campo debe ser utilizado para puntuación / clasificación personalizada. Esta consulta directamente contra los documentos principales funciona de la forma prevista:

{
  "query" : {
    "function_score" : {
      "script_score" : {
        "script" : "_score * doc['weight'].value"
      }                 
    }                                                                       
  }    
}

Sin embargo, al intentar hacer una puntuación similar para los documentos secundarios con unhas_parent consulta, me sale un error:

{
  "query" : {
    "has_parent" : {
      "query" : {
        "function_score" : {                                                    
          "script_score" : {
            "script" : "_score * doc['weight'].value"
          }
        }
      },
      "parent_type" : "myParent",
      "score_type" : "score"
    }
  }
}

El error es:

QueryPhaseExecutionException [[myIndex] [3]: consulta [filtrada (ParentQuery [myParent] (filtrada (puntuación de la función (ConstantScore (:), function = script [_score * doc ['weight']. value], params [null])) -> cache (_type: myParent))) -> cache (_type: myChild)], de [0], tamaño [10]: Error en la consulta [no se pudo reescribir el contexto]]; anidado: ElasticSearchIllegalArgumentException [No se encontró ningún campo para [peso] en el mapeo con tipos [myChild]];

Parece que en lugar de aplicar la función de puntuación al padre y luego pasar su resultado al niño, ES está tratando de aplicar la función de puntuación al niño, causando el error.

Si no usoscore parascore_type, el error no se produce, aunque las puntuaciones de los resultados son todas1.0, según lo documentado.

¿Que me estoy perdiendo aqui? ¿Cómo puedo consultar estos documentos secundarios con una puntuación personalizada basada en un campo principal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta