在https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html我们了解到:
{
"aggs" : {
"t_shirts" : {
"filter" : { "term": { "type": "t-shirt" } }
}
}
}
以上代码显示了我们如何为t恤添加aggs,但我们如何做到:
{
"aggs" : {
"t_shirts_or_shorts" : {
"filter" : { "term": { "type": "t-shirt" } OR "term": { "type": "shorts" } }
}
}
}
和
{
"aggs" : {
"black_t_shirts" : {
"filter" : { "term": { "type": "t-shirt" } AND "term": { "color": "black" } }
}
}
}
您可以使用bool标签组合过滤条件,就像您可以查询子句一样。您还可以检查:elasticsearch中的多个过滤器和一个聚合
您可以在过滤器聚合中使用“must”和“should”子句,这与查询中的相同。
问题1:
{
"size": 0,
"aggs": {
"t_shirts": {
"filter": {
"bool": {
"should": [
{
"term": {
"type.keyword": "t-shirt"
}
},
{
"term": {
"type.keyword": "shorts"
}
}
]
}
}
}
}
}
问题2:
{
"size": 0,
"aggs": {
"t_shirts": {
"filter": {
"bool": {
"must": [
{
"term": {
"type.keyword": "t-shirt"
}
},
{
"term": {
"color.keyword": "black"
}
}
]
}
}
}
}
}
我使用spring集成来处理文件的一些目录,每个文件都通过一个“流”。我希望以这样一种方式设置文件的整体处理,即文件轮询器监视一个目录(或多个目录)中的新文件。一旦轮询器拾取了一个新文件,就应该将其传递给流中的后续组件,在该组件中处理该新文件,而不保持轮询过程。处理的第二个方面是,所有新文件都要经过几个步骤,然后由聚合器根据文件数(标准在不同目录中变化)进行聚合。一旦积累了足够的文件,就可以从聚合
我的JUnitRunner无法选择具有JBehave中指定的meta标记的场景。 以下是我的故事: 下面是我的运行程序文件: 当我作为JUnit test运行上述类时,没有调用带有烟雾标记的实际测试,也没有执行任何内容。 下面是我在执行上面的代码时得到的结果
本文向大家介绍在MongoDB中执行聚合排序?,包括了在MongoDB中执行聚合排序?的使用技巧和注意事项,需要的朋友参考一下 您可以将method和$sort()运算符一起使用。为了理解这个概念,让我们用文档创建一个集合。使用文档创建集合的查询如下- 在method的帮助下显示集合中的所有文档。查询如下- 以下是输出- 这是对MongoDB聚合排序的查询。 情况1-每当您希望结果按降序排列时。查
问题内容: 这是我第一次在Java中使用Mongo,并且此聚合查询存在一些问题。我可以在Mongo for Spring中执行一些简单的查询,并在我的Repository接口中扩展注解。知道在Spring-Data中进行长时间聚合时采用哪种方法会很有帮助。 问题答案: 您可以实现AggregationOperation 并编写自定义聚合操作查询,然后用于执行您在mongo shell中执行的任何m
这是我第一次在Java中使用Mongo,这个聚合查询有一些问题。我可以在我的存储库界面中使用注释在Mongo for Spring中进行一些简单的查询,这扩展了
我有如下数据: 我希望在聚合中进行过滤(因为上面的数据来自前几个阶段),以便过滤一个数组,只显示一个数组项,其中用户等于_id。 以下返回空一个数组,如何让过滤器填充一个数组,因为我期望? 其中: 将“$\u id”替换为“$$un”。“用户”显示所有数据。其中一项与预期的一样,因此问题似乎出现在$eq语句中。 如何让过滤器显示一个数组,因为我期望?