我正在一个小型的个人项目中工作,需要在ElasticSearch中进行一些查询,我想问你一些建议,因为我有点卡住了。
这是问题所在: 到目前为止,我有一个包含一个名为users的类型的索引。它存储由该用户完成的电子邮件和一系列事件。
{
{
email : account1@gmail.com
events : [
{
type: 'SOLVE PROBLEM'
date : 20160402
},
{
type: 'RESPOND QUESTION'
date : 20160402
},
{
type: 'ASK QUESTION'
date : 20160403
},
{
type: 'SOLVE PROBLEM'
date : 20160509
},
{
type: 'ASK QUESTION'
date : 20160402
},
...
],
},
{
email : account2@gmail.com
events : [
{
type: 'RESPOND QUESTION'
date : 20160402
},
{
type: 'RESPOND QUESTION'
date : 20160402
},
{
type: 'ASK QUESTION'
date : 20160402
},
{
type: 'SOLVE PROBLEM'
date : 20160402
},
{
type: 'ASK QUESTION'
date : 20160402
},
...
],
},
-....
}
.....
我想根据每个用户完成的事件数量进行查询,例如:
价值来自一个方面。
我想问你是否可以给我一些关于我需要使用哪些过滤器/ aggs的建议,以便根据子文档中的元素数过滤文档。
因为我一直在阅读如何制作,但我还没能做到,甚至最糟糕的是,我不确定是否可能,因为我读到ES没有有像SQL
中的HAVING子句感谢您提供任何帮助或建议。