The JSON string representation of the document. It should conform to the
registered [Schema][google.cloud.discoveryengine.v1beta.Schema] or an
INVALID_ARGUMENT error is thrown.
Immutable. The full resource name of the document.
Format:
projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}.
This field must be a UTF-8 encoded string with a length limit of 1024
characters.
The structured JSON data for the document. It should conform to the
registered [Schema][google.cloud.discoveryengine.v1beta.Schema] or an
INVALID_ARGUMENT error is thrown.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eDocument\u003c/code\u003e class in the Discovery Engine v1beta API represents raw metadata of items for recommendations or search.\u003c/p\u003e\n"],["\u003cp\u003eIt implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from the \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eDocuments can contain various data types, such as structured JSON data, unstructured content, and derived data, all accessible through different properties like \u003ccode\u003eContent\u003c/code\u003e, \u003ccode\u003eJsonData\u003c/code\u003e, \u003ccode\u003eStructData\u003c/code\u003e, and \u003ccode\u003eDerivedStructData\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eDocument\u003c/code\u003e class has properties to handle indexing status (\u003ccode\u003eIndexStatus\u003c/code\u003e), indexing time (\u003ccode\u003eIndexTime\u003c/code\u003e), and unique identifiers (\u003ccode\u003eId\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e), ensuring proper tracking and retrieval of each item.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors \u003ccode\u003eDocument()\u003c/code\u003e and \u003ccode\u003eDocument(Document)\u003c/code\u003e to create new Document objects.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1beta API - Class Document (1.0.0-beta19)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta19 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Document)\n- [1.0.0-beta18](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/1.0.0-beta18/Google.Cloud.DiscoveryEngine.V1Beta.Document) \n\n public sealed class Document : IMessage\u003cDocument\u003e, IEquatable\u003cDocument\u003e, IDeepCloneable\u003cDocument\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Discovery Engine v1beta API class Document.\n\nDocument captures all raw metadata information of items to be recommended or\nsearched. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Document \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Document](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Document), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Document](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Document), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Document](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Document), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.DiscoveryEngine.V1Beta](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1Beta.dll\n\nConstructors\n------------\n\n### Document()\n\n public Document()\n\n### Document(Document)\n\n public Document(Document other)\n\nProperties\n----------\n\n### Content\n\n public Document.Types.Content Content { get; set; }\n\nThe unstructured data linked to this document. Content must be set if this\ndocument is under a\n`CONTENT_REQUIRED` data store.\n\n### DataCase\n\n public Document.DataOneofCase DataCase { get; }\n\n### DerivedStructData\n\n public Struct DerivedStructData { get; set; }\n\nOutput only. This field is OUTPUT_ONLY.\nIt contains derived data that are not in the original input document.\n\n### DocumentName\n\n public DocumentName DocumentName { get; set; }\n\n[DocumentName](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.DocumentName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Document#Google_Cloud_DiscoveryEngine_V1Beta_Document_Name) resource name property.\n\n### HasJsonData\n\n public bool HasJsonData { get; }\n\nGets whether the \"json_data\" field is set\n\n### Id\n\n public string Id { get; set; }\n\nImmutable. The identifier of the document.\n\nId should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)\nstandard with a length limit of 63 characters.\n\n### IndexStatus\n\n public Document.Types.IndexStatus IndexStatus { get; set; }\n\nOutput only. The index status of the document.\n\n- If document is indexed successfully, the index_time field is populated.\n- Otherwise, if document is not indexed due to errors, the error_samples field is populated.\n- Otherwise, index_status is unset.\n\n### IndexTime\n\n public Timestamp IndexTime { get; set; }\n\nOutput only. The last time the document was indexed. If this field is set,\nthe document could be returned in search results.\n\nThis field is OUTPUT_ONLY. If this field is not populated, it means the\ndocument has never been indexed.\n\n### JsonData\n\n public string JsonData { get; set; }\n\nThe JSON string representation of the document. It should conform to the\nregistered \\[Schema\\]\\[google.cloud.discoveryengine.v1beta.Schema\\] or an\n`INVALID_ARGUMENT` error is thrown.\n\n### Name\n\n public string Name { get; set; }\n\nImmutable. The full resource name of the document.\nFormat:\n`projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.\n\nThis field must be a UTF-8 encoded string with a length limit of 1024\ncharacters.\n\n### ParentDocumentId\n\n public string ParentDocumentId { get; set; }\n\nThe identifier of the parent document. Currently supports at most two level\ndocument hierarchy.\n\nId should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)\nstandard with a length limit of 63 characters.\n\n### SchemaId\n\n public string SchemaId { get; set; }\n\nThe identifier of the schema located in the same data store.\n\n### StructData\n\n public Struct StructData { get; set; }\n\nThe structured JSON data for the document. It should conform to the\nregistered \\[Schema\\]\\[google.cloud.discoveryengine.v1beta.Schema\\] or an\n`INVALID_ARGUMENT` error is thrown."]]