Extraer registros de múltiples matrices basados en un filtro

Tengo documentos en ElasticSearch con la siguiente estructura:

"_source": {
          "last_updated": "2017-10-25T18:33:51.434706",
          "country": "Italia",
          "price": [
            "€ 139",
            "€ 125",
            "€ 120",
            "€ 108"
          ],
          "max_occupancy": [
            2,
            2,
            1,
            1
          ],
          "type": [
            "Type 1",
            "Type 1 - (Tag)",
            "Type 2",
            "Type 2 (Tag)",
          ],
          "availability": [
            10,
            10,
            10,
            10
          ],
          "size": [
            "26 m²",
            "35 m²",
            "47 m²",
            "31 m²"
          ]
        }
      }

Básicamente, los registros de detalles se dividen en 5 matrices, y los campos del mismo registro tienen la misma posición de índice en las 5 matrices. Como se puede ver en los datos de ejemplo, hay 5 conjuntos (precio, ocupación máxima, tipo, disponibilidad, tamaño) que contienen valores relacionados con el mismo elemento. Quiero extraer el elemento que tiene el campo max_occupancy mayor o igual que 2 (si no hay registro con 2 grab a 3 si no hay 3 grab a cuatro, ...), con el precio más bajo, en este caso el registro y coloque el resultado en un nuevo objeto JSON como el siguiente:

{
          "last_updated": "2017-10-25T18:33:51.434706",
          "country": "Italia",
          "price: ": "€ 125",
          "max_occupancy": "2",
          "type": "Type 1 - (Tag)",
          "availability": 10,
          "size": "35 m²"
}  

Básicamente, la estructura de resultados debe mostrar el registro extraído (que en este caso es el segundo índice de toda la matriz) y agregarle la información general (campos: "last_updated", "country").

¿Es posible extraer dicho resultado de la búsqueda elástica? ¿Qué tipo de consulta debo realizar?

¿Podría alguien sugerir el mejor enfoque?

Respuestas a la pregunta(1)

Su respuesta a la pregunta