Developer Indexエンドポイント
Developer Index を検索
GET
Developer Indexを検索
公開コードリポジトリの issue、マージ済みのプルリクエスト、README に加え、厳選されたドキュメントサイトを検索します。結果は関連度順に表示され、一致した本文箇所が Markdown 形式で含まれます。
配列フィルターを JSON として渡す場合は、同じパスで
インデックスは2つの部分に分かれており、これら2つのフィルターはそれぞれ独立して検索範囲を制限します。
ワークフローの概要については、Developer Index ガイドを参照してください。
POST を使用できます。
繰り返し可能なフィルターは、GET でどちらの形式も受け付けます。types=issue&types=pull_request のように query パラメータを繰り返す形式、または types=issue,pull_request のようにカンマ区切りの 1 つの値を指定する形式です。
repos と sources による検索範囲の制限
インデックスは2つの部分に分かれており、これら2つのフィルターはそれぞれ独立して検索範囲を制限します。
reposはリポジトリ側、つまりissue、pull_request、readmeタイプの範囲を制限しますsourcesはドキュメント側、つまりdocタイプの範囲を制限します- 両方を指定すると、2つの部分は共通部分ではなく結合されるため、いずれかから一致する結果が返されます
typesにリポジトリタイプが含まれない状態でreposを指定すると、400が返され、reposが要求されたどのタイプにも一致できないこと、およびリポジトリタイプを追加するかreposを外す必要があることが報告されますtypesにdocが含まれない状態でsourcesを指定すると、400が返され、sources cannot match any requested type; add doc or drop sourcesとなります
リポジトリフィルターによる検索範囲の制限
7 つのリポジトリフィルター (language (Rust など) 、topic (async など) 、license (MIT など) 、min_stars、max_stars、archived、fork) は、コードリポジトリの属性を表します。インデックス内のドキュメントページの大半は、リポジトリに紐付かないクロール済み Web サイトから取得されています。そのため、リポジトリの属性でそのようなページを含めたり除外したりすることはできません。
したがって、これらのフィルターのいずれかを指定し、sources で範囲を指定しないリクエストでは、doc の結果は返されません。インデックスのドキュメント側は実行されないため、レスポンスに含まれるのはリポジトリの根拠のみ、すなわち issue、pull_request、readme タイプです。これは仕様であり、インデックスの不具合ではありません。
ドキュメント結果を取得するには、リポジトリフィルターを削除してください。また、sources でドキュメント側の範囲を指定し、レスポンス内の sources エコーを確認して ID がインデックス化されていることを確認することもできます。
sources に指定できる値
sources は固定の列挙型ではありません。ドキュメントのソース ID を受け付けます。各 ID は最大 512 文字の空でない文字列で、1 リクエストあたり最大 20 個指定できます。ID はインデックス内のドキュメントサイトを示しており、その一覧は随時追加されます。
ID が解決されることを確認するには、その ID を渡し、レスポンスに追加される sources 配列を確認します。この配列は sources を送信した場合にのみ含まれ、指定した各 ID と、その ID がインデックス化されているかどうかをリクエスト時のまま返します。
indexed: true は、ソースに公開済みの世代があることを示し、そのソースのドキュメントの根拠が表示される場合があります。indexed: false は、その ID に一致するものがないことを示します。これにより、インデックスに存在しない ID と、単に何も見つからなかった query を区別できます。
repos も同様に返され、indexed と types 配下のタイプ別内訳を含む repos 配列として返されます。
承認
クエリパラメータ
ドキュメント側の対象を絞り込むドキュメントのソースID。最大20件まで指定できます。doc タイプにのみ適用されます。固定の列挙値ではありません。IDはインデックス内のドキュメントサイトを反映しており、対象のセットは時間の経過とともに増えるため、IDを送信し、レスポンスの sources 配列を確認してIDが解決されることを確かめてください。types に doc が含まれていない場合は、sources cannot match any requested type; add doc or drop sources とともに400を返します。
Maximum array length:
20Required string length:
1 - 512リポジトリの主要言語。Rust など。リポジトリの結果にのみ適用されます。sources のスコープを指定せずに送信すると、doc の結果は返されません。リポジトリフィルターによる検索範囲の絞り込みを参照してください。
例:
"Rust"
レスポンス
一致した本文箇所を含む、ランク付け済みの開発者向け検索結果。
結果タイプごとの結果。想定した結果タイプがない場合に確認してください。skipped は、types の値でそのタイプが指定されていないことを意味します。degraded または unavailable の場合、その欠落はqueryではなくインデックスまたはフィルターに起因します。リポジトリフィルターもその原因の一つです。詳細は、リポジトリフィルターが検索対象を限定する仕組みを参照してください。

