我使用lucene索引编写了下面的查询。我知道UNION在neo4j中没有分页支持。我想发帖过程了 此查询的最终结果是对结果进行分页。
START user=node:peopleSearch('username:abhay*') RETURN user , user.createdDate as time UNION START rel= Relationship:peopleSearch('skillName:Java23') RETURN StartNode(rel) as user , StartNode(rel).createdDate as time
我已关注此link。但是它给了我关于UNION RESULT的错误。
我需要发布处理联合最终结果以对其进行分页
答案 0 :(得分:2)
引用的github问题尚未解决,因此无法对UNION
进行后期处理。
在此期间,您可以将查询拆分为两个查询。第一个结合索引查找并返回节点ID:
START user=node:peopleSearch('username:abhay*') RETURN id(user) as id
UNION
START rel= Relationship:peopleSearch('skillName:Java23') RETURN id(StartNode(rel)) as id
在客户端,将返回的ID收集到一个数组中,并使用cypher参数提交第二个查询:
MATCH (n)
WHERE ID(n) IN {myIdArray}
WITH n
// placeholder for rest of this query
其中myIdArray
的参数值是step1返回的ID。