gpt4 book ai didi

elasticsearch - 如何从Elasticsearch数据中为Vega中的路径创建索引?

转载 作者:行者123 更新时间:2023-12-03 02:28:13 25 4
gpt4 key购买 nike

我目前正在尝试使用this示例的vega在Kibana中创建一个节点图。为了进行测试,我使用了node-datalink-data而不是data/miserables.json的硬编码示例数据集。

节点数据值:

[
{ "name": "node1" },
{ "name": "node2" }
]

链接数据值:
[
{ "source": 0, "target": 1, "link-info": "connection" }
]
sourcetargetlink-data属性期望相应 node-data条目的索引,因此,目前我绘制了两个节点,它们之间在node1和node2之间进行了硬编码连接(到目前为止工作正常)。

但是,现在我想使用来自Elasticsearch查询的数据而不是硬编码的数据集。

目前,我可以以以下格式查询elasticsearch表

flex 数据值:
[
{ "src_node": "node1", "dst_node": "node2", "link_info": "connection" }
]

现在我不知道如何从中创建 link-data。我可能可以通过Elasticsearch查询提取唯一的源和目标来创建 node-data,但是如何获取它们的索引来创建匹配的 link-data

我发现了 this indexof()函数,我以为可以在 expr中使用它来转换 src_nodedst_node,但无法正常工作,也找不到使用示例。

但是,也许我错过了另一个选择,例如,也许有一种方法可以使用 node.name代替 sourcetarget的索引?

我整理了一个 minimum working example(Vega在线编辑器)- 请参见第69行以获取简短描述

最佳答案

万一有人偶然发现:我确实错过了这个“另一个选择”。

只需将"id": "datum.name"附加到
{"force": "link", "links": "link-data", "distance": 100}
所以看起来
{"force": "link", "id": "datum.name", "links": "link-data", "distance": 100}

这允许基于名称的引用而不是索引。现在,数据集name中的link-data字段将用于识别node-data中的项目。 Documentation Reference

关于elasticsearch - 如何从Elasticsearch数据中为Vega中的路径创建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60587982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com