如何在ElasticSearch中合并多个查询

供参考的是代码。我正在尝试制作一个记录到elasticsearch的hubot插件,然后使用hubot命令搜索那些日志。

https://gist.github.com/4050748

我正在尝试检索与两个查询匹配的记录。

{ 

query: {

match: {

user: "SomeUsername"

},

range: {

date: {

from: (Date.now() - 3600)

}

}

},

size: 50

}

我期待:

  • 多达50条记录
  • 具有给定用户的记录
  • 最近一小时的记录

我有:

  • 最多10条记录
  • 具有给定用户的记录
  • 从任何时候

我如何在过去一小时内获取带有某些用户名的所有记录?我需要将match_all与过滤器一起使用吗?我尝试的是不受支持的吗?

在SQL中,它将类似于:

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

回答:

您需要使用布尔查询将不同的查询组合在一起。然后,您可以选择每个查询是否必须匹配,应匹配(可选)或不匹配。

以上是 如何在ElasticSearch中合并多个查询 的全部内容, 来源链接: utcz.com/qa/430446.html

回到顶部