ドキュメントの検索と取得

このガイドでは、Developer Knowledge API の関数(ドキュメントの検索、単一ドキュメントの取得、複数のドキュメントのバッチ取得)の使用方法の例を示します。

始める前に、API を有効にして Developer Knowledge API キーを生成し、キーを環境変数に保存していることを確認してください。

export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"

SearchDocumentChunks を使用してドキュメントを検索する

documents.searchDocumentChunks メソッドを使用して、クエリ文字列に一致するドキュメント チャンクを検索します。結果には、ドキュメントのコンテンツのチャンクと、ドキュメントのコンテンツ全体を取得するために使用できる parent 参照が含まれます。

次の例では、「BigQuery」に一致するドキュメントを検索します。

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&key=$DEVELOPERKNOWLEDGE_API_KEY"

検索結果を絞り込むには、pageSize などのパラメータを使用してページあたりの結果数を制限し、pageToken を使用して後続のページを取得します。

検索結果を絞り込む

filter パラメータを使用して、検索結果に厳密なフィルタを適用します。フィルタは、検索結果のチャンクに関連付けられたドキュメントのメタデータに適用されます。

フィルタリングに対応するフィールド:

  • data_sourceSTRING): ドキュメントのソース(docs.cloud.google.com など)。
  • update_timeTIMESTAMP): ドキュメントが最後に更新されたときのタイムスタンプ。
  • uriSTRING): ドキュメントの URI(https://docs.cloud.google.com/bigquery/docs/tables など)。

サポートされている演算子:

  • STRING フィールドでは、文字列全体が完全に一致する場合に =(等しい)と !=(等しくない)がサポートされます。
  • TIMESTAMP フィールドでは、=<<=>>= がサポートされます。タイムスタンプは RFC-3339 形式("2025-01-01T00:00:00Z" など)にする必要があります。

式は、論理演算子 ANDORNOT(または -)を使用して組み合わせることができます。なお、ORAND より優先されます。

次の例では、「BigQuery」に一致するドキュメントを検索し、結果を docs.cloud.google.com のドキュメントに限定します。

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&filter=data_source%3D%22docs.cloud.google.com%22&key=$DEVELOPERKNOWLEDGE_API_KEY"

GetDocument でドキュメントを取得する

documents.get メソッドを使用して、単一のドキュメントのコンテンツ全体を取得します。

次の例では、documents/DOCUMENT_ID という名前のドキュメントを取得します。

curl "https://developerknowledge.googleapis.com/v1/documents:get?name=documents/DOCUMENT_ID&key=$DEVELOPERKNOWLEDGE_API_KEY"

レスポンスは、完全な Document リソースです。これには、content フィールドが含まれます。

BatchGetDocuments で複数のドキュメントを取得する

documents.batchGet メソッドを使用すると、1 回の API 呼び出しで最大 100 個のドキュメントを名前で取得できます。これは、複数の GetDocument リクエストを行うよりも効率的です。

次の例では、名前で 2 つのドキュメントを取得します。

curl "https://developerknowledge.googleapis.com/v1/documents:batchGet?names=documents/DOCUMENT_ID_1&names=documents/DOCUMENT_ID_2&key=$DEVELOPERKNOWLEDGE_API_KEY"

レスポンスには、リクエストされた Document リソースのリストが含まれます。