Reference documentation and code samples for the Google Cloud Discovery Engine V1 Client class SessionSpec.
Session specification.
Multi-turn Search feature is currently at private GA stage. Please use
v1alpha or v1beta version instead before we launch this feature to public
GA. Or ask for allowlisting through Google Support team.
Generated from protobuf message google.cloud.discoveryengine.v1.SearchRequest.SessionSpec
Namespace
Google \ Cloud \ DiscoveryEngine \ V1 \ SearchRequest
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ query_id
string
If set, the search result gets stored to the "turn" specified by this query ID. Example: Let's say the session looks like this: session { name: ".../sessions/xxx" turns { query { text: "What is foo?" query_id: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" query_id: ".../questions/zzz" } } } The user can call /search API with a request like this: session: ".../sessions/xxx" session_spec { query_id: ".../questions/zzz" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.
↳ search_result_persistence_count
int
The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is similar to the summary_result_count field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.
getQueryId
If set, the search result gets stored to the "turn" specified by this
query ID.
Example: Let's say the session looks like this:
session {
name: ".../sessions/xxx"
turns {
query { text: "What is foo?" query_id: ".../questions/yyy" }
answer: "Foo is ..."
}
turns {
query { text: "How about bar then?" query_id: ".../questions/zzz" }
}
}
The user can call /search API with a request like this:
session: ".../sessions/xxx"
session_spec { query_id: ".../questions/zzz" }
Then, the API stores the search result, associated with the last turn.
The stored search result can be used by a subsequent /answer API call
(with the session ID and the query ID specified). Also, it is possible
to call /search and /answer in parallel with the same session ID & query
ID.
Returns
Type
Description
string
setQueryId
If set, the search result gets stored to the "turn" specified by this
query ID.
Example: Let's say the session looks like this:
session {
name: ".../sessions/xxx"
turns {
query { text: "What is foo?" query_id: ".../questions/yyy" }
answer: "Foo is ..."
}
turns {
query { text: "How about bar then?" query_id: ".../questions/zzz" }
}
}
The user can call /search API with a request like this:
session: ".../sessions/xxx"
session_spec { query_id: ".../questions/zzz" }
Then, the API stores the search result, associated with the last turn.
The stored search result can be used by a subsequent /answer API call
(with the session ID and the query ID specified). Also, it is possible
to call /search and /answer in parallel with the same session ID & query
ID.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getSearchResultPersistenceCount
The number of top search results to persist. The persisted search results
can be used for the subsequent /answer api call.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google Cloud Discovery Engine V1 Client - Class SessionSpec (1.7.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.7.0 (latest)](/php/docs/reference/cloud-discoveryengine/latest/V1.SearchRequest.SessionSpec)\n- [1.6.1](/php/docs/reference/cloud-discoveryengine/1.6.1/V1.SearchRequest.SessionSpec)\n- [1.5.1](/php/docs/reference/cloud-discoveryengine/1.5.1/V1.SearchRequest.SessionSpec)\n- [1.4.0](/php/docs/reference/cloud-discoveryengine/1.4.0/V1.SearchRequest.SessionSpec)\n- [1.3.3](/php/docs/reference/cloud-discoveryengine/1.3.3/V1.SearchRequest.SessionSpec)\n- [1.2.0](/php/docs/reference/cloud-discoveryengine/1.2.0/V1.SearchRequest.SessionSpec)\n- [1.1.0](/php/docs/reference/cloud-discoveryengine/1.1.0/V1.SearchRequest.SessionSpec)\n- [1.0.0](/php/docs/reference/cloud-discoveryengine/1.0.0/V1.SearchRequest.SessionSpec)\n- [0.11.3](/php/docs/reference/cloud-discoveryengine/0.11.3/V1.SearchRequest.SessionSpec)\n- [0.8.0](/php/docs/reference/cloud-discoveryengine/0.8.0/V1.SearchRequest.SessionSpec)\n- [0.7.1](/php/docs/reference/cloud-discoveryengine/0.7.1/V1.SearchRequest.SessionSpec)\n- [0.6.0](/php/docs/reference/cloud-discoveryengine/0.6.0/V1.SearchRequest.SessionSpec)\n- [0.5.0](/php/docs/reference/cloud-discoveryengine/0.5.0/V1.SearchRequest.SessionSpec)\n- [0.4.0](/php/docs/reference/cloud-discoveryengine/0.4.0/V1.SearchRequest.SessionSpec)\n- [0.3.0](/php/docs/reference/cloud-discoveryengine/0.3.0/V1.SearchRequest.SessionSpec)\n- [0.2.0](/php/docs/reference/cloud-discoveryengine/0.2.0/V1.SearchRequest.SessionSpec)\n- [0.1.1](/php/docs/reference/cloud-discoveryengine/0.1.1/V1.SearchRequest.SessionSpec) \nReference documentation and code samples for the Google Cloud Discovery Engine V1 Client class SessionSpec.\n\nSession specification.\n\nMulti-turn Search feature is currently at private GA stage. Please use\nv1alpha or v1beta version instead before we launch this feature to public\nGA. Or ask for allowlisting through Google Support team.\n\nGenerated from protobuf message `google.cloud.discoveryengine.v1.SearchRequest.SessionSpec`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ DiscoveryEngine \\\\ V1 \\\\ SearchRequest\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getQueryId\n\nIf set, the search result gets stored to the \"turn\" specified by this\nquery ID.\n\nExample: Let's say the session looks like this:\nsession {\nname: \".../sessions/xxx\"\nturns {\nquery { text: \"What is foo?\" query_id: \".../questions/yyy\" }\nanswer: \"Foo is ...\"\n}\nturns {\nquery { text: \"How about bar then?\" query_id: \".../questions/zzz\" }\n}\n}\nThe user can call /search API with a request like this:\nsession: \".../sessions/xxx\"\nsession_spec { query_id: \".../questions/zzz\" }\nThen, the API stores the search result, associated with the last turn.\nThe stored search result can be used by a subsequent /answer API call\n(with the session ID and the query ID specified). Also, it is possible\nto call /search and /answer in parallel with the same session ID \\& query\nID.\n\n### setQueryId\n\nIf set, the search result gets stored to the \"turn\" specified by this\nquery ID.\n\nExample: Let's say the session looks like this:\nsession {\nname: \".../sessions/xxx\"\nturns {\nquery { text: \"What is foo?\" query_id: \".../questions/yyy\" }\nanswer: \"Foo is ...\"\n}\nturns {\nquery { text: \"How about bar then?\" query_id: \".../questions/zzz\" }\n}\n}\nThe user can call /search API with a request like this:\nsession: \".../sessions/xxx\"\nsession_spec { query_id: \".../questions/zzz\" }\nThen, the API stores the search result, associated with the last turn.\nThe stored search result can be used by a subsequent /answer API call\n(with the session ID and the query ID specified). Also, it is possible\nto call /search and /answer in parallel with the same session ID \\& query\nID.\n\n### getSearchResultPersistenceCount\n\nThe number of top search results to persist. The persisted search results\ncan be used for the subsequent /answer api call.\n\nThis field is similar to the `summary_result_count` field in\n[SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count](/php/docs/reference/cloud-discoveryengine/latest/V1.SearchRequest.ContentSearchSpec.SummarySpec#_Google_Cloud_DiscoveryEngine_V1_SearchRequest_ContentSearchSpec_SummarySpec__getSummaryResultCount__).\nAt most 10 results for documents mode, or 50 for chunks mode.\n\n### hasSearchResultPersistenceCount\n\n### clearSearchResultPersistenceCount\n\n### setSearchResultPersistenceCount\n\nThe number of top search results to persist. The persisted search results\ncan be used for the subsequent /answer api call.\n\nThis field is similar to the `summary_result_count` field in\n[SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count](/php/docs/reference/cloud-discoveryengine/latest/V1.SearchRequest.ContentSearchSpec.SummarySpec#_Google_Cloud_DiscoveryEngine_V1_SearchRequest_ContentSearchSpec_SummarySpec__getSummaryResultCount__).\nAt most 10 results for documents mode, or 50 for chunks mode."]]