Skip to main content

Pesquise no índice para desenvolvedores

3 min read

Pesquise issues, pull requests mesclados e READMEs de repositórios de código públicos, além de sites de documentação selecionados. Os resultados são ranqueados e incluem as passagens correspondentes em Markdown.

POST está disponível no mesmo caminho para passar filtros de array como JSON.

Filtros repetíveis aceitam qualquer uma das formas em GET: um parâmetro de query repetido, como types=issue&types=pull_request, ou um valor separado por vírgulas, como types=issue,pull_request.

O índice tem duas partes, e esses dois filtros restringem cada uma delas de forma independente:

  • repos restringe a parte do repositório, ou seja, os tipos issue, pull_request e readme
  • sources restringe a parte da documentação, ou seja, o tipo doc
  • Informar ambos combina as duas partes, em vez de cruzá-las, para que você receba resultados correspondentes de qualquer uma delas

Como cada filtro se aplica a apenas uma parte, um filtro que não pode corresponder a nenhum tipo solicitado é rejeitado, em vez de não retornar resultados silenciosamente:

  • repos sem nenhum tipo de repositório em types retorna 400, informando que repos não pode corresponder a nenhum tipo solicitado e que você deve adicionar tipos de repositório ou remover repos
  • sources sem doc em types retorna 400 com sources cannot match any requested type; add doc or drop sources

Os sete filtros de repositório — language (como Rust), topic (como async), license (como MIT), min_stars, max_stars, archived e fork — descrevem um repositório de código. A maioria das páginas de documentação do índice vem de sites rastreados sem um repositório associado, e nenhum atributo de repositório pode incluir ou excluir essas páginas.

Por isso, uma solicitação que envia um desses filtros sem especificar sources não retorna resultados doc. A resposta contém apenas evidências de repositório: os tipos issue, pull_request e readme, pois a parte da documentação do índice não foi consultada. Isso é intencional, não uma falha do índice.

Para manter os resultados da documentação, remova os filtros de repositório. Você também pode restringir a parte da documentação com sources e consultar o eco de sources na resposta para confirmar que o ID está indexado.

Quais valores sources aceita#

sources não é um enum fixo. Aceita IDs de fontes de documentação, cada um uma string não vazia de até 512 caracteres, com no máximo 20 por solicitação. Os IDs correspondem aos sites de documentação presentes no índice, e esse conjunto cresce ao longo do tempo.

Para confirmar que um ID é reconhecido, informe-o e verifique o array sources adicionado à resposta. Ele só aparece quando você envia sources e informa cada ID exatamente como foi solicitado, além de indicar se está indexado:

indexed: true significa que a fonte tem uma geração publicada; portanto, evidências da documentação dela podem aparecer. indexed: false significa que nada desse id pode corresponder, o que diferencia um id que não está no índice de uma query que simplesmente não encontrou nada.

repos também é retornado da mesma forma, como um array repos que informa indexed e apresenta uma divisão por tipo em types:

Para uma visão geral do fluxo de trabalho, consulte o guia do índice para desenvolvedores.