我有许多单独的搜索(elasticsearch),可以生成简单的度量可视化.这些可视化中的每一个都是简单的总(整数).这很容易.
我希望能够做的是计算这些指标对之间的转换率.举个例子:
Metric 1: Metric 2: Conversion Calculation: Conversion Rate:
15312 9760 (9760 / 15312) * 100 63.74%
Run Code Online (Sandbox Code Playgroud)
在Kibana 4中看起来应该是可能的,但我只花了几个小时玩我的数据(+搜索示例)但是却无法解决这个问题.
有没有其他人尝试过同样的事情并且有更好的结果?我知道Kibana有脚本字段 - 但我需要某种脚本聚合.
我有一个视频博客,我想跟踪某些统计信息,包括来自Google Analytics,Twitter,YouTube,Facebook等的统计信息.
问题是各种统计数据在不同的网站上,需要不同的登录等.实际查看所有内容需要很长时间.我正在寻找一种方法,能够在一个地方汇总所有这些信息.
我在Google,Mashable,Delicious等上搜索了很多,但我没有找到任何我想要的网站.我的搜索技能是不好的,还是真的不存在?
我感兴趣的数据似乎以易于分析的形式提供(见下文),但我自己编写一个应用程序来做这件事犹豫不决,因为已经有超过完整的工作量.
我要汇总的数据:
Google Analytics - 在我的网站上进行跟踪
推特
Facebook粉丝专页
tumblr
视频
饲料燃烧器(RSS)
SEO的东西
那么有一个应用程序已经这样做了,或者我应该自己这样做?我想要一个快速而肮脏的方法来做到这一点 - 我在想像Yahoo管道这样的东西,但它似乎不能胜任这项任务.我可能在Grails中完成它,但这可能比它的价值更麻烦.其他想法?
给定一组在一个字段中具有给定值的文档,我想知道有多少文档具有第二个字段的每个值.
我尝试使用以下查询的术语聚合来做到这一点:
{
"size": 0,
"filter": {
"term": {
"field1": "value"
}
},
"aggregations": {
"field2" : {
"terms" : { "field" : "field2" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
但返回的计数显示整个索引中第二个字段的每个值的文档数,而不限于第一个字段具有给定值的文档.
我究竟做错了什么?
我在桌子下面
create table #t (Id int, Name char)
insert into #t values
(1, 'A'),
(2, 'A'),
(3, 'B'),
(4, 'B'),
(5, 'B'),
(6, 'B'),
(7, 'C'),
(8, 'B'),
(9, 'B')
Run Code Online (Sandbox Code Playgroud)
我想在name列中计算连续值
+------+------------+
| Name | Repetition |
+------+------------+
| A | 2 |
| B | 4 |
| C | 1 |
| B | 2 |
+------+------------+
Run Code Online (Sandbox Code Playgroud)
我尝试过的最好的事情是:
select Name
, COUNT(*) over (partition by Name order by Id) AS Repetition
from #t
order by Id
Run Code Online (Sandbox Code Playgroud)
但它没有给我预期的结果
如何编写Elasticsearch术语聚合,将整个术语而不是单个标记拆分为多个?例如,我想通过州聚合,但以下将新的,约克,泽西和加利福尼亚作为单独的桶返回,而不是纽约,新泽西和加利福尼亚作为预期的桶:
curl -XPOST "http://localhost:9200/my_index/_search" -d'
{
"aggs" : {
"states" : {
"terms" : {
"field" : "states",
"size": 10
}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
我的用例就像这里描述的那个 https://www.elastic.co/guide/en/elasticsearch/guide/current/aggregations-and-analysis.html 只有一个区别:我的案例中的city字段是一个数组.
示例对象:
{
"states": ["New York", "New Jersey", "California"]
}
Run Code Online (Sandbox Code Playgroud)
似乎所提出的解决方案(将字段映射为not_analyzed)对数组不起作用.
我的映射:
{
"properties": {
"states": {
"type":"object",
"fields": {
"raw": {
"type":"object",
"index":"not_analyzed"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图用"字符串"替换"对象",但这也不起作用.
list
s,tuple
s,strings with separator
)?我已经看到了这些反复出现的问题,询问了大熊猫聚合功能的各个方面.今天关于聚合及其各种用例的大部分信息都是在数十个措辞严重,不可搜索的帖子中分散的.这里的目的是为后代整理一些更重要的观点.
此Q/A旨在成为一系列有用的用户指南中的下一部分:
我有一个问题,关于如何使用继承和聚合的组合来重新构建一些单独的Maven项目.
设置场景:
这三个项目都有一些基本的依赖关系,比如log4j和junit.除此之外,web-app1和web-app2依赖于project-api,并且还在它们之间共享许多其他常见的依赖关系.
我一直在阅读https://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html,我只是想确认我理解最佳实践.
遗产:
我是否有必要创建一个组织级父POM,其中包括所有三个项目和一些环境设置以及总体项目信息共有的依赖关系(依赖关系管理).意图是所有Maven项目(不一定直接)继承自此POM.
我是否有必要创建另一个父POM,其中包含web-app1和web-app2共有的依赖关系(依赖关系管理),并且只有web-app1和web-app2继承自此POM.我认为这个POM(我们称之为web-app父POM)应该是组织级父POM的子POM.
聚合:
在聚合方面,我不想在一天结束时创建一个工件.相反,我想运行一个Maven构建命令(可能在组织POM级别)以此顺序构建三个项目:
这是否意味着组织父POM将声明模块:
Web应用程序父POM将声明模块:
请注意,Web-app父POM和组织父POM没有任何相关代码.我相信这是可以注意到的"事实上,在Maven世界中,一个项目根本不需要包含任何代码,只需要一个pom.xml." 取自http://maven.apache.org/pom.html.
最后,我如何确保我需要的构建顺序得到尊重?例如,构建组织父POM会导致构建project-api,并且这个最新的构建用于构建web-app1和web-app2?
我希望这不会太令人困惑,很高兴澄清是否需要更多信息.如果我完全错了,请随时告诉我!谢谢.
如何仅在对象属性上运行聚合查询,但获取结果中的所有属性?我希望得到[{'doc_count': 1, 'key': {'id': 1, 'name': 'tag name'}}]
,但[{'doc_count': 1, 'key': '1']
相反.字段'tags'上的聚合返回零结果.
制图:
{
"test": {
"properties" : {
"tags" : {
"type" : "object",
"properties": {
"id" : {"type": "string", "index": "not_analyzed"},
"name" : {"type": "string", "index": "not_analyzed", "enabled": false}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
聚合查询:(仅按预期返回ID,但如何在结果中获取ID和名称对?)
'aggregations': {
'tags': {
'terms': {
'field': 'tags.id',
'order': {'_count': 'desc'},
},
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
通过聚合获得ID和名称,"script": "_source.tags"
但仍在寻找更快的解决方案.
浏览Brian Goetz 这个非常有趣但却有一年历史的演示文稿 - 在幻灯片链接中他提出了一个aggregateBy()
假设在Stream API中的方法,该方法应该将列表(?)的元素聚合到一个映射(给定一个默认的初始值)以及操作该值的方法(对于重复键也是如此) - 请参阅演示文稿中的下一张幻灯片).
显然,Stream API中没有这样的方法.还有另一种方法可以在Java 8中做类似的事情吗?
在对Pandas DataFrame进行分组时,我transform
何时应该使用aggregate
?何时应该使用?它们在实践中的应用有何不同,您认为哪一个更重要?