Elasticsearch 文档示例中答案文档与问题文档中的标签有何关联

问题描述 投票:0回答:1

我正在阅读 Elasticsearch 文档 8.15。父级 1 有标签数组。

PUT child_example/_doc/1
{
  "join": {
    "name": "question"
  },
  "body": "<p>I have Windows 2003 server and i bought a new Windows 2008 server...",
  "title": "Whats the best way to file transfer my site from server to a newer one?",
  "tags": [
    "windows-server-2003",
    "windows-server-2008",
    "file-transfer"
  ]
}

这是一个孩子。

PUT child_example/_doc/2?routing=1
{
  "join": {
    "name": "answer",
    "parent": "1"
  },
  "owner": {
    "location": "Norfolk, United Kingdom",
    "display_name": "Sam",
    "id": 48
  },
  "body": "<p>Unfortunately you're pretty much limited to FTP...",
  "creation_date": "2009-05-04T13:45:37.030"
}

这是返回最热门问题标签和每个标签最热门答案所有者的查询。

POST child_example/_search?size=0
{
  "aggs": {
    "top-tags": {
      "terms": {
        "field": "tags.keyword",
        "size": 10
      },
      "aggs": {
        "to-answers": {
          "children": {
            "type" : "answer" 
          },
          "aggs": {
            "top-names": {
              "terms": {
                "field": "owner.display_name.keyword",
                "size": 10
              }
            }
          }
        }
      }
    }
  }
}

但是答案文档与问题文档中的标签有什么关系?

elasticsearch
1个回答
0
投票

问题1有三个标签:

"windows-server-2003",
"windows-server-2008",
"file-transfer"

和doc 2 (

"display_name": "Sam"
)、doc 3 (
"display_name": "Troll"
)属于问题1,注意

"join": {
    "name": "answer",
    "parent": "1"
}

这意味着问题1有两个答案,所以每个标签有两个

owner
,就像mysql中的
group by tag, owner

© www.soinside.com 2019 - 2024. All rights reserved.