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; + } + }