我目前在ElasticSearch中有以下索引
PUT my_index
{
"mappings": {
"doc": {
"properties": {
"type" : {
"type": "text",
"fielddata": true
},
"id" : {
"type": "text",
"fielddata": true
},
"nestedTypes": {
"type": "nested",
"properties": {
"nestedTypeId":{
"type": "integer"
},
"nestedType":{
"type": "text",
"fielddata": true
},
"isLead":{
"type": "boolean"
},
"share":{
"type": "float"
},
"amount":{
"type": "float"
}
}
}
}
}
}
}
我需要将嵌套类型与每行中的id
和type
字段一起显示在HTML表格中。
我正在尝试在MongoDB中实现与unwind类似的东西。
我尝试了反向嵌套聚合,如下所示
GET my_index/_search
{
"size": 0,
"aggs": {
"NestedTypes": {
"nested": {
"path": "nestedTypes"
},
"aggs": {
"NestedType": {
"terms": {
"field": "nestedTypes.nestedType",
"order": {
"_key": "desc"
}
},
"aggs": {
"Details": {
"reverse_nested": {},
"aggs": {
"type": {
"terms": {
"field": "type"
}
},
"id": {
"terms": {
"field": "id"
}
}
}
}
}
}
}
}
}
}
但是上面只返回nestedTypes
中的一个字段,但我需要所有这些字段。
另外,我需要对此表进行排序和分页。能告诉我如何在ElasticSearch中实现这一目标。
答案 0 :(得分:0)
ElasticSearch不支持此操作。当提出在git中实现相同要求的请求时,给出以下响应:
我们在星期五的Fixit中进行了讨论,并同意我们不会尝试 由于我们想不出一种支持的方式而实施它 这样的操作有效。
我们认为合理的唯一想法归结为 另一个存储相同数据但变平的索引。取决于 您的用例,您也许可以在其中维护这两个视图 并行或仅保留您今天拥有的那个,然后 在需要时实现数据的扁平化视图并将其抛出 完成查询后离开。在两种情况下,这都需要 客户端逻辑。
请求的链接为here