Neo4j按距离的空间顺序

阿敏·阿布·塔莱布

我目前正在使用Spatial进行查询,如下所示:

START b=node:LocationIndex('withinDistance:[70.67,12.998,6.0]')
RETURN b
ORDER BY b.score

B是具有分数的实体,我想按该分数排序,但是我发现一种情况,其中分数为0的所有实体均未按距离排序。我知道Spatial会按距离自动排序,但是一旦我由另一个字段强制执行该命令,便会丢失该命令。

有什么方法可以强制将此订单作为第二订单字段,例如:

START b=node:LocationIndex('withinDistance:[70.67,12.998,6.0]')
RETURN b
ORDER BY b.score, ?distance?
克雷格·塔弗纳

不幸的是,在当前的空间插件中,根本没有密码支持,因此ORDER BY无法访问距离函数(或距离结果)。

正如您已经注意到的,索引本身中的insideDistance函数将返回按距离排序的结果。如果未在密码查询中添加额外的ORDER BY,则应保持距离顺序。但是,当添加额外的ORDER BY时,原始订单将丢失。对于密码开发者来说,对ORDER BY中相对相同的元素保持原始顺序将是一个有趣的功能请求。

还有一个单独的计划来开发密码本身内的空间功能,这将以您想要的方式解决该问题。但是,有关此产品的开发或发布时间表尚无任何信息。

可以在较短的时间范围内帮助您并且独立于neo4j开发计划本身的另一种选择是通过扩展对空间索引查询添加订单。现在,您将索引查询指定为“ withinDistance:[70.67,12.998,6.0]”,但是您可以编辑空间插件代码以支持向该查询传递额外的参数,并且它们可以是按参数排序。这样您就可以完全控制订单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Neo4j按距离的空间顺序

来自分类Dev

neo4j空间查找几何距离内REST

来自分类Dev

按关系顺序排序属性neo4j

来自分类Dev

neo4j编辑距离搜索

来自分类Dev

距离内的Neo4j空间密码查询不返回现有节点

来自分类Dev

Neo4j空间内距离仅返回一个节点

来自分类Dev

距离内的Neo4J空间仅返回完全匹配项

来自分类Dev

Spring Data Neo4J 4.0.0:按属性调用查询的正确顺序是什么?

来自分类Dev

neo4j通过输入按数组顺序匹配节点

来自分类Dev

如何从 Neo4j 路径中按顺序显示所有节点和关系的名称

来自分类Dev

neo4j,neo4jclient按土耳其语(或其他)字母顺序排列

来自分类Dev

使用 Neo4J 使用纬度/经度查找距离

来自分类Dev

Neo4j:如何按距离为每个节点找到其下一个邻居并创建关系

来自分类Dev

Neo4j空间-执行Cypher查询时失败

来自分类Dev

Neo4j空间,索引与图层之间的关系

来自分类Dev

为neo4j配置空间插件

来自分类Dev

如何在Neo4j中创建空间索引?

来自分类Dev

Neo4j空间Maven构建失败

来自分类Dev

匹配FOAF,但按日期限制路径;特别是以顺序方式,在Neo4j中

来自分类Dev

匹配FOAF,但按日期限制路径;特别是以顺序方式,在Neo4j中

来自分类Dev

如何给neo4j中的条件赋予优先顺序

来自分类Dev

在neo4j中使用密码的Strahler流顺序

来自分类Dev

Neo4j如何订购按收藏

来自分类Dev

在Neo4j中按集合成员排序

来自分类Dev

在Neo4j 2.0中按标签搜索

来自分类Dev

在Neo4j中按字段分组

来自分类Dev

在Neo4j中按集合成员排序

来自分类Dev

弹簧数据neo4j @按关系类型查询

来自分类Dev

neo4j 不按人名返回节点