Elasticsearch& X-Pack:如何从嵌套文档中获取顶点/连接

时间:2017-06-08 11:37:24

标签: elasticsearch graph network-analysis xpack elasticsearch-x-pack

我刚开始使用X-Pack进行Elasticsearch,并希望从嵌套文档类型连接顶点。但是,寻找有关这方面的文档并没有让我随时随地。

我所拥有的是具有人名/ ids作为嵌套文档的文档索引(一个文档可以有很多人,一个人可以与许多文档相关)。期望的结果是获得人与人之间的连接的图表数据。

有没有人有线索或可以告诉我这是否可能?

我的部分映射:

mappings: {
    legend: {
        properties: {
            persons: {
                type: 'nested',
                properties: {
                    id: {
                        type: 'string',
                        index: 'not_analyzed'
                    },
                    name: {
                        type: 'string',
                        index: 'not_analyzed'
                    }
                }
            }
        }
    }
}

我的Graph API查询,当然不起作用,因为我不知道如何处理"名称"嵌套人员的领域"字段。

POST sagenkarta_v3/_xpack/_graph/_explore
{
  "controls": {
    "use_significance": true,
    "sample_size": 20000,
    "timeout": 2000
  },
  "vertices": [
    {
      "field": "persons.name"
    }
  ],
  "connections": {
    "vertices": [
      {
        "field": "persons.name"
      }
    ]
  }
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

这里讨论了以下问题: https://discuss.elastic.co/t/elasticsearch-x-pack-how-to-get-vertices-connections-from-nested-documents/88709

Mark_Harwood的报价-弹性团队成员:

  

不幸的是,Graph不支持嵌套文档,但是您可以使用   映射中的copy_to,可将人员数据放在以下位置的索引字段中   包含的根文档。

     

我可以看到您遇到的经典问题是   “计算机想要ID,但人们想要标签”,并且两者都具有   价值观。我建议您在Graph(还有Kibana的其余部分)中   使用将ID结合起来以用于唯一性的令牌,以及用于命名的令牌   可读性。

     

copy_to和ID和标签提示是建模的一部分   我今年在Elasticon演讲中的建议:   https://www.elastic.co/elasticon/conf/2017/sf/getting-your-data-graph-ready   3