rethinkdb getNearest: RqlRuntimeError: Массив сверх предельного размера 100000 - PullRequest
0 голосов
/ 25 сентября 2018

Я использую 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?Если это возможно, как я могу это сделать?

Я видел другие вопросы (например, здесь ), сообщающие об одной и той же проблеме, однако в очень разных сценариях, поэтому я сомневаюсь, что решения будутбыть таким же.

Спасибо, что уделили время

1 Ответ

0 голосов
/ 25 сентября 2018

Я разобрался, команда run должна быть снабжена дополнительными аргументами относительно ограничения размера массива.Следовательно, вместо того, чтобы запускать его как:

getNearest(...).run(conn)

, я запускаю его так:

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