首页 > 解决方案 > 将 CALL 的最高值返回到子查询中的 db.index.fulltext.queryNodes

问题描述

我正在加载 CSV,我想链接两个节点,一个是 csv 字段的最佳匹配,另一个是不同的节点。如何限制 CALL 给我最好的结果并将其链接到另一个节点

LOAD CSV FROM 'file:///mycsv.csv' AS line
CALL db.index.fulltext.queryNodes('name', line[1]) yield node, score
# match another node against line[0] then build connection

标签: neo4jcypher

解决方案


这段代码展示了如何使用ORDER BY和聚合函数COLLECT来获取每行得分最高的节点:

LOAD CSV FROM 'file:///mycsv.csv' AS line
CALL db.index.fulltext.queryNodes('name', line[1]) YIELD node, score
WITH line, node
ORDER BY score DESC
WITH line, COLLECT(node)[0] AS n
// match another node against line[0], then connect it to n

推荐阅读