ContentSearchSpec

A specification for configuring the behavior of content search.

JSON representation
{
  "snippetSpec": {
    object (SnippetSpec)
  },
  "summarySpec": {
    object (SummarySpec)
  },
  "extractiveContentSpec": {
    object (ExtractiveContentSpec)
  },
  "searchResultMode": enum (SearchResultMode),
  "chunkSpec": {
    object (ChunkSpec)
  }
}
Fields
snippetSpec

object (SnippetSpec)

If snippetSpec is not specified, snippets are not included in the search response.

summarySpec

object (SummarySpec)

If summarySpec is not specified, summaries are not included in the search response.

extractiveContentSpec

object (ExtractiveContentSpec)

If there is no extractiveContentSpec provided, there will be no extractive answer in the search response.

searchResultMode

enum (SearchResultMode)

Specifies the search result mode. If unspecified, the search result mode defaults to DOCUMENTS.

chunkSpec

object (ChunkSpec)

Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS

SnippetSpec

A specification for configuring snippets in a search response.

JSON representation
{
  "maxSnippetCount": integer,
  "referenceOnly": boolean,
  "returnSnippet": boolean
}
Fields
maxSnippetCount
(deprecated)

integer

[DEPRECATED] This field is deprecated. To control snippet return, use returnSnippet field. For backwards compatibility, we will return snippet if maxSnippetCount > 0.

referenceOnly
(deprecated)

boolean

[DEPRECATED] This field is deprecated and will have no affect on the snippet.

returnSnippet

boolean

If true, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A snippetStatus with SUCCESS or NO_SNIPPET_AVAILABLE will also be returned.

ExtractiveContentSpec

A specification for configuring the extractive content in a search response.

JSON representation
{
  "maxExtractiveAnswerCount": integer,
  "maxExtractiveSegmentCount": integer,
  "returnExtractiveSegmentScore": boolean,
  "numPreviousSegments": integer,
  "numNextSegments": integer
}
Fields
maxExtractiveAnswerCount

integer

The maximum number of extractive answers returned in each search result.

An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query.

If the number of matching answers is less than the maxExtractiveAnswerCount, return all of the answers. Otherwise, return the maxExtractiveAnswerCount.

At most five answers are returned for each SearchResult.

maxExtractiveSegmentCount

integer

The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT.

An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers.

If the number of matching segments is less than maxExtractiveSegmentCount, return all of the segments. Otherwise, return the maxExtractiveSegmentCount.

returnExtractiveSegmentScore

boolean

Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is false.

numPreviousSegments

integer

Specifies whether to also include the adjacent from each selected segments. Return at most numPreviousSegments segments before each selected segments.

numNextSegments

integer

Return at most numNextSegments segments after each selected segments.

ChunkSpec

Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS

JSON representation
{
  "numPreviousChunks": integer,
  "numNextChunks": integer
}
Fields
numPreviousChunks

integer

The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.

numNextChunks

integer

The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.