我不完全确定是否可以这样做,但我尝试对过滤字段进行术语汇总。
我使用的是Elasticsearch 5.2,我的索引文档如下所示。 基本上,每个文档都属于一个用户,它包含用户所做的一系列评论等数据。
{
"username": "John_162",
"comments": [
{
"date": "2017-05-11",
"type": "default",
"content": "You guys need to check this site right now! www.randomsite.com"
},
{
"date": "2017-05-19",
"type": "default",
"content": "This video (http://www.youtube.com/watch?v=111111) is very funny"
}
]
},
{
"username": "Elsa-Pat",
"comments": [
{
"date": "2017-05-13",
"type": "default",
"content": "How are you guys doing today???"
},
{
"date": "2017-05-14",
"type": "default",
"content": "My latest video is here: www.youtube.com/watch?v=nnnnn. Tell me what you think!!"
}
]
}
我的目标是首先分析所有用户的所有评论,并寻找某种模式的外观。在这种情况下,我试图寻找网址。 之后,我会尝试对找到的URL进行Term聚合。
在这种情况下,所需的输出是:
{
"www.youtube.com": 2,
"www.randomsite.com": 1
}
我能够搜索在一条或多条评论中有链接的用户,但我甚至不知道从哪里开始计算它们并按上述说明对它们进行分组。< / p>
在查询中这是一个可行的目标,还是应该运行一个分析文档的单独脚本?