Elasticsearch - 过滤字段的术语聚合

时间:2017-05-19 12:29:43

标签: elasticsearch elasticsearch-aggregation

我不完全确定是否可以这样做,但我尝试对过滤字段进行术语汇总。

我使用的是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>

在查询中这是一个可行的目标,还是应该运行一个分析文档的单独脚本?

0 个答案:

没有答案