Список ObjectID для индекса Algolia

Есть ли способ получить все идентификаторы объектов из индекса Algolia?

Я знаю, что есть [*Index Name*].browse_all(), который в документах говорит, что он может извлекать 1000 объектов за раз, но он извлекает весь объект, а не только идентификаторы объектов.

Я могу работать с пагинацией, но не хочу и не хочу тянуть весь объект, потому что наши индексы не маленькие.


person T.Okahara    schedule 12.01.2016    source источник


Ответы (1)


Обзор - это правильный путь.

Хорошо то, что вы можете указать аргументы при выполнении browse_all, и один из них может быть attributesToRetrieve: [], чтобы не получать никаких атрибутов. Поэтому вы получите только objectID.

person redox    schedule 12.01.2016
comment
Потрясающий! Так что, по-видимому, я также могу добавить {'hitsperpage' : 100000}, и это уменьшит количество страниц, которые мне нужно пройти, что ускорит процесс. - person T.Okahara; 12.01.2016
comment
Нет необходимости указывать hitsPerPage (в любом случае, максимум по-прежнему составляет 1000 на страницу), просмотр предназначен для перебора всего индекса с базовой технологией курсора. - person redox; 12.01.2016
comment
Да, я понимаю, чтоbrowse_all будет перемещаться по всему моему индексу, но при увеличении числа попаданий до 100000 в индексе, который в настоящее время содержит чуть более 100000 объектов, время поиска увеличивается в среднем с 1 минуты 44 секунд до в среднем 7 секунд. . Я знаю, что их документы, кажется, говорят, что максимальное количество 1000, но изменение страницы хитов, похоже, имеет значение. - person T.Okahara; 12.01.2016
comment
О, может быть, он по умолчанию использует hitsPerPage ваших настроек индекса (20), а установка его на 100000 интерпретируется как 1000 и, следовательно, намного быстрее :) - person redox; 13.01.2016
comment
ха-ха 20 -> 1000 также будет намного быстрее, так что в любом случае я доволен! - person T.Okahara; 13.01.2016