【发布时间】:2021-09-24 04:31:56
【问题描述】:
我有一个索引,其文档结构如下 -
{
"key": ["10", "20"],
"keywords": [
{
'case': 1,
'word': 'abc'
},
{
'case': 2,
'word': 'def'
},
{
'case': 1
'word': abcd
}
]
}
我需要在 key=10 上应用过滤器并获取文档中每种情况下不同单词的计数。有 20 种不同的情况,所以这个查询最多返回 20 个桶。
过滤条件: 键 = 10
预期结果集
[
{
'case': 1,
'value': 2
},
{
'case': 2,
'value': 1
}
]
对此的等效 SQL 查询是 -
select case, count(distinct words) as value
from <table> where key = 10 and case in (1, 2, 3, 4) group by case;
【问题讨论】:
标签: elasticsearch solr lucene elastic-stack elasticsearch-dsl