Elasticsearch:URLS的聚合

时间:2015-02-11 13:35:44

标签: url parameters elasticsearch aggregation kibana

我希望我的elasticsearch / Kibana4能够让我了解我网站的哪些页面最受欢迎。我有一个字段“请求”,但由于其中列出的网址包含参数,我得到一个顶级请求的错误列表

示例:

/搜索?查询= 123

/搜索?查询= 234

每个请求都显示为单个请求

但是

家/ foobar的

家/ foobar的

列出了2个请求,在这种情况下是最高请求。

如何告诉elasticsearch汇总包含参数的请求?

1 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题。

一个是将url字段设置为not_analyzed,然后使用脚本解析出不需要的值。

可在此处找到示例脚本 -

{
  "aggs": {
    "urls": {
      "terms": {
        "field": "url",
        "script" : "_value.split("?")[0]"
      }
    }
  }
}

另一种方法是添加multifield,然后在'?'之后删除部分使用定制分析仪。您可以通过删除'?'后的任何内容来实现此目的使用pattern replace tokenizer