2015-02-11 51 views
1

我想让我的elasticsearch/Kibana4给我一个概述,我的网站的哪些页面被查看得最多。我有一个字段“请求”,但由于该网址所列包含参数,我得到的最高要求的假名单Elasticsearch:URLS聚合

例子:??

/搜索查询= 123

/搜索查询= 234

每个请求被示为单个请求

家/ foobar的

首页/ foobar

列出2请求,并且是这种情况下的最高请求。

如何告诉elasticsearch聚合包含参数的请求?

回答

0

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

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

一个示例脚本可以在这里找到 -

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

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