Команда ReQL: indexStatus
Синтаксис команды
table.indexStatus([, index...]) → array
Описание
Получить состояние указанных индексов в этой таблице или состояние всех индексов в этой таблице, если индексы не указаны.
Результат — массив, где для каждого индекса будет объект следующего вида (представлен в формате JSON):
{
"index": <indexName>,
"ready": true,
"function": <binary>,
"multi": <bool>,
"geo": <bool>,
"outdated": <bool>
}
или такого:
{
"index": <indexName>,
"ready": false,
"progress": <float>,
"function": <binary>,
"multi": <bool>,
"geo": <bool>,
"outdated": <bool>
}
Поле multi будет true или false, в зависимости от того, был ли этот индекс создан как многомерный индекс; поле geo будет true или false, в зависимости от того, был ли этот индекс создан как геопространственный индекс. Подробнее см. indexCreate. Поле outdated будет true, если индекс устарел в текущей версии RethinkDB и нуждается в перестроении. Поле progress — число с плавающей точкой, значение которого находится в диапазоне от 0 до 1, показывающее, насколько сервер продвинулся в построении индексов после последнего изменения таблицы, которое повлияло на них. (0 указывает, что такие индексы не были построены; 1 указывает, что все они были построены.)
Поле function — двоичный объект, содержащий неявное представление вторичного индекса (включая аргумент multi , если он был указан). Его можно передать в качестве второго аргумента в indexCreate для создания нового индекса с той же функцией; см. indexCreate для получения дополнительной информации.
Пример: Получение статуса всех индексов в таблице test:
r.table("test").indexStatus().run(conn);
Пример: Получение статуса индекса timestamp:
r.table("test").indexStatus("timestamp").run(conn);
Пример: Сохранение двоичного представления индекса:
byte[] func = r.table("test").indexStatus("timestamp").nth(0).g("function")
.run(conn, byte[].class).first();
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/index_status/