Neo4j 2.0.1带跳过/限制返回重复行的分页
我没有任何关于Neo4j为什么会以这种方式运行的假设,所以我把基本的基本信息放在这里。如果你还需要什么,请问 我有以下疑问,我认为上下文不是很重要。只有通过名字才能理解意图Neo4j 2.0.1带跳过/限制返回重复行的分页,neo4j,Neo4j,我没有任何关于Neo4j为什么会以这种方式运行的假设,所以我把基本的基本信息放在这里。如果你还需要什么,请问 我有以下疑问,我认为上下文不是很重要。只有通过名字才能理解意图 MATCH (e:Evidence)-[*2]->(t:Term) WHERE e.description =~ {regexp} OR t.description =~ {regexp} OR t.name =~ {regexp} OPTIONAL MATCH (e:Evidence)-[*2]->(t2:
MATCH (e:Evidence)-[*2]->(t:Term)
WHERE e.description =~ {regexp} OR t.description =~ {regexp} OR t.name =~ {regexp}
OPTIONAL MATCH (e:Evidence)-[*2]->(t2:Term)
WHERE t2.description =~ {regexp} OR t2.name =~ {regexp}
WITH e, count(t2) AS termsFound
ORDER BY termsFound DESC
SKIP 0 LIMIT 10
RETURN e;
对于用于{regexp}参数的某些关键字,查询返回19行(包括分页和不分页)。但是使用分页,查询将返回重复的ID
WITH PAGINATION: 480,584,692,638,829,797,366,337,920,637,310,737,949,411,766,479,533,562,637
WITHOUT PAGINATION: 480,584,692,638,829,797,366,448,337,920,310,737,949,411,766,479,533,562,637
ID为637的元素在两页的最后一行重复(第10页跳过0限制10和第9页跳过10限制10)
这真是奇怪的行为。发生这种情况的唯一假设是,我的订单条件(order BY termsFound DESC)为大多数行返回相同的数字(1),这反过来会使Neo4j无法选择正确的元素在第二页返回
编辑1(特定版本)
spring.data.neo4j=3.0.1.RELEASE
neo4j.kernel=2.0.1
neo4j.cypher=2.0.1
neo4j.cypher.dsl=2.0.1按照Michael Hunger的要求检查了版本,并更新到以下数字: spring.data.neo4j=3.1.0.0释放 neo4j.kernel=2.0.3 neo4j.cypher=2.0.3 neo4j.cypher.dsl=2.0.1
不确定问题出在哪里,但这足以解决问题。您使用的确切版本是什么?根据要求进行更新。谢谢你抽出时间。