Github API incomplete_results для простого поиска - PullRequest
0 голосов
/ 14 июля 2020

Я запрашиваю github через API. Это действительно простой запрос для поиска файлов с именем pipelines.yaml в папке pipelines в моей организации ab c -xyz.

Querying https://api.github.com/search/code?q=filename:pipelines+path:pipelines+language:yaml+org:abc-xyz

Однако все мои выходные данные имеют "incomplete_results :правда". Длина вывода меняется каждый раз, когда я запрашиваю репо или два.

Query Output:[total_count:16, incomplete_results:true, items:[[name:pipelines.yaml, path:pipelines/pipelines.yaml.

Как мне это исправить. Я понимаю, почему github это делает, но я вижу большие результаты в Интернете, вызывающие эту проблему. Но в моем случае я говорю о менее чем 500 результатах. В идеале меньше 50. Однако в моей организации около 800 репозиториев. Вот почему я всегда получаю неполные_результаты. Есть простой способ исправить это? Цените любую возможную обратную связь. Мое репо является частным. Спасибо Винай

1 Ответ

0 голосов
/ 14 июля 2020

В документации есть некоторые полезные подробности:

Чтобы API поиска оставался быстрым для всех, мы ограничиваем продолжительность выполнения любого отдельного запроса. Для запросов, которые превышают лимит времени, API возвращает совпадения, которые уже были найдены до истечения тайм-аута, а в ответе свойство incomplete_results установлено на true.

Достижение тайм-аута не обязательно означает что результаты поиска неполные. Могло быть найдено больше результатов, но могло и не быть.

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

...