diff --git a/DeveloperKnowledge/metadata/V1/Developerknowledge.php b/DeveloperKnowledge/metadata/V1/Developerknowledge.php
index 9d0ec5ffae2..91926fa21f7 100644
--- a/DeveloperKnowledge/metadata/V1/Developerknowledge.php
+++ b/DeveloperKnowledge/metadata/V1/Developerknowledge.php
@@ -20,7 +20,7 @@ public static function initOnce() {
\GPBMetadata\Google\Api\Resource::initOnce();
\GPBMetadata\Google\Protobuf\Timestamp::initOnce();
$pool->internalAddGeneratedFile(
- "\x0A\xB5\x1A\x0A7google/developers/knowledge/v1/developerknowledge.proto\x12\x1Egoogle.developers.knowledge.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x83\x03\x0A\x08Document\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x10\x0A\x03uri\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07content\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdata_source\x18\x05 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05title\x18\x06 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12?\x0A\x04view\x18\x08 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x03\x12!\x0A\x14content_length_bytes\x18\x09 \x01(\x05B\x03\xE0A\x03:Z\xEAAW\x0A*developerknowledge.googleapis.com/Document\x12\x14documents/{document}*\x09documents2\x08document\"w\x0A\x1BSearchDocumentChunksRequest\x12\x12\x0A\x05query\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"w\x0A\x1CSearchDocumentChunksResponse\x12>\x0A\x07results\x18\x01 \x03(\x0B2-.google.developers.knowledge.v1.DocumentChunk\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x97\x01\x0A\x12GetDocumentRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12?\x0A\x04view\x18\x02 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x01\"\x9E\x01\x0A\x18BatchGetDocumentsRequest\x12A\x0A\x05names\x18\x01 \x03(\x09B2\xE0A\x02\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12?\x0A\x04view\x18\x02 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x01\"X\x0A\x19BatchGetDocumentsResponse\x12;\x0A\x09documents\x18\x01 \x03(\x0B2(.google.developers.knowledge.v1.Document\"(\x0A\x12AnswerQueryRequest\x12\x12\x0A\x05query\x18\x01 \x01(\x09B\x03\xE0A\x02\"M\x0A\x13AnswerQueryResponse\x126\x0A\x06answer\x18\x01 \x01(\x0B2&.google.developers.knowledge.v1.Answer\"\xDB\x04\x0A\x06Answer\x12\x13\x0A\x0Banswer_text\x18\x01 \x01(\x09\x12M\x0A\x09citations\x18\x02 \x03(\x0B25.google.developers.knowledge.v1.Answer.AnswerCitationB\x03\xE0A\x03\x12O\x0A\x0Areferences\x18\x03 \x03(\x0B26.google.developers.knowledge.v1.Answer.AnswerReferenceB\x03\xE0A\x03\x1A\x8F\x01\x0A\x0EAnswerCitation\x12\x18\x0A\x0Bstart_index\x18\x01 \x01(\x05B\x03\xE0A\x03\x12\x16\x0A\x09end_index\x18\x02 \x01(\x05B\x03\xE0A\x03\x12K\x0A\x07sources\x18\x03 \x03(\x0B25.google.developers.knowledge.v1.Answer.CitationSourceB\x03\xE0A\x03\x1A.\x0A\x0ECitationSource\x12\x1C\x0A\x0Freference_index\x18\x01 \x01(\x05B\x03\xE0A\x03\x1Ay\x0A\x0FAnswerReference\x12[\x0A\x12document_reference\x18\x01 \x01(\x0B28.google.developers.knowledge.v1.Answer.DocumentReferenceB\x03\xE0A\x03H\x00B\x09\x0A\x07content\x1A_\x0A\x11DocumentReference\x12J\x0A\x0Edocument_chunk\x18\x01 \x01(\x0B2-.google.developers.knowledge.v1.DocumentChunkB\x03\xE0A\x03\"\xF2\x01\x0A\x0DDocumentChunk\x12B\x0A\x06parent\x18\x01 \x01(\x09B2\xE0A\x03\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12\x0F\x0A\x02id\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07content\x18\x03 \x01(\x09B\x03\xE0A\x03\x12?\x0A\x08document\x18\x04 \x01(\x0B2(.google.developers.knowledge.v1.DocumentB\x03\xE0A\x03\x12!\x0A\x0Frelevance_score\x18\x05 \x01(\x01B\x03\xE0A\x03H\x00\x88\x01\x01B\x12\x0A\x10_relevance_score*y\x0A\x0CDocumentView\x12\x1D\x0A\x19DOCUMENT_VIEW_UNSPECIFIED\x10\x00\x12\x17\x0A\x13DOCUMENT_VIEW_BASIC\x10\x01\x12\x16\x0A\x12DOCUMENT_VIEW_FULL\x10\x02\x12\x19\x0A\x15DOCUMENT_VIEW_CONTENT\x10\x032\x81\x06\x0A\x12DeveloperKnowledge\x12\xBD\x01\x0A\x14SearchDocumentChunks\x12;.google.developers.knowledge.v1.SearchDocumentChunksRequest\x1A<.google.developers.knowledge.v1.SearchDocumentChunksResponse\"*\x82\xD3\xE4\x93\x02\$\x12\"/v1/documents:searchDocumentChunks\x12\x93\x01\x0A\x0BGetDocument\x122.google.developers.knowledge.v1.GetDocumentRequest\x1A(.google.developers.knowledge.v1.Document\"&\xDAA\x04name\x82\xD3\xE4\x93\x02\x19\x12\x17/v1/{name=documents/**}\x12\xA8\x01\x0A\x11BatchGetDocuments\x128.google.developers.knowledge.v1.BatchGetDocumentsRequest\x1A9.google.developers.knowledge.v1.BatchGetDocumentsResponse\"\x1E\x82\xD3\xE4\x93\x02\x18\x12\x16/v1/documents:batchGet\x12\x92\x01\x0A\x0BAnswerQuery\x122.google.developers.knowledge.v1.AnswerQueryRequest\x1A3.google.developers.knowledge.v1.AnswerQueryResponse\"\x1A\x82\xD3\xE4\x93\x02\x14\"\x0F/v1:answerQuery:\x01*\x1AU\xCAA!developerknowledge.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\x83\x02\x0A\"com.google.developers.knowledge.v1B\x17DeveloperKnowledgeProtoP\x01ZAcloud.google.com/go/developerknowledge/apiv1/developerknowledgepb\xAA\x02'Google.Developers.DeveloperKnowledge.V1\xCA\x02'Google\\Developers\\DeveloperKnowledge\\V1\xEA\x02*Google::Developers::DeveloperKnowledge::V1b\x06proto3"
+ "\x0A\xCA\x1A\x0A7google/developers/knowledge/v1/developerknowledge.proto\x12\x1Egoogle.developers.knowledge.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x83\x03\x0A\x08Document\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x10\x0A\x03uri\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07content\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdata_source\x18\x05 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05title\x18\x06 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12?\x0A\x04view\x18\x08 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x03\x12!\x0A\x14content_length_bytes\x18\x09 \x01(\x05B\x03\xE0A\x03:Z\xEAAW\x0A*developerknowledge.googleapis.com/Document\x12\x14documents/{document}*\x09documents2\x08document\"w\x0A\x1BSearchDocumentChunksRequest\x12\x12\x0A\x05query\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"w\x0A\x1CSearchDocumentChunksResponse\x12>\x0A\x07results\x18\x01 \x03(\x0B2-.google.developers.knowledge.v1.DocumentChunk\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x97\x01\x0A\x12GetDocumentRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12?\x0A\x04view\x18\x02 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x01\"\x9E\x01\x0A\x18BatchGetDocumentsRequest\x12A\x0A\x05names\x18\x01 \x03(\x09B2\xE0A\x02\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12?\x0A\x04view\x18\x02 \x01(\x0E2,.google.developers.knowledge.v1.DocumentViewB\x03\xE0A\x01\"X\x0A\x19BatchGetDocumentsResponse\x12;\x0A\x09documents\x18\x01 \x03(\x0B2(.google.developers.knowledge.v1.Document\"=\x0A\x12AnswerQueryRequest\x12\x12\x0A\x05query\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\"M\x0A\x13AnswerQueryResponse\x126\x0A\x06answer\x18\x01 \x01(\x0B2&.google.developers.knowledge.v1.Answer\"\xDB\x04\x0A\x06Answer\x12\x13\x0A\x0Banswer_text\x18\x01 \x01(\x09\x12M\x0A\x09citations\x18\x02 \x03(\x0B25.google.developers.knowledge.v1.Answer.AnswerCitationB\x03\xE0A\x03\x12O\x0A\x0Areferences\x18\x03 \x03(\x0B26.google.developers.knowledge.v1.Answer.AnswerReferenceB\x03\xE0A\x03\x1A\x8F\x01\x0A\x0EAnswerCitation\x12\x18\x0A\x0Bstart_index\x18\x01 \x01(\x05B\x03\xE0A\x03\x12\x16\x0A\x09end_index\x18\x02 \x01(\x05B\x03\xE0A\x03\x12K\x0A\x07sources\x18\x03 \x03(\x0B25.google.developers.knowledge.v1.Answer.CitationSourceB\x03\xE0A\x03\x1A.\x0A\x0ECitationSource\x12\x1C\x0A\x0Freference_index\x18\x01 \x01(\x05B\x03\xE0A\x03\x1Ay\x0A\x0FAnswerReference\x12[\x0A\x12document_reference\x18\x01 \x01(\x0B28.google.developers.knowledge.v1.Answer.DocumentReferenceB\x03\xE0A\x03H\x00B\x09\x0A\x07content\x1A_\x0A\x11DocumentReference\x12J\x0A\x0Edocument_chunk\x18\x01 \x01(\x0B2-.google.developers.knowledge.v1.DocumentChunkB\x03\xE0A\x03\"\xF2\x01\x0A\x0DDocumentChunk\x12B\x0A\x06parent\x18\x01 \x01(\x09B2\xE0A\x03\xFAA,\x0A*developerknowledge.googleapis.com/Document\x12\x0F\x0A\x02id\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07content\x18\x03 \x01(\x09B\x03\xE0A\x03\x12?\x0A\x08document\x18\x04 \x01(\x0B2(.google.developers.knowledge.v1.DocumentB\x03\xE0A\x03\x12!\x0A\x0Frelevance_score\x18\x05 \x01(\x01B\x03\xE0A\x03H\x00\x88\x01\x01B\x12\x0A\x10_relevance_score*y\x0A\x0CDocumentView\x12\x1D\x0A\x19DOCUMENT_VIEW_UNSPECIFIED\x10\x00\x12\x17\x0A\x13DOCUMENT_VIEW_BASIC\x10\x01\x12\x16\x0A\x12DOCUMENT_VIEW_FULL\x10\x02\x12\x19\x0A\x15DOCUMENT_VIEW_CONTENT\x10\x032\x81\x06\x0A\x12DeveloperKnowledge\x12\xBD\x01\x0A\x14SearchDocumentChunks\x12;.google.developers.knowledge.v1.SearchDocumentChunksRequest\x1A<.google.developers.knowledge.v1.SearchDocumentChunksResponse\"*\x82\xD3\xE4\x93\x02\$\x12\"/v1/documents:searchDocumentChunks\x12\x93\x01\x0A\x0BGetDocument\x122.google.developers.knowledge.v1.GetDocumentRequest\x1A(.google.developers.knowledge.v1.Document\"&\xDAA\x04name\x82\xD3\xE4\x93\x02\x19\x12\x17/v1/{name=documents/**}\x12\xA8\x01\x0A\x11BatchGetDocuments\x128.google.developers.knowledge.v1.BatchGetDocumentsRequest\x1A9.google.developers.knowledge.v1.BatchGetDocumentsResponse\"\x1E\x82\xD3\xE4\x93\x02\x18\x12\x16/v1/documents:batchGet\x12\x92\x01\x0A\x0BAnswerQuery\x122.google.developers.knowledge.v1.AnswerQueryRequest\x1A3.google.developers.knowledge.v1.AnswerQueryResponse\"\x1A\x82\xD3\xE4\x93\x02\x14\"\x0F/v1:answerQuery:\x01*\x1AU\xCAA!developerknowledge.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\x83\x02\x0A\"com.google.developers.knowledge.v1B\x17DeveloperKnowledgeProtoP\x01ZAcloud.google.com/go/developerknowledge/apiv1/developerknowledgepb\xAA\x02'Google.Developers.DeveloperKnowledge.V1\xCA\x02'Google\\Developers\\DeveloperKnowledge\\V1\xEA\x02*Google::Developers::DeveloperKnowledge::V1b\x06proto3"
, true);
static::$is_initialized = true;
diff --git a/DeveloperKnowledge/src/V1/AnswerQueryRequest.php b/DeveloperKnowledge/src/V1/AnswerQueryRequest.php
index 8d10dd72f53..2e39a0f4421 100644
--- a/DeveloperKnowledge/src/V1/AnswerQueryRequest.php
+++ b/DeveloperKnowledge/src/V1/AnswerQueryRequest.php
@@ -22,6 +22,47 @@ class AnswerQueryRequest extends \Google\Protobuf\Internal\Message
* Generated from protobuf field string query = 1 [(.google.api.field_behavior) = REQUIRED];
*/
protected $query = '';
+ /**
+ * Optional. Applies a strict filter to the search results used to ground the
+ * answer. The expression supports a subset of the syntax described at
+ * https://google.aip.dev/160.
+ * Supported fields for filtering:
+ * * `content_length_bytes` (INTEGER): The length of the `Document.content`
+ * field in bytes.
+ * * `data_source` (STRING): The source of the document, e.g.
+ * `docs.cloud.google.com`. See
+ * https://developers.google.com/knowledge/reference/corpus-reference for
+ * the complete list of data sources in the corpus.
+ * * `update_time` (TIMESTAMP): The timestamp of when the document was last
+ * meaningfully updated. A meaningful update is one that changes document's
+ * markdown content or metadata.
+ * * `uri` (STRING): The document URI, e.g.
+ * `https://docs.cloud.google.com/bigquery/docs/tables`.
+ * INTEGER fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * STRING fields support `=` (equals) and `!=` (not equals) operators for
+ * **exact match** on the whole string. Partial match, prefix match, and
+ * regexp match are not supported.
+ * TIMESTAMP fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * Timestamps must be in RFC-3339 format, e.g., `"2025-01-01T00:00:00Z"`.
+ * You can combine expressions using `AND`, `OR`, and `NOT` (or `-`) logical
+ * operators. `OR` has higher precedence than `AND`. Use parentheses for
+ * explicit precedence grouping.
+ * Examples:
+ * * Filter by `Document.content_length_bytes`:
+ * `content_length_bytes < 50000`
+ * * `data_source = "docs.cloud.google.com" OR data_source =
+ * "firebase.google.com"`
+ * * `data_source != "firebase.google.com"`
+ * * `update_time < "2024-01-01T00:00:00Z"`
+ * * `update_time >= "2025-01-22T00:00:00Z" AND (data_source =
+ * "developer.chrome.com" OR data_source = "web.dev")`
+ * * `uri = "https://docs.cloud.google.com/release-notes"`
+ * The `filter` string must not exceed 500 characters; values longer than 500
+ * characters will result in an `INVALID_ARGUMENT` error.
+ *
+ * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $filter = '';
/**
* Constructor.
@@ -31,6 +72,43 @@ class AnswerQueryRequest extends \Google\Protobuf\Internal\Message
*
* @type string $query
* Required. The query to answer.
+ * @type string $filter
+ * Optional. Applies a strict filter to the search results used to ground the
+ * answer. The expression supports a subset of the syntax described at
+ * https://google.aip.dev/160.
+ * Supported fields for filtering:
+ * * `content_length_bytes` (INTEGER): The length of the `Document.content`
+ * field in bytes.
+ * * `data_source` (STRING): The source of the document, e.g.
+ * `docs.cloud.google.com`. See
+ * https://developers.google.com/knowledge/reference/corpus-reference for
+ * the complete list of data sources in the corpus.
+ * * `update_time` (TIMESTAMP): The timestamp of when the document was last
+ * meaningfully updated. A meaningful update is one that changes document's
+ * markdown content or metadata.
+ * * `uri` (STRING): The document URI, e.g.
+ * `https://docs.cloud.google.com/bigquery/docs/tables`.
+ * INTEGER fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * STRING fields support `=` (equals) and `!=` (not equals) operators for
+ * **exact match** on the whole string. Partial match, prefix match, and
+ * regexp match are not supported.
+ * TIMESTAMP fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * Timestamps must be in RFC-3339 format, e.g., `"2025-01-01T00:00:00Z"`.
+ * You can combine expressions using `AND`, `OR`, and `NOT` (or `-`) logical
+ * operators. `OR` has higher precedence than `AND`. Use parentheses for
+ * explicit precedence grouping.
+ * Examples:
+ * * Filter by `Document.content_length_bytes`:
+ * `content_length_bytes < 50000`
+ * * `data_source = "docs.cloud.google.com" OR data_source =
+ * "firebase.google.com"`
+ * * `data_source != "firebase.google.com"`
+ * * `update_time < "2024-01-01T00:00:00Z"`
+ * * `update_time >= "2025-01-22T00:00:00Z" AND (data_source =
+ * "developer.chrome.com" OR data_source = "web.dev")`
+ * * `uri = "https://docs.cloud.google.com/release-notes"`
+ * The `filter` string must not exceed 500 characters; values longer than 500
+ * characters will result in an `INVALID_ARGUMENT` error.
* }
*/
public function __construct($data = NULL) {
@@ -64,5 +142,101 @@ public function setQuery($var)
return $this;
}
+ /**
+ * Optional. Applies a strict filter to the search results used to ground the
+ * answer. The expression supports a subset of the syntax described at
+ * https://google.aip.dev/160.
+ * Supported fields for filtering:
+ * * `content_length_bytes` (INTEGER): The length of the `Document.content`
+ * field in bytes.
+ * * `data_source` (STRING): The source of the document, e.g.
+ * `docs.cloud.google.com`. See
+ * https://developers.google.com/knowledge/reference/corpus-reference for
+ * the complete list of data sources in the corpus.
+ * * `update_time` (TIMESTAMP): The timestamp of when the document was last
+ * meaningfully updated. A meaningful update is one that changes document's
+ * markdown content or metadata.
+ * * `uri` (STRING): The document URI, e.g.
+ * `https://docs.cloud.google.com/bigquery/docs/tables`.
+ * INTEGER fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * STRING fields support `=` (equals) and `!=` (not equals) operators for
+ * **exact match** on the whole string. Partial match, prefix match, and
+ * regexp match are not supported.
+ * TIMESTAMP fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * Timestamps must be in RFC-3339 format, e.g., `"2025-01-01T00:00:00Z"`.
+ * You can combine expressions using `AND`, `OR`, and `NOT` (or `-`) logical
+ * operators. `OR` has higher precedence than `AND`. Use parentheses for
+ * explicit precedence grouping.
+ * Examples:
+ * * Filter by `Document.content_length_bytes`:
+ * `content_length_bytes < 50000`
+ * * `data_source = "docs.cloud.google.com" OR data_source =
+ * "firebase.google.com"`
+ * * `data_source != "firebase.google.com"`
+ * * `update_time < "2024-01-01T00:00:00Z"`
+ * * `update_time >= "2025-01-22T00:00:00Z" AND (data_source =
+ * "developer.chrome.com" OR data_source = "web.dev")`
+ * * `uri = "https://docs.cloud.google.com/release-notes"`
+ * The `filter` string must not exceed 500 characters; values longer than 500
+ * characters will result in an `INVALID_ARGUMENT` error.
+ *
+ * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getFilter()
+ {
+ return $this->filter;
+ }
+
+ /**
+ * Optional. Applies a strict filter to the search results used to ground the
+ * answer. The expression supports a subset of the syntax described at
+ * https://google.aip.dev/160.
+ * Supported fields for filtering:
+ * * `content_length_bytes` (INTEGER): The length of the `Document.content`
+ * field in bytes.
+ * * `data_source` (STRING): The source of the document, e.g.
+ * `docs.cloud.google.com`. See
+ * https://developers.google.com/knowledge/reference/corpus-reference for
+ * the complete list of data sources in the corpus.
+ * * `update_time` (TIMESTAMP): The timestamp of when the document was last
+ * meaningfully updated. A meaningful update is one that changes document's
+ * markdown content or metadata.
+ * * `uri` (STRING): The document URI, e.g.
+ * `https://docs.cloud.google.com/bigquery/docs/tables`.
+ * INTEGER fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * STRING fields support `=` (equals) and `!=` (not equals) operators for
+ * **exact match** on the whole string. Partial match, prefix match, and
+ * regexp match are not supported.
+ * TIMESTAMP fields support `=`, `<`, `<=`, `>`, and `>=` operators.
+ * Timestamps must be in RFC-3339 format, e.g., `"2025-01-01T00:00:00Z"`.
+ * You can combine expressions using `AND`, `OR`, and `NOT` (or `-`) logical
+ * operators. `OR` has higher precedence than `AND`. Use parentheses for
+ * explicit precedence grouping.
+ * Examples:
+ * * Filter by `Document.content_length_bytes`:
+ * `content_length_bytes < 50000`
+ * * `data_source = "docs.cloud.google.com" OR data_source =
+ * "firebase.google.com"`
+ * * `data_source != "firebase.google.com"`
+ * * `update_time < "2024-01-01T00:00:00Z"`
+ * * `update_time >= "2025-01-22T00:00:00Z" AND (data_source =
+ * "developer.chrome.com" OR data_source = "web.dev")`
+ * * `uri = "https://docs.cloud.google.com/release-notes"`
+ * The `filter` string must not exceed 500 characters; values longer than 500
+ * characters will result in an `INVALID_ARGUMENT` error.
+ *
+ * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setFilter($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->filter = $var;
+
+ return $this;
+ }
+
}