¿Cómo combino múltiples consultas en ElasticSearch?

Para referencia aquí está el código. Estoy tratando de hacer un plugin de hubot que se registre en elasticsearch y luego use los comandos de hubot para buscar esos registros.

https://gist.github.com/4050748

Estoy tratando de recuperar los registros que coinciden con dos consultas.

{ 
  query: { 
        match: {
          user: "SomeUsername" 
        }, 
        range: {
          date: {
            from: (Date.now() - 3600) 
          }
        }
  },
  size: 50 
}

Yo estaba esperando:

Hasta 50 registrosregistros que tenía el usuario dadoregistros en la última hora

Tengo:

hasta 10 registrosregistros que tenía el usuario dadodesde cualquier momento

¿Cómo consigo todos los registros con algún nombre de usuario en la última hora? ¿Necesito usar match_all con filtros? ¿Es lo que estoy intentando sin apoyo?

En SQL sería algo como:

Select (*) from messages where user_name = ? and time > ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta