Method: documents.searchDocumentChunks

Google의 개발자 문서에서 개발자 지식을 검색합니다. 사용자의 질문에 따라 DocumentChunk를 반환합니다. 동일한 Document의 청크가 여러 개 있을 수 있습니다. 전체 문서를 검색하려면 SearchDocumentChunksResponse.results에서 반환된 DocumentChunk.parent와 함께 DeveloperKnowledge.GetDocument 또는 DeveloperKnowledge.BatchGetDocuments를 사용하세요.

HTTP 요청

GET https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks

URL은 gRPC 트랜스코딩 문법을 사용합니다.

쿼리 매개변수

매개변수
query

string

필수 항목입니다. 사용자가 제공한 원시 쿼리 문자열을 제공합니다(예: 'Cloud Storage 버킷을 만드는 방법').

pageSize

integer

선택사항입니다. 반환할 최대 결과 수를 지정합니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다.

지정하지 않으면 최대 5개의 결과가 반환됩니다.

최댓값은 100이며, 100을 초과하는 값은 100으로 변환됩니다.

pageToken

string

선택사항입니다. 이전 documents.searchDocumentChunks 호출에서 받은 페이지 토큰을 포함합니다. 후속 페이지를 검색하려면 이를 입력합니다.

filter

string

선택사항입니다. 검색 결과에 엄격한 필터를 적용합니다. 이 표현식은 https://google.aip.dev/160에 설명된 문법의 하위 집합을 지원합니다.

documents.searchDocumentChunksDocumentChunk를 반환하지만 필터는 DocumentChunk.document 필드에 적용됩니다.

필터링 지원 필드:

  • contentLengthBytes(정수): Document.content 필드의 길이(바이트)입니다.
  • dataSource(STRING): 문서의 소스입니다(예: docs.cloud.google.com). 코퍼스의 데이터 소스 전체 목록은 https://developers.google.com/knowledge/reference/corpus-reference를 참고하세요.
  • updateTime (타임스탬프): 문서가 마지막으로 의미 있게 업데이트된 시간의 타임스탬프입니다. 의미 있는 업데이트는 문서의 마크다운 콘텐츠 또는 메타데이터를 변경하는 업데이트입니다.
  • uri(문자열): 문서 URI입니다(예: https://docs.cloud.google.com/bigquery/docs/tables).

INTEGER 필드는 =, <, <=, >, >= 연산자를 지원합니다.

STRING 필드는 전체 문자열에 대한 일치검색을 위해 = (같음) 및 != (같지 않음) 연산자를 지원합니다. 부분 일치, 접두사 일치, 정규식 일치는 지원되지 않습니다.

TIMESTAMP 필드는 =, <, <=, >, >= 연산자를 지원합니다. 타임스탬프는 RFC-3339 형식이어야 합니다(예: "2025-01-01T00:00:00Z").

AND, OR, NOT (또는 -) 논리 연산자를 사용하여 표현식을 결합할 수 있습니다. OR의 우선순위가 AND보다 높습니다. 명시적 우선순위 그룹화에는 괄호를 사용합니다.

예:

  • Document.content_length_bytes(contentLengthBytes < 50000) 기준으로 필터링
  • dataSource = "docs.cloud.google.com" OR dataSource = "firebase.google.com"
  • dataSource != "firebase.google.com"
  • updateTime < "2024-01-01T00:00:00Z"
  • updateTime >= "2025-01-22T00:00:00Z" AND (dataSource = "developer.chrome.com" OR dataSource = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

filter 문자열은 500자를 초과할 수 없습니다. 500자를 초과하는 값은 INVALID_ARGUMENT 오류를 발생시킵니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

DeveloperKnowledge.SearchDocumentChunks의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "results": [
    {
      object (DocumentChunk)
    }
  ],
  "nextPageToken": string
}
필드
results[]

object (DocumentChunk)

지정된 쿼리의 검색 결과를 포함합니다. 이 목록의 각 DocumentChunk에는 검색어와 관련된 콘텐츠 스니펫이 포함되어 있습니다. DeveloperKnowledge.GetDocument 또는 DeveloperKnowledge.BatchGetDocuments와 함께 각 결과의 DocumentChunk.parent 필드를 사용하여 전체 문서 콘텐츠를 가져옵니다.

nextPageToken

string

선택사항입니다. 다음 페이지를 검색하기 위해 pageToken으로 전송할 수 있는 토큰을 제공합니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/devprofiles.full_control
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 OAuth 2.0 Overview를 참조하세요.

DocumentChunk

DocumentChunk는 DeveloperKnowledge 말뭉치의 Document에 있는 콘텐츠 조각을 나타냅니다. 전체 문서 콘텐츠를 가져오려면 parentDeveloperKnowledge.GetDocument 또는 DeveloperKnowledge.BatchGetDocuments에 전달합니다.

JSON 표현
{
  "parent": string,
  "id": string,
  "content": string,
  "document": {
    object (Document)
  }
}
필드
parent

string

출력 전용입니다. 이 청크가 속한 문서의 리소스 이름을 포함합니다. 형식: documents/{uri_without_scheme} 예: documents/docs.cloud.google.com/storage/docs/creating-buckets

id

string

출력 전용입니다. 문서 내 이 청크의 ID를 지정합니다. 청크 ID는 문서 내에서는 고유하지만 문서 간에는 전역적으로 고유하지 않습니다. 청크 ID는 안정적이지 않으며 시간이 지남에 따라 변경될 수 있습니다.

content

string

출력 전용입니다. 문서 청크의 콘텐츠를 포함합니다.

document

object (Document)

출력 전용입니다. 이 청크가 속한 Document에 관한 메타데이터를 나타냅니다. 이 Document 메시지의 DocumentViewDOCUMENT_VIEW_BASIC로 설정됩니다. 메타데이터 필드만 필요한 경우 클라이언트가 DeveloperKnowledge.GetDocument 또는 DeveloperKnowledge.BatchGetDocuments를 호출하지 않아도 되도록 편의를 위해 여기에 포함되어 있습니다. 그렇지 않으면 클라이언트는 DeveloperKnowledge.GetDocument 또는 DeveloperKnowledge.BatchGetDocuments을 사용하여 전체 문서 콘텐츠를 가져와야 합니다.