如何在输出桶中添加名为“agency\u name”的新密钥。
我正在运行一个聚合代码,如下所示
{
"aggs": {
"name": {
"terms": {
"field": "agency_code"
}
}
}
}
我会把它放出来
"aggregations": {
"name": {
"doc_count_error_upper_bound": 130,
"sum_other_doc_count": 39921,
"buckets": [
{
"key": "1000",
"doc_count": 105163
},
{
"key": "2100",
"doc_count": 43006
}
]
}
}
在显示时,我需要显示代理名称、代码和doc_count
如何修改聚合查询,以便获得以下格式。我是ElasticSearch新手,不知道如何修复此问题
"aggregations": {
"name": {
"doc_count_error_upper_bound": 130,
"sum_other_doc_count": 39921,
"buckets": [
{
"key": "1000",
"doc_count": 105163,
"agency_name": 'Agent 1'
},
{
"key": "2100",
"doc_count": 43006,
"agency_name": 'Agent 2'
}
]
}
}
ElasticSearch中的示例数据(分析字段)
{
"_index": "feeds",
"_type": "news",
"_id": "22005",
"_version": 1,
"_score": 1,
"_source": {
"id": 22005,
"name": "Test News",
"agency_name": "Agent 1",
"agency_code": "1000",
}
}
ES无法知道agency_name
和agency_code
映射一对一。因此,我将推荐一些可能的策略。
agency_name
并在该字段上使用术语agg。如果您真的需要对agency_name
进行标记化,我会感到惊讶。正如Aditya Patel上面提到的,亲子关系也可能有所帮助,但我相信你仍然需要使用上述策略之一来解决id-
我想你需要再加一个“aggs”。但它不是您想要的格式,而是作为输出中的另一个字段,原因是您当前正在根据“agency\u code”进行聚合,doc\u计数显示特定agency code出现的次数。现在,当您想基于“agency\u name”聚合它时,该字段可能位于不同于“agency\u code”的文档中,也可能位于不同的数字中,如果它们总是成对存在,那么这种父子索引可能会有所帮助。
https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-parent-child.html
您可以像下面的链接一样使用热门搜索聚合。格式将略有不同,因为创建额外的聚合将在另一个“点击”键下嵌入代理名称。
向ElasticSearch术语聚合添加其他字段
{
"aggs": {
"name": {
"terms": {
"field": "agency_code"
},
"aggs": {
"agency_names" : {
"top_hits": {
size: 1,
_source: {
include: ['agency_name']
}
}
}
}
}
}
}
问题内容: 索引文件如下: 我想要的是按平台计数和输出统计信息。为了进行计数,我可以将术语聚合作为字段进行计数: 这样,我就可以像预期那样将统计数据作为多个存储桶接收到。 现在,我还能以某种方式添加到这些存储桶中吗(以及用于统计的漂亮输出)?我附带的最好的看起来像: 实际上,它可以工作,并且在每个存储桶中返回非常复杂的结构: 当然,可以从此结构中提取平台的名称和网址(例如),但是是否有更干净,更简
索引文档如下: 我想要的是按平台计数和输出统计信息。对于计数,我可以使用带有的术语聚合作为字段进行计数: 通过这种方式,我以多个bucket的形式接收统计数据,看起来就像预期的那样{key:8,doc\u count:162511}。 现在,我可以以某种方式将和(用于漂亮的统计输出)添加到这些桶中吗?我带来的最好的看起来像: 实际上,它可以工作,并在每个桶中返回非常复杂的结构: 当然,平台的名称和
我需要按9个文件分组,并在ElasticSearch中获得每个组的计数,原始代码使用“脚本”,性能很差,所以我需要优化它。我设法创建了一个新的字段并使用“copy_to”,但是当我与新的字段聚合时,我发现了一些问题。 我使用“src ip”和“dst ip”字段作为测试,copy_to字段是“agg condition”。下面是映射: 然后我给它添加一些数据 然后我看到kibana中的映射,它看起
在我的laravel 5.4应用程序中,我有一个一对多(反向)关系。有两种型号和与场景相关。 模型上的关系为: 表具有以下字段:,,,等。 表包含以下字段:,,,等。 我想要的是,搜索条件中记录的字段'vehicles.volume'的总和。 我尝试过以下几种方法: 并导致以下错误: SQLSTATE[42S22]:未找到列:“字段列表”中的1054未知列“vehicles.volume”(SQL
我在elasticsearch中有一个文档索引,每个文档有480个字段。我试图做的是搜索一个词(例如“Apple”),并获得所有其值与搜索词匹配的唯一字段名。所以如果我的文档是: 作为查询的结果,我希望得到如下所示的聚合: 由于每个文档都有480个字段,所以我更喜欢执行multi_match查询,而不是使用包含所有字段的筛选器: 这个查询在ElasticSearch中可能吗?
我只能通过包装每个where条件{'patient id':'123'},{'diet':{$elemmatch:{'status':'a'}}}来使它在Mongo shell中工作。 我如何强制Mongoose将每个查询字段括在花括号中或任何其他想法中?