Comment combiner plusieurs requêtes dans ElasticSearch

Pour référence, voici le code. Je suis en train de faire un hubot plugin qui enregistre à elasticsearch et utilise ensuite hubot commandes à la recherche de ces journaux.

https://gist.github.com/4050748

Je suis en train de récupérer les enregistrements qui correspondent à deux requêtes.

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

Je m'attendais:

  • Jusqu'à 50 enregistrements
  • documents de l'utilisateur
  • enregistrements dans la dernière heure

J'ai eu:

  • jusqu'à 10 enregistrements
  • documents de l'utilisateur
  • de tout temps

Comment puis-je obtenir tous les records avec certains nom d'utilisateur dans la dernière heure? Dois-je utiliser match_all avec des filtres? Est ce que je cherche non pris en charge?

En SQL il serait quelque chose comme:

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

source d'informationauteur EnabrenTane