rethinkdb getNearest:RqlRuntimeError:数组超过大小限制100000

时间:2018-09-25 09:58:09

标签: java rethinkdb

我正在使用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)报告了相同的问题,但是在非常不同的情况下,因此我怀疑解决方案是否相同。

谢谢您的时间

1 个答案:

答案 0 :(得分:0)

我知道了,应该为run命令提供有关数组大小限制的其他参数。因此,与其将其运行为:

getNearest(...).run(conn)

我这样运行:

getNearest(...).run(conn,OptArgs.of("array_limit",1000000));