我一直在尝试编写一个密码查询,这使我能够从多个lucene索引中获取结果,同时启用可分页结果。
据我所知:
START u=node:Index1(lucene_expression1)
RETURN COLLECT(u) as clt
START u=node:Index2(lucene_expression2)
RETURN clt + COLLECT(u) as clt
UNWIND clt AS u
WITH DISTINCT u
RETURN u ORDER BY u.name SKIP 0 LIMIT 10
问题是当第二个索引没有返回任何结果时, 没有返回结果,忽略第一个索引返回的结果。
我认为这是因为执行顺序,除非COLLECT或COUNT是唯一返回的字段,否则空结果集总是返回空结果集。
为了澄清,我知道我可以使用UNION来获取完整的数据集,但是我需要在Neo4j之外应用分页,我希望避免这种分页。
由于
答案 0 :(得分:0)
适合我:
START n=node:node_auto_index(name="Neo2")
WITH collect(n) AS c
START n=node:node_auto_index("name:Neo")
WITH c + collect(n) AS c2 UNWIND c2 AS n
RETURN n
SKIP 0 LIMIT 10