我似乎无法以某种方式收到包含我的聚合的响应…
使用curl可以按预期工作:
HBZUMB01$ curl -XPOST "http://localhost:9200/contents/_search" -d '{
"size": 0,
"aggs": {
"sport_count": {
"value_count": {
"field": "dwid"
}
}
}
}'
我得到答复:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 90,
"max_score": 0.0,
"hits": []
},
"aggregations": {
"sport_count": {
"value": 399
}
}
}
但是在rails中使用代码:
query = '{
"size": 0,
"aggs": {
"sport_count": {
"value_count": {
"field": "dwid"
}
}
}
}'
@response = Content.search(query).to_json
并在浏览器中呈现
respond_to do |format|
format.html do
render text: "#{@response}"
end
我得到一个空的答复:
[ ]
如何在这里打印出卷曲的聚集体?
我也在为此而苦苦挣扎,但是现在我发现了如何获得聚合结果。
如果您将 elasticsearch-rails 与 elasticsearch-model gem一起使用,则在 模型上
运行聚合时,可以像以下示例一样获得存储桶:
agg = Model.search(
query: { match: { param: 'value' } },
aggs: {my_aggregation_name: { terms: { field: :my_field} }}
)
在您的RoR代码中:
agg.response["aggregations"]["my_aggregation_name"]["buckets"]
由此,您将得到如下结果:
[{"key"=>"banana",
"doc_count"=>1963,
"score"=>478.30920868573355,
"bg_count"=>2152},
{"key"=>"potato",
"doc_count"=>1212,
"score"=>315.68857496078505,
"bg_count"=>1243}, ...]
然后,您可以做任何您想做的事!希望有帮助!
Django数据库抽象API描述了使用Django查询来增删查改单个对象的方法。然而,你有时候会想要获取从一组对象导出的值或者是聚合一组对象。这份指南描述了通过Django查询来生成和返回聚合值的方法。 整篇指南我们都将引用以下模型。这些模型用来记录多个网上书店的库存。 from django.db import models class Author(models.Model): na
在聚合中,两个实体之间的关系被视为单个实体。 在聚合中,与其对应实体的关系被聚合到更高级别的实体中。 例如:中心(Center)实体提供课程(Course)实体充当关系中的单个实体,该实体与另一个实体访问者处于关系中。 在现实世界中,如果访问者访问教练中心,那么他将永远不会询问有关课程或只是关于中心,而是他会询问有关两者的询问。
框架集合由搜索查询选择的所有数据。框架中包含许多构建块,有助于构建复杂的数据描述或摘要。聚合的基本结构如下所示 - 有以下不同类型的聚合,每个都有自己的目的 - 指标聚合 这些聚合有助于从聚合文档的字段值计算矩阵,并且某些值可以从脚本生成。 数字矩阵或者是平均聚合的单值,或者是像一样的多值。 平均聚合 此聚合用于获取聚合文档中存在的任何数字字段的平均值。 例如, 请求正文 响应 如果该值不存在于一
主要内容:聚合,继承和聚合的关系在实际的开发过程中,我们所接触的项目一般都由多个模块组成。在构建项目时,如果每次都按模块一个一个地进行构建会十分得麻烦,Maven 的聚合功能很好的解决了这个问题。 聚合 使用 Maven 聚合功能对项目进行构建时,需要在该项目中额外创建一个的聚合模块,然后通过这个模块构建整个项目的所有模块。聚合模块仅仅是帮助聚合其他模块的工具,其本身并无任何实质内容,因此聚合模块中只有一个 POM 文件,不像其
如果你需要从一个模型中获取一些聚合值,你可以使用Model.aggregate()。下面通过一个例子来展示: Person.aggregate({ surname: "Doe" }).min("age").max("age").get(function (err, min, max) { console.log("The youngest Doe guy has %d years, whi
Leaflet.markercluster 是一个提供动态的标识聚类功能的 Leaflet 插件库。 引入插件 Leaflet.markercluster 包括两种方式: 下载 Leaflet.markercluster 1.进入 github 下载 Leaflet.markercluster,下载地址为: https://github.com/Leaflet/Leaflet.markerclus
对于层次聚类法,我们不需要预先指定分类的数量,这个算方法会将每条数据都当作是一个分类,每次迭代的时候合并距离最近的两个分类,直到剩下一个分类为止。 因此聚类的结果是:顶层有一个大分类,这个分类下有两个子分类,每个子分类下又有两个子分类,依此类推,层次聚类也因此得命。 在合并的时候我们会计算两个分类之间的距离,可以采用不同的方法。如下图中的A、B、C三个分类,我们应该将哪两个分类合并起来呢? 单链聚
我正在尝试设置一个搜索查询,该查询应通过多级嵌套字段复合聚合集合,并从该集合中提供一些子聚合指标。我能够按预期使用其存储桶获取复合聚合,但所有存储桶的子聚合指标都带有。我不确定我是否未能正确指出子聚合应考虑哪些字段,或者它是否应放置在查询的不同部分中。 我的收藏看起来类似于以下内容: 贝娄,你可以找到我已经尝试了。尽管所有文档都有一个设置的点击值,但所有存储桶都带有点击总数。 到目前为止,我的回应