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)

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

summarySpec

object (SummarySpec)

IfsummarySpec 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 toDOCUMENTS.

chunkSpec

object (ChunkSpec)

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

SnippetSpec

A specification for configuring snippets in a search response.

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

integer

This item is deprecated!

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

referenceOnly
(deprecated)

boolean

This item is deprecated!

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

returnSnippet

boolean

Iftrue, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." AsnippetStatus withSUCCESS orNO_SNIPPET_AVAILABLE will also be returned.

SummarySpec

A specification for configuring a summary returned in a search response.

JSON representation
{"summaryResultCount":integer,"includeCitations":boolean,"ignoreAdversarialQuery":boolean,"ignoreNonSummarySeekingQuery":boolean,"ignoreLowRelevantContent":boolean,"ignoreJailBreakingQuery":boolean,"modelPromptSpec":{object (ModelPromptSpec)},"languageCode":string,"modelSpec":{object (ModelSpec)},"useSemanticChunks":boolean}
Fields
summaryResultCount

integer

The number of top results to generate the summary from. If the number of results returned is less thansummaryResultCount, the summary is generated from all of the results.

At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used whenSearchRequest.ContentSearchSpec.search_result_mode is set toCHUNKS.

includeCitations

boolean

Specifies whether to include citations in the summary. The default value isfalse.

When this field is set totrue, summaries include in-line citation numbers.

Example summary including citations:

BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3].

The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.

ignoreAdversarialQuery

boolean

Specifies whether to filter out adversarial queries. The default value isfalse.

Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set totrue, we skip generating summaries for adversarial queries and return fallback messages instead.

ignoreNonSummarySeekingQuery

boolean

Specifies whether to filter out queries that are not summary-seeking. The default value isfalse.

Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example,why is the sky blue andWho is the best soccer player in the world? are summary-seeking queries, butSFO airport andworld cup 2026 are not. They are most likely navigational queries. If this field is set totrue, we skip generating summaries for non-summary seeking queries and return fallback messages instead.

ignoreLowRelevantContent

boolean

Specifies whether to filter out queries that have low relevance. The default value isfalse.

If this field is set tofalse, all search results are used regardless of relevance to generate answers. If set totrue, only queries with high relevance search results will generate answers.

ignoreJailBreakingQuery

boolean

Optional. Specifies whether to filter out jail-breaking queries. The default value isfalse.

Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set totrue, we skip generating summaries for jail-breaking queries and return fallback messages instead.

modelPromptSpec

object (ModelPromptSpec)

If specified, the spec will be used to modify the prompt provided to the LLM.

languageCode

string

Language code for Summary. Use language tags defined byBCP47. Note: This is an experimental feature.

modelSpec

object (ModelSpec)

If specified, the spec will be used to modify the model specification provided to the LLM.

useSemanticChunks

boolean

If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.

ModelPromptSpec

Specification of the prompt to use with the model.

JSON representation
{"preamble":string}
Fields
preamble

string

Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.

ModelSpec

Specification of the model.

JSON representation
{"version":string}
Fields
version

string

The model version used to generate the summary.

Supported values are:

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 themaxExtractiveAnswerCount, return all of the answers. Otherwise, return themaxExtractiveAnswerCount.

At most five answers are returned for eachSearchResult.

maxExtractiveSegmentCount

integer

The max number of extractive segments returned in each search result. Only applied if theDataStore is set toDataStore.ContentConfig.CONTENT_REQUIRED orDataStore.solution_types isSOLUTION_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 thanmaxExtractiveSegmentCount, return all of the segments. Otherwise, return themaxExtractiveSegmentCount.

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 isfalse.

numPreviousSegments

integer

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

numNextSegments

integer

Return at mostnumNextSegments segments after each selected segments.

SearchResultMode

Specifies the search result mode. If unspecified, the search result mode defaults toDOCUMENTS.

Enums
SEARCH_RESULT_MODE_UNSPECIFIEDDefault value.
DOCUMENTSReturns documents in the search result.
CHUNKSReturns chunks in the search result. Only available if theDocumentProcessingConfig.chunking_config is specified.

ChunkSpec

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

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.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-11-12 UTC.