我正在使用rethinkdb-java查询我的地理数据集以获取中心数据点半径R内的所有坐标(纬度,经度)。为此,我使用了getNearest方法,该方法在密度较小的区域工作正常,但在其他情况下则失败。更具体地说:
Connection conn = r.connection().hostname("localhost").port(28015).connect();
r.db("mydb").tableCreate("mytable").optArg("primary_key","myid").run(conn);
r.db("mydb").table("mytable").indexCreate("location").optArg("geo", true).run(conn);
r.db("mydb").table("mytable").getNearest(r.point(node.getLongitude(), node.getLatitude())).optArg("index", "location").optArg("max_dist", radius).optArg("max_results", 1000000).run(conn);
我想知道我是否丢失了某些东西,或者是否有可能在不降低max_results限制的情况下执行此查询?如果有可能,我该怎么做?
我看到其他问题(例如here)报告了相同的问题,但是在非常不同的情况下,因此我怀疑解决方案是否相同。
谢谢您的时间
答案 0 :(得分:0)
我知道了,应该为run命令提供有关数组大小限制的其他参数。因此,与其将其运行为:
getNearest(...).run(conn)
我这样运行:
getNearest(...).run(conn,OptArgs.of("array_limit",1000000));