Como faço para combinar várias consultas no ElasticSearch?

Para referência, aqui está o código. Eu estou tentando fazer um plugin de hubot que registra no elasticsearch e, em seguida, usa comandos de hubot para pesquisar esses logs.

https://gist.github.com/4050748

Eu estou tentando recuperar registros que correspondem a duas consultas.

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

Eu estava esperando:

Até 50 registrosregistros que tiveram o usuário dadoregistros na última hora

Eu tenho:

até 10 registrosregistros que tiveram o usuário dadode qualquer hora

Como obtenho todos os registros com algum nome de usuário na última hora? Preciso usar match_all com filtros? É o que estou tentando sem suporte?

No SQL seria algo como:

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

questionAnswers(2)

yourAnswerToTheQuestion