Ever wanted to know EXACTLY what Ranking signals Google uses? Here is a searchable list. These variables were found on a server under Apache 2.0 license and shared (publicly) by Mike King from iPullRank. He got them via Rand, who got them from an anonymous person, who found them under the Apache 2.0 license. They represent all the ranking signals that we believe Googlers might have access to for their algorithms. I put them here as an easy way for me (and others) to search for buzzwords like “PageRank” and “mustang”. If you want to know, I run an SEO SAAS called InLinks.

Update 29 May: I just changed the column order. I think it makes more sense. Clicking on any row shows the row in a modal.

(Takes a minute to load… 14,000 rows. Wait until you see the search box.)

Signals searchable below… use the green (+) icon to expand.

NameDescriptionModuleNameModuleDescriptionType
idAbuseiamAbuseTypeString
subtypeOptional client specific subtype of abuse that is too specific to belong in the above enumeration. For example, some client may want to differentiate nudity from graphic sex, but both are PORNOGRAPHY.AbuseiamAbuseTypeString
ageYearsThis restriction applies if the user is between [min_age_years, age_years) years old.AbuseiamAgeRestrictioninteger
minAgeYearsAbuseiamAgeRestrictioninteger
childThis restriction applies if all of the children apply.AbuseiamAndRestrictionlist(AbuseiamUserRestriction)
idAbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
subserviceThe name of the subservice within a client. This subservice can be used to affect the flow of decision script, or selection of backend classifiers. For example, StreetView may want to specify a panel is insufficiently blurred (maybe there is a lisense plate or public sex, etc), which requires manual review then the subservice might be “blurring”.AbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
typeA constant of type TRUE always applies, and of type FALSE never applies.AbuseiamConstantRestrictionString
adminVerdictTakedowns specified by admins via AbuseIAmAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
userVerdictUser-specified takedownsAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
abuseTypeAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamAbuseType
backendWho creates this Evaluation. This field is required.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
commentBackends can choose to put some debug info in addition to abuse_type, score, and status.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
miscDataThis field is used to store miscellaneous information that Backend might provide. If you find youself here considering to use this field, please prefer using the repeated feature field below instead. It supports a richer structure for passing complex data back from the backend.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamNameValuePair)
processedMicrosWhen the evaluation was processed by the decision script.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
regionThe list of regions where the evaluation applies.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamRegion)
scoreAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.float
statusAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
targetAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamTarget
timestampMicrosWhen the Evaluation was generated.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamUserRestriction
versionVersion of Backend. For rules, this string is the only way to differentiate between them.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
localeAbuseiamGeoRestrictionA node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France.list(AbuseiamGeoRestrictionLocale)
locationThe location where the restriction applies. Defaults to the “The world”. See go/iii.AbuseiamGeoRestrictionLocaleString
restrictionThe UserRestriction that applies to this location. If not specified evaluates to true.AbuseiamGeoRestrictionLocaleAbuseiamUserRestriction
hash64 bit hash in the hex form.AbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
typeAbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
nameAbuseiamNameValuePairString
nonUtf8ValueAbuseiamNameValuePairString
valueAbuseiamNameValuePairString
childThis restriction applies if the child does not apply. Only one is allowed. “repeated” is used to avoid breaking Sawzall (See b/6758277).AbuseiamNotRestrictionlist(AbuseiamUserRestriction)
childThis restriction applies if any of the children apply.AbuseiamOrRestrictionlist(AbuseiamUserRestriction)
regionThis is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict.AbuseiamRegionString
typeAbuseiamSpecialRestrictionA SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD.String
idAbuseiamTargetString
typeAbuseiamTargetString
channelAbuseiamUserNotificationA structure used to configure a notification to a user.String
ageRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAgeRestriction
andRestrictionOperatorsAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAndRestriction
constantRestrictionConstantAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamConstantRestriction
geoRestrictionLeaf NodesAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamGeoRestriction
notRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamNotRestriction
orRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamOrRestriction
specialRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamSpecialRestriction
clientTarget client of the verdict. It can be used to differentiate verdicts from multiple clients when such verdicts are processed in one common place.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamClient
commentAdditional info regarding the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
decisionAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
durationMinsTime duration (in minutes) of the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.integer
evaluationEvaluations relevant to this verdict. Every Verdict should contain at least one Evaluation.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamEvaluation)
hashesDetails of all the hashes that can be computed on a message, such as simhash and attachment hashAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamHash)
isLegalIssuedIs this verdict issued by legal?AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.boolean
miscScoresThis field is used to pass relevant / necessary scores to our clients. For eg: ASBE propagates these scores to moonshine.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamNameValuePair)
reasonCodeA short description of the reason why the verdict decision is made.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
regionThe regions in which this verdict should be enforced. Absence of this field indicates that the verdict is applicable everywhere.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamRegion)
restrictionRestrictions on where this verdict applies. If any restriction is met, the verdict is applied there. If no restrictions are present, the verdict is considered global.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamVerdictRestriction)
strikeCategoryCategory of the strike if this is a strike verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
targetAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamTarget
targetTimestampMicrosThe timestamp of the target. E.g., the time when the target was updated.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
timestampMicrosWhen the verdict is generatedAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
userNotificationExtra notification(s) to be delivered to target user or message owner about the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamUserNotification)
versionversion of decision scriptAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
contextFor a restriction to apply, all contexts must be satisfied. For example, if context[0] is COUNTRY/’GERMANY’ and context[1] is DESTINATION_STREAM/’gplus:SQUARE:knitting_discussion’, then the verdict applies only when the ‘knitting discussion’ square is viewed from inside Germany. Please note that this is present for legacy reasons and users of this field would be migrated to use the user_restriction field defined below.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.list(AbuseiamVerdictRestrictionContext)
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.AbuseiamUserRestriction
idString identifying the context.AbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
typeAbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
highIdAdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId1AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId2AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
anchorAnchorslist(AnchorsAnchor)
homepageAnchorsDroppedThe total # of local homepage anchors dropped in AnchorAccumulator.AnchorsString
indexTierThe index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h.Anchorsinteger
localAnchorsDroppedThe total # of local non-homepage anchors dropped in AnchorAccumulator.AnchorsString
nonlocalAnchorsDroppedThe total # of non-local anchors dropped in AnchorAccumulator.AnchorsString
redundantAnchorsDroppedThe *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor.AnchorsString
redundantanchorinfoAnchorslist(AnchorsRedundantAnchorInfo)
supplementalAnchorsDroppedThe total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED.AnchorsString
targetDocidmay be implicitAnchorsString
targetSiteHOST_LEVEL site chunking.AnchorsString
targetUrlThis is produced during link extraction but not written out in the linklogs in order to save space.AnchorsString
creationDateused for history – the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created.AnchorsAnchorinteger
origTextOriginal text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space.AnchorsAnchorString
context2This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the ‘context’ field.)AnchorsAnchorinteger
fontsizeAnchorsAnchorinteger
experimentalIf true, the anchor is for experimental purposes and should not be used in serving.AnchorsAnchorboolean
fragmentThe URL fragment for this anchor (the foo in http://www.google.com#foo)AnchorsAnchorString
sourceTypeis to record the quality of the anchor’s source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), – Anchors marked TYPE_HIGH_QUALITY are from base documents. – Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). – Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal.AnchorsAnchorinteger
pagerankWeightWeight to be stored in linkmaps for pagerankerAnchorsAnchornumber
isLocalThe bit ~roughly~ indicates whether an anchor’s source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above).AnchorsAnchorboolean
originalTargetDocidThe docid of the anchor’s original target. This field is available if and only if the anchor is forwarded.AnchorsAnchorString
fullLeftContextThe full context. These are not written out in the linklogs.AnchorsAnchorlist(String)
expiredtrue iff exp domainAnchorsAnchorboolean
catfishTagsCATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexingAnchorsAnchorlist(integer)
deletionDateAnchorsAnchorinteger
linkTagsContains info on link type, source page, etc.AnchorsAnchorlist(integer)
forwardingTypesHow the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater.AnchorsAnchorinteger
possiblyOldFirstseenDateDEPRECATED. It used to be set if firstseen_date is not set. It’s to indicate that the anchor is possibly old, but we don’t have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies.AnchorsAnchorboolean
localityFor ranking purposes, the quality of an anchor is measured by its “locality” and “bucket”. See quality/anchors/definitions.h for more information.AnchorsAnchorinteger
demotionreasonDEPRECATEDAnchorsAnchorinteger
parallelLinksThe number of additional links from the same source page to the same target domain. Not populated if is_local is true.AnchorsAnchorinteger
textSpace-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc .AnchorsAnchorString
sourceAnchorsAnchorAnchorsAnchorSource
bucketAnchorsAnchorinteger
fullRightContextAnchorsAnchorlist(String)
targetUrlEncodingA given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding.AnchorsAnchorinteger
compressedOriginalTargetUrlThe anchor’s original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded.AnchorsAnchorString
firstseenDate# days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extractionAnchorsAnchorinteger
setiPagerankWeightTEMPORARYAnchorsAnchornumber
contextAnchorsAnchorinteger
linkAdditionalInfoAdditional information related to the anchor, such as additional anchor text or scores.AnchorsAnchorProto2BridgeMessageSet
typeDEPRECATED: Now in link_tagsAnchorsAnchorinteger
firstseenNearCreationtrue if we think ‘firstseen_date’ is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it.AnchorsAnchorboolean
lastUpdateTimestampUsed for history and freshness tracking – the timestamp this anchor is updated in indexing.AnchorsAnchorinteger
offsetThis is the offset for the first term in the anchor – it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data.AnchorsAnchorinteger
weightweights are 0-127AnchorsAnchorinteger
deletedAnchorsAnchorboolean
encodedNewsAnchorDataEncoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines.AnchorsAnchorinteger
compressedImageUrlsIf the anchor contained images, these image urls are stored here in compressed form.AnchorsAnchorlist(String)
timestampThis field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62.AnchorsAnchorString
additionalInfoAdditional information related to the source, such as news hub info.AnchorsAnchorSourceattributes of the source document for the linkProto2BridgeMessageSet
clusteranchor++ cluster idAnchorsAnchorSourceattributes of the source document for the linkinteger
compressedUrlcompressed source urlAnchorsAnchorSourceattributes of the source document for the linkString
crawlTimestampSource page crawl timestamp.AnchorsAnchorSourceattributes of the source document for the linkString
docidThe docid field used to be “required”, but it is now “optional” because it is not present when anchors are stored in webtable. When anchors are stored as part of docjoin files in the segment indexer, however, docid should be considered required.AnchorsAnchorSourceattributes of the source document for the linkString
doclengthnecessary for anything?AnchorsAnchorSourceattributes of the source document for the linkinteger
homePageInfoInformation about if the source page is a home page. It can be one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED).AnchorsAnchorSourceattributes of the source document for the linkinteger
indyrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
ipaddrDEPRECATED, use packed_ipaddressAnchorsAnchorSourceattributes of the source document for the linkinteger
languagedefault -> EnglishAnchorsAnchorSourceattributes of the source document for the linkinteger
linkhash0 -> no hashAnchorsAnchorSourceattributes of the source document for the linkString
localCountryCodesCountries to which the source page is local/most relevant; stored as III identifiers for country/region codes (see http://go/iii).AnchorsAnchorSourceattributes of the source document for the linklist(integer)
nsrThis NSR value has range [0,1000] and is the original value [0.0,1.0] multiplied by 1000 rounded to an integer.AnchorsAnchorSourceattributes of the source document for the linkinteger
outdegreeAnchorsAnchorSourceattributes of the source document for the linkinteger
outsitesapprox num of pointed-to sitesAnchorsAnchorSourceattributes of the source document for the linkinteger
packedIpaddressstring in IPAddress::ToPackedString() format.AnchorsAnchorSourceattributes of the source document for the linkString
pageTagsPage tags are described by enum PageTag in PerDocData. Page tags are used in anchors to identify properties of the linking page. These are DEPRECATED: in the future, use link_tags instead. DEPRECATEDAnchorsAnchorSourceattributes of the source document for the linklist(integer)
pagerankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
pagerankNsunit16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
seglanguageDEPRECATEDAnchorsAnchorSourceattributes of the source document for the linkinteger
siteAnchorsAnchorSourceattributes of the source document for the linkString
spamrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore1deprecated, to be removed after October 20. 0-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore20-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
webtableKeyWebtable key of sourceAnchorsAnchorSourceattributes of the source document for the linkString
anchorsDroppedAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
domainAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
textAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
customerIdAppsDynamiteCustomerIdRepresents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.String
consumerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoConsumerInfo
customerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoCustomerInfo
customerIdAppsDynamiteSharedOrganizationInfoCustomerInfoAppsDynamiteCustomerId
memberTypeAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
membershipCountcount of members with given type and stateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDinteger
membershipStateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
valueAppsDynamiteSharedSegmentedMembershipCountslist(AppsDynamiteSharedSegmentedMembershipCount)
idThe hierarchy of IDs. Each individual ID is “flat” and the repeated list defines the hierarchy. Namespaces define the “validity” of this hierachy (depth, naming convention, etc) and the server will reject invalid IDs.AppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3list(String)
namespaceAppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3String
reportCompromisedCorresponds on “This account might be compromised or hacked” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHarassmentCorresponds on “Harassment or bullying” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHateCorresponds on “Hate speach or graphic violence” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportPornCorresponds on “Pornography or sexually explicit material” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportSpamCorresponds on “Unwanted commercial content or spam” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
serveCountNumber of times this activity was served out of asbe/stanza.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
timeSecTimestamp in seconds for which time this record is valid.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
ytThumbsDownCorresponds on Distiller comment thumbs down action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
contentTypeAppsPeopleOzExternalMergedpeopleapiAboutString
metadataAppsPeopleOzExternalMergedpeopleapiAboutAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
safeHtmlValueSanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested.AppsPeopleOzExternalMergedpeopleapiAboutWebutilHtmlTypesSafeHtmlProto
valueAppsPeopleOzExternalMergedpeopleapiAboutString
nameDisplayOptionsAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions
photosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData
profileEditabilityAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability
profileNameModificationHistoryAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory
nicknameOptionAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptionsSee NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess.String
diffDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData
highResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
inconsistentPhotoTrue if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it’s recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photosAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
lowResDataOnly present if the photo diff is greater than 0.01 on any color band.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
lowResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
monogramUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
privateLowResAclTrue if the low-res photo has a private ACL set.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
blueDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
greenDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
redDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
lockedFieldRead-only set of zero or more field paths that are locked for update on this person, such as “person.name”, “person.email”, etc. The set of fields is only populated for the requester’s profile. Fields in the set cannot be edited, added, or deleted from the profile. Attempting to update any of these fields will result in an exception.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditabilitySee UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto.list(String)
computedNameChangesRemainingThe number of name changes remaining at RPC request time. This can be more than name_changes_remaining, if user hasn’t changed name for some time and accrued quota since last change.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
computedNicknameChangesRemainingThe number of nickname changes remaining at RPC request time. This can be more than nickname_changes_remaining, if user hasn’t changed nickname for some time and accrued quota since last change.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameChangesRemainingThe number of name changes remaining at the time the name was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameLastModifiedThe last time the profile name was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
nicknameChangesRemainingThe number of nickname changes remaining at the time the nickname was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nicknameLastModifiedThe last time the profile nickname was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
quotaEnforcementStatusAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
emailAppsPeopleOzExternalMergedpeopleapiAccountEmailString
rawDeviceContactInfoWhen the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field.AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfoAdditional information about a container. TO BE DELETED: replaced by DeviceContactInfo.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
countryAppsPeopleOzExternalMergedpeopleapiAddressString
countryCodeAppsPeopleOzExternalMergedpeopleapiAddressString
encodedPlaceIdFeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity.AppsPeopleOzExternalMergedpeopleapiAddressString
extendedAddressAppsPeopleOzExternalMergedpeopleapiAddressString
formattedAppsPeopleOzExternalMergedpeopleapiAddressString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiAddressString
localityAppsPeopleOzExternalMergedpeopleapiAddressString
metadataAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
poBoxAppsPeopleOzExternalMergedpeopleapiAddressString
pointSpecAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPointSpec
postalCodeAppsPeopleOzExternalMergedpeopleapiAddressString
regionAppsPeopleOzExternalMergedpeopleapiAddressString
streetAddressAppsPeopleOzExternalMergedpeopleapiAddressString
typeThe type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiAddressString
affinityMetadataContains extra ranking information returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.SocialGraphWireProtoPeopleapiAffinityMetadata
affinityTypeAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerIdThe ID of the containerAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerTypeThe type of container to which this affinity appliesAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
loggingIdUsed to log events for this affinity value, for disco diagnostic-purposes. See go/disco-diagnostics.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
valueAffinity value. Frequently represented as an inverse ranking, sometimes with additional data encoded. If data_formats.affinity_formats.score_format is set to RAW_SCORE then the value will be the score returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.float
ageInYearsPlease read go/people-api-howto:age on how to get age data. Age of the user. The field is set based on profile storage fields such as account birthday. If the source fields are not present, `age_in_years` will be left unset.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.integer
ageOfConsentStatusDeprecated. Use go/supervised-accounts#capabilities-for-child-accounts instead. Denotes whether the user is under the region based Age of Consent. The user’s region is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from Birthday field or CertifiedBornBefore field. The region based AoC is specified at go/aoc.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.String
ageRangeDeprecated. Please read go/people-api-howto:age on how to get age data. Age range is populated based on `account_birthday` and `certified_born_before`, which may not be set for dasher users.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.String
metadataAppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action. For example, app_unique_id for Whatsapp will be “[email protected]AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
contactInfoSourceWhere this contact info was retrieved from. Note: only added for Assistant usage, and will not be populated by PAPI. This is due to the coupling between Assistant Proto, and PAPI proto. (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto)AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
displayAppUniqueIdStore third party endpoint that is displayed to users. For example, display_app_unique_id for Whatsapp will be “Message +11234567890”.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
labelStore third party endpoint label. For example, “HOME”, “WORK”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
containerTypeThe container the suggested name was sourced fromAppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
displayNameThe display name. This name is intended to be the best name to display for this Person. It may be built from a variety of fields, even if those fields are not explicitly requested in the request mask. Generally, the display name is formatted in ‘first last’ format. If the name appears to be a CJK name (as determined by a heuristic), the ‘last first’ format will be used. There may be other cases that the ‘last first’ format is used which are not documented here. See the code at: http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659&rcl=351360938AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
displayNameLastFirstThe display name, always in ‘last first’ format. This field does not depend on the format of `display_name` and will always be in ‘last first’ format.AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
ageDisableGracePeriodOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod
birthdayDecorationWhether the user has opted in to display their birthday via photo decorations. Only supported for PROFILE/DOMAIN_PROFILE container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.SocialGraphApiProtoBirthdayDecoration
birthdayResolutionOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
calendarDayBirthdays are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. Currently this is always returned by PeopleApi on reads that include birthday fields. New clients should write using calendar_day. Clients that were already writing via date_ms are allowlisted such that writes use that field. Old callers should migrate to writing BOTH date_ms and calendar_day values. If those are consistent, they may be removed from the ‘legacy_timestamp_event_write_behavior_enabled’ capability.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.GoogleTypeDate
dateMsBirthdays are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. Clients are recommended to read the calendar_day field, which is easier to work with than date_ms. New clients writing to PeopleApi must set calendar_day instead of date_ms. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. 1. Epoch – The epoch or calendar date equivalent to 0 ms is chosen to be 1970-01-01 UTC. 2. Timezone – All of the conversions to calendars should occur in the UTC timezone. We don’t typically think of someones birthday changing when they travel, so clients should not use local times. 3. Calendar – The calendar used for the dates should be a Gregorian proleptic calendar. Proleptic means that the rules of the Gregorian calendar are retrofitted to before its adoption. It is easy to get this wrong, particularly with the java GregorianCalendar class, which by default is a mixed Gregorian/Julian calendar. Joda Time makes this easy, but if it’s not an option, look into GregorianCalendar.setGregorianChange(). 4. Omitted years – Clients have chosen to represent birthdays or events without years as timestamps within the year zero. When the computed date has a year of 0, it means the client did not specify a year. Note that a year 0 does not exist in a chronology like the familiar Anno Domini (A.D. and B.C.); clients must agree on year numbering. 5. Year Numbering – The chronology used to map dates to the calendar should use Astronomical Year Numbering so that the year 0 is defined and dates before it have a negative year. If libraries only provide Anno Domini, then the year of 1 BC corresponds to year zero and an omitted user provided year. Other BC values are presumed rare, but clients should still not ignore the era and interpret the year as an A.D. value, especially if writing values back to PeopleApi.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
dateMsAsNumberdate_ms_as_number contains the same data as date_ms, but has a different type in generated javascript bindings. Non javascript clients can ignore it.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
metadataAppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact birthday data. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.SocialGraphApiProtoPrompt
valueActual value entered. Allows unstructured values.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
calendarDayProvisional birthday AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.GoogleTypeDate
gracePeriodEndTimestamp which signifies the end of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.DateTime
gracePeriodStartTimestamp which signifies the start of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.DateTime
gracePeriodTypeAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.String
manualGracePeriodInfoAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo
escalateToThe Gaia ID of an email that ops can send inquiries to for appeals.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
executedByThe Gaia ID of a Googler who initiated this disable.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
reasonWhen setting a user into age grace period manually, the requester can additionally supply a short human-readable reason of why the account is put into manual grace period. The description will be forwarded to Gaia when we disable the account when the grace period expires.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
metadataAppsPeopleOzExternalMergedpeopleapiBraggingRightsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiBraggingRightsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the calendar URL. The type can be free form or one of these predefined values: * `home` * `freeBusy` * `work`AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
urlAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
callerIdSourceIndicates which data source was used to populate the caller ID resultAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource
sourceTypeAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSourceString
bornBeforeIndicates that the user was born at or before this time.AppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.DateTime
metadataAppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
channelIdUnique ID that corresponds to a Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
commentCountNumber of comments for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
descriptionDescription of the channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
playlistCountAppsPeopleOzExternalMergedpeopleapiChannelDataString
profilePictureUrlA FIFE URL pointing to the channel’s profile image (go/avatar-fife-urls) with default fife url options. Also refer to go/people-api-concepts:photos for People API’s FIFE best practices. The image could be up to a couple of days stale, though it is much fresher in practice. If a fresh image is required, contact the YouTubeAccountProfileService. The URL itself expires ~30 days after generation.AppsPeopleOzExternalMergedpeopleapiChannelDataString
profileUrlURL of user’s Youtube channel profile.AppsPeopleOzExternalMergedpeopleapiChannelDataString
subscriberCountNumber of subscribers for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
titleTitle of the YouTube channelAppsPeopleOzExternalMergedpeopleapiChannelDataString
usesYoutubeNamesWhether or not the channel’s profile has a title/avatar that is canonical in YouTube. Used to determine if the product profile card should be part of the core persona or have their own persona.AppsPeopleOzExternalMergedpeopleapiChannelDataboolean
videoCountNumber of videos uploaded in a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
circleIdThe circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.String
metadataAppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
keyAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namespaceAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
valueAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.String
metadataAppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptContact-level “reminder to connect” prompts for this contact.AppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.list(SocialGraphApiProtoPrompt)
contactCreateContextAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactCreateContext
metadataAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactEditContextAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactEditContext
metadataAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactGroupIdThe contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
delegatedGroupInfoInformation related to delegated group that this contact belongs to.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo
metadataAppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThis field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
contactPromptSettingsAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactPromptSettings
metadataAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactStateAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactState
metadataAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
imageHeightAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
imageIdAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageUrlAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageWidthAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
isAnimatedAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
isDefaultAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
metadataAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
customerIdDEPRECATED. Use obfuscated_customer_id instead. If result has a GSuite Customer ID, this field will continue to be populated with -1 to indicate the presence of a value for backwards compatibility with clients in the wild. See b/144596193.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
customerNameCustomer organization name for dasher user.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
obfuscatedCustomerIdObfuscated FlexOrgs customer ID for Dasher user. See cs/symbol:CustomerIdObfuscator.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
fieldDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
metadataAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
multiValuedAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).boolean
schemaDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
schemaIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
typeThe type of the custom schema field. The type can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
valueString representation of the value, based on FieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
containerTypeSee SourceIdentity.container_typeAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
idSee SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
delegatedGroupIdRequired. The additional id specifically for a delegated group.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfoInformation related to delegated group that this contact belongs to.SocialGraphApiProtoDelegatedGroupId
attributesAttributes for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(String)
usageInfoUsage info for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(SocialGraphApiProtoUsageInfo)
contactIdAggregated device contact id on the source device.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceIdSource device id (go/client-instance-id) of this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceContactMetadataMetadata for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
hasCrossDeviceDataOutput only. True if any of the contact’s phone, email or address fields can be used on devices other than the one it originated from. Note that there can be other fields, typically name, and metadata such as some of the raw_contact_infos that can be used on other devices. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.boolean
idId of the device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactId
lastClientUpdateTimeLast time a device contact was updated on device.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.DateTime
lookupKeyAn opaque value used by the device to look up this contact if its row id changed as a result of a sync or aggregation. See: https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html#LOOKUP_KEYAppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.String
rawContactInfoInfo about the raw device contacts that make up this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
containerIdThe container ID of the entity this field creates a join to. See `SourceIdentity.id`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
containerTypeThe type of container that this edge points to. See `SourceIdentity.container_type`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
extendedDataData that is added to the proto by peopleapi read extensions.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData
materializedTrue indicates this edge links this source to a container represented by this person object. Note: Except for certain legacy clients, EdgeKeyInfo is only created for for edges to an entity in this person and this will always be true.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoboolean
gdataCompatibilityExtensionIdThe GDataCompatibilityExtension will (temporarily) return mobile_owner_id for profile containers.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionDataString
certificateAppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailCertificate)
classificationAppsPeopleOzExternalMergedpeopleapiEmailString
contactGroupPreferenceTo read or update, use the CONTACT_GROUP_PREFERENCE mask field.AppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference)
displayNameAppsPeopleOzExternalMergedpeopleapiEmailString
extendedDataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEmailString
metadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
signupEmailMetadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata
typeThe type of the email address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiEmailString
valueAppsPeopleOzExternalMergedpeopleapiEmailString
configurationNameThe name of this certificate configuration. Examples could be “High security level” or “For domain emails only”.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.String
metadataIt is conceivable that certificates could be ACLed. We also need to indicate which certificate is the default. The PersonFieldMetadata can accomplish both of these.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus
notAfterSecThe certificate expiration timestamp in seconds.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
statusCodeCurrent status of the email’s certificate chain.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
contactGroupIdAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
isSyntheticIf the Preference was implicitly set by PeopleApi/Contacts Service. A preference with this bit will not be saved to storage. See go/contact-group-email-preference-papi-problem for more info.AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.boolean
typeAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
internalExternalFor use with the CUSTOMER_INFO_ADDITIONAL_DATA extension. This includes information on whether the given email is internal to or external to the requesting user’s domain.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.PeoplestackFlexorgsProtoInternalExternal
isPlaceholderFor ListPeoplebyKnownId to indicate an email is sythesized from a lookup email.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
smtpServerSupportsTlsFor use with the TLS extension. Whether the SMTP server that handles delivery for this email address supports TLS encryption.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
usesConfusingCharactersFor use with the Gmail Homograph Warning extension. Whether the email contains mixed character sets that could be used to decieve users. This field is populated by the GMAIL_SECURITY_DATA extension.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
primaryThis is considered to be the primary signup email. At most 1 signup email will have this set.AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadataAdditional metadata for a signup email. This will only be set if the email’s classification is SIGNUP_EMAIL.boolean
metadataAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pomeroyIdOpaque id from Pomeroy (go/pomeroy). Non-empty pomeroy_id means that this contact has the potential to become trusted contact or it’s already trusted contact. Trust is eventually gaia<->gaia link, but when the trust link is initiated gaia might not be known. Until gaia is discovered, pomeroy_id is used to identify the contact uniquely. If trust_level is missing or set to TRUST_LEVEL_UNSPECIFIED pomeroy_id must be empty.AppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
trustLevelAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
calendarDayEvent are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. PeopleApi will return these values on reads, and unless the client is a legacy caller in the legacy_timestamp_event_write_behavior_enabled capability allowlist, this value is what is used for Person writes.AppsPeopleOzExternalMergedpeopleapiEventGoogleTypeDate
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEventString
metadataAppsPeopleOzExternalMergedpeopleapiEventAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact event data.AppsPeopleOzExternalMergedpeopleapiEventSocialGraphApiProtoPrompt
timestampMillisClients are recommended to read the calendar_day field instead of timestamp_millis. When writing events, new clients must set calendar_day instead of timestamp_millis. Events are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. For detailed information, see Birthday.date_ms.AppsPeopleOzExternalMergedpeopleapiEventString
typeThe type of the event. The type can be free form or one of these predefined values: * `anniversary` * `other`AppsPeopleOzExternalMergedpeopleapiEventString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
metadataAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the external ID. The type can be free form or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization`AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
valueAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
aclEntryA custom type of field ACL entry. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry)
authorizedViewersSet of users that will be authorized to view the field by this field ACL. If the ACL is public, this will only contain ALL_USERS. This field is synthesized, read-only, and currently only used for profile photos. It’s populated under “person.photo.metadata.field_acl” for the current photo ACL and “person.photo.metadata.acl_choices” for available photo ACL choices. Note: The set of authorized viewers for a given FieldAcl may depend on the user’s account type and domain configuration. For example, a PRIVATE_READ FieldAcl could have any of the following authorized viewers: Consumer user: [IDENTITY_ACL_ESTABLISHED] Dasher user without domain contact sharing: [IDENTITY_ACL_ESTABLISHED] Unicorn user: [SAME_UNICORN_FAMILY] Hafez user: []AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
predefinedAclEntryA common type of field ACL entry. A predefined ACL entry is a shortcut for a commonly occurring case of role and scope. For example, PUBLIC_READ is the same as an AclEntry with role = READER and scope.all_users = true. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
roleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryString
scopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope
allUsersIndicates that the field is accessible to all users including unauthenticated users. For some fields this means “to everyone except blocked users”.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
domainUsersThis is a “synthetic” field. In reality domains are treated as gaia- groups. This field will be ‘true’ when the field is ACLed to the gaia-group of the requester’s domain.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
membershipAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl
personIndicates that the field is accessible to a person.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl
circleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl
contactGroupAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl
circleIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
circleSetAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
displayNameEquivalent to Circle.display_name for the circle_id. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
contactGroupIdA contact group ID. This is either a user-defined contact group hex ID, or it is the string name of the enum constant in Group.PredefinedId in FBS backend.proto for predefined groups. Common values for the predefined name include, but are not limited to: all, myContacts, starred, chatBuddies, friends, family, coworkers, and blocked.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.String
displayNameThe localized display name for the predefined group, if known; or, the display name for the user-defined contact group. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.String
displayNameDEPRECATED. This is not different than reading from person.name for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Name.display_name for the person_id profile. Included when the profile Name is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
personIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
photoUrlDEPRECATED. This is not different than reading from person.photo for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Photo.url for the person_id profile. Included when the profile Photo is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
emergencyLevelAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfoEmergency information for Person field, such as Phone or Email. See go/emergency-trusted-contacts-papi.String
metadataAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.String
addressMeAsPreferred pronoun choice. It’s unclear whether this value is constrained to a finite domain by UIs. `address_me_as` may be populated regardless of whether `type` is “male”, “female”, or “other”, although most writers only set it if `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
customTypeA free-form string indicating what the user entered as their gender. `custom_type` may exist even if the type is “male” or “female”, although most writers do not set it unless `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
metadataAppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe gender. “male”, “female”, or “other”. If “other”, typically, additional fields will have additional information.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
internationalNumberA number in international format including the country code that is made user readable by including formatting such as spaces. Example: “+41 44 668 1800” DEPRECATED: A user’s phone number should be masked and not in an international formatAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
maskedNumberThe masked string of a user’s phone number The number will be obfucsated with * except the last 4 digits. Refer to: //java/com/google/nbu/paisa/common/PhoneNumberMasker.javaAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
contentRestrictionAppsPeopleOzExternalMergedpeopleapiGplusExtendedDataString
isEnterpriseUserEquivalent to having the DASHER_POLICY bit in the REGISTERED state.AppsPeopleOzExternalMergedpeopleapiGplusExtendedDataboolean
hadPastHangoutStateAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
invitationStatusPopulated for all contacts. Only set if had_past_hangout_state == HAD_PAST_HANGOUT. INVITATION_NEEDED is not a valid value because there already is a past hangout, which means either the invitation is still pending or it’s been accepted.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
isBotTrue if this is a Hangouts bot.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isDismissedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isFavoriteAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isPinnedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
userTypeAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
originalLookupTokenOriginal lookup token from the request that resulted in this person or one of its containers.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
previousPersonIdAny former IDs this person may have had, in the case that their ID may have changed. Populated only for sync requests. Examples of such changes include adding an edge to a contact that links to a profile. The ID will change from being contact-oriented to being profile-oriented. To be used to clear out old versions of a person.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
sourceIdsA list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(AppsPeopleOzExternalMergedpeopleapiSourceIdentity)
formattedProtocolThe `protocol` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
metadataAppsPeopleOzExternalMergedpeopleapiImAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
protocolThe protocol of the IM. The protocol can be free form or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting`AppsPeopleOzExternalMergedpeopleapiImString
typeThe type of the IM. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiImString
valueAppsPeopleOzExternalMergedpeopleapiImString
appAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(String)
clientDataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData)
metadataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
originatingFieldThere may be more than one field from which this IANT originates, as in the case of Bob’s public profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField)
typeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]String
valueThe value of the target, used for delivery. E.g., the obfuscated gaia ID for a visible profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]String
appThe app to which this client data applies.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
byteValueAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
fieldIndexThe index of the relevant field in the merged personAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.integer
fieldTypeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
valueThe value of the origin fieldAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
appTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
metadataAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
reachabilityKeyAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey
statusAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
keyTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
keyValueThe value of the key by which the user said they may be reachable. E.g., the phone number.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
allowedAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.boolean
interactionAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.String
metadataAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
metadataAppsPeopleOzExternalMergedpeopleapiInterestAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiInterestString
metadataAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.String
latAppsPeopleOzExternalMergedpeopleapiLatLngfloat
lngAppsPeopleOzExternalMergedpeopleapiLatLngfloat
mobileOwnerIdMobile obfuscated gaia id. This is the same gaia id in metadata.owner_id, but obfuscated with the legacy mobile obfuscator.AppsPeopleOzExternalMergedpeopleapiLegacyFieldsFields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields.String
limitedProfileSettingsAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldSocialGraphApiProtoLimitedProfileSettings
metadataAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
buildingIdAppsPeopleOzExternalMergedpeopleapiLocationString
buildingNameThe building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active.AppsPeopleOzExternalMergedpeopleapiLocationString
currentAppsPeopleOzExternalMergedpeopleapiLocationboolean
deskCodeMost specific textual description of individual desk location.AppsPeopleOzExternalMergedpeopleapiLocationString
floorNameAppsPeopleOzExternalMergedpeopleapiLocationString
floorSectionAppsPeopleOzExternalMergedpeopleapiLocationString
lastUpdateTimeIndicates the time this location was added or last edited.AppsPeopleOzExternalMergedpeopleapiLocationDateTime
metadataAppsPeopleOzExternalMergedpeopleapiLocationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceValue indicates the origin of this location information.AppsPeopleOzExternalMergedpeopleapiLocationString
typeDescribes the type of location. E.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTagAppsPeopleOzExternalMergedpeopleapiLocationString
valueAppsPeopleOzExternalMergedpeopleapiLocationString
indirectManagerList of managers in the chain. If user has manager email “[email protected]” and manager’s manager has email “[email protected]” then the list will be: [0]: { email: “[email protected]” } [1]: { email: “[email protected]” }AppsPeopleOzExternalMergedpeopleapiManagementUpchainlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager)
metadataAppsPeopleOzExternalMergedpeopleapiManagementUpchainAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiManagementUpchainString
emailAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
personIdAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
followeeCountNumber of people the user is following.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
followerCountNumber of people who are following the user.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.integer
numContributionsSum of creators contributions i.e. reviews, rating, questions, etc.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
profilePhotoUrlThe user’s profile photo that might have a badge rendered at the corner if the user is eligible for a badge.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
taglineA user’s bio, or tagline.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
topicExpertiseA topic that creator has expertise in. This will be in the format: emoji associated with the topic, display name of the topic, topic scoreAppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.list(String)
userCaptionA user’s caption displayed under the user name on their profile page i.e. ‘Local Guide Level 8’AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
fieldRestrictionAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.list(AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction)
metadataAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
taglineAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.String
websiteLinkA link to the profile owner’s website to be displayed in profile.AppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink
clientDataOpaque data associated with this restriction e.g. abuse status.AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
typeAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
anchorTextAnchor text to be displayed as clickable link. If not present, the URL should be displayed directly.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
urlThe URL to be linked to.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
matchThe list of matches ordered by most relevant matching for autocomplete coming first.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.list(AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch)
queryThe query token we are matching against.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.String
endIndexIndex right after the last character that matches the query. length = end-start, we have substring = [start, end).AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
startIndexIndex of the first unicode character that matches the query.AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
circleIdA circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
contactGroupIdA contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
metadataThe metadata field can be used to determine which container generated the membership. For example, when the membership has a contact_group_id, the metadata.container will be CONTACT and the container_id will be the contact Id.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThe membership has a contact_group_id, this field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
metadataAppsPeopleOzExternalMergedpeopleapiMissionAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiMissionString
displayNameRead-only. A name synthesized based on `unstructured_name` and the structured name fields. Example: “John Smith” If a language code is passed in the side channel using http://cs/symbol:framework.rpc.DeprecatedPropagatedLanguageCode.value or http://cs/symbol:google.rpc.context.OriginContext.accept_language and the name does not have `honorific_prefix`, `middle_name`, or `honorific_suffix` set, the language code will be used to format `display_name`. If `include_account_locale` is set on the `MergePersonSourceOptions` and a language code is not passed in the side channel. The language code from go/uls will be used as the language code for formatting `display_name`.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameLastFirstRead-only. A name synthesized based on `unstructured_name` and the structured name fields with the last name first. Example: “Smith, John”AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameSourceRead-only. The source of the display name.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoDisplayNameSource
familyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
formattedNameDEPRECATED(b/70571931). Use `unstructured_name` instead.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
givenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
middleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
pronunciationsThis field is stored in contact annotations and merged at read-time. It is available with CONTACT_ANNOTATION container type at read time.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoPronunciations
shortDisplayNameNOTE: this is currently NOT IMPLEMENTED due to changed priorities. Clients usually rely on “first name” instead, when a short name is needed. Read-only. A possibly shorter version of the user’s name. – The purpose of this field is to address the needs of UIs where a full display name might be too large to fit. Instead of relying on `first_name`, which might not be present, `short_display_name` is preferred. – This is only available for PROFILE and DOMAIN_PROFILE container types. – About the actual content in this field: will be the first name when it’s visible to the requester, or the same as `display_name`, otherwise. A sample scenario where the first name may not be visible is when the limited profile is returned. For more info, see: http://shortn/_9iV7TJ33laAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
unstructuredNameThe free form name value. For contact mutates it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFamilyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFullNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiGivenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiMiddleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namePronunciationAudioMetadataActual metadata proto, shared with FBS backends.AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.SocialGraphApiProtoNamePronunciationAudioMetadata
metadataAppsPeopleOzExternalMergedpeopleapiNicknameAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiNicknameString
valueAppsPeopleOzExternalMergedpeopleapiNicknameString
metadataAppsPeopleOzExternalMergedpeopleapiOccupationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiOccupationString
openNowIs this place open right now? Always present unless we lack time-of-day or timezone data for these opening hours.AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.boolean
periodsAppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.list(AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod)
weekdayTextsLocalized strings describing the opening hours of this place, one string for each day of the week. Will be empty if the hours are unknown or could not be converted to localized text. Example: “Sun: 18:00-06:00”AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.list(String)
dayA day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is Monday, etc.AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointinteger
timeA time in 24-hour “hhmm” format (i.e. range is 0000 to 2359).AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointString
closeAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
openAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
assignmentAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment)
certificationAppsPeopleOzExternalMergedpeopleapiOrganizationString
costCenterAppsPeopleOzExternalMergedpeopleapiOrganizationString
currentAppsPeopleOzExternalMergedpeopleapiOrganizationboolean
departmentAppsPeopleOzExternalMergedpeopleapiOrganizationString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationString
domainAppsPeopleOzExternalMergedpeopleapiOrganizationString
endCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via end_ms and migrate to setting both so they can be removed from the whitelist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
endMsClients are encouraged to read the end_calendar_day instead. PeopleApi writes will still use end_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
endMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
formattedStringTypeThe `string_type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOrganizationString
fteMilliPercentAppsPeopleOzExternalMergedpeopleapiOrganizationinteger
importanceAppsPeopleOzExternalMergedpeopleapiOrganizationnumber
locationAppsPeopleOzExternalMergedpeopleapiOrganizationString
metadataAppsPeopleOzExternalMergedpeopleapiOrganizationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
nameAppsPeopleOzExternalMergedpeopleapiOrganizationString
projectAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationProject)
startCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via start_ms and migrate to setting both so they can be removed from the allowlist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
startMsClients are encouraged to read the start_calendar_day instead. PeopleApi writes will still use start_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
startMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
stringTypeThe type of the organization. The type can be free form or one of these predefined values: * `work` * `school`AppsPeopleOzExternalMergedpeopleapiOrganizationString
symbolAppsPeopleOzExternalMergedpeopleapiOrganizationString
titleAppsPeopleOzExternalMergedpeopleapiOrganizationString
typeAppsPeopleOzExternalMergedpeopleapiOrganizationString
yomiNameAppsPeopleOzExternalMergedpeopleapiOrganizationString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
roleAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
typeMapped from StandardProjectTag / CustomProjectTagAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
metadataAppsPeopleOzExternalMergedpeopleapiOtherKeywordAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
typeThe type of the event. The type depends on the `OtherKeyword.source`. `OUTLOOK` source fields must be one of: * `billing_information` * `directory_server` * `keyword` * `mileage` * `sensitivity` * `user` * `subject` All other fields are treated as a `CUSTOM` source field. The value can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
valueAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
relationSee go/relation-vs-relationship for relation vs relationship explanation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelation)
photoSee go/people-api-concepts/photos for usage detailsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhoto)
organizationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOrganization)
missionAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMission)
customSchemaFieldAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCustomSchemaField)
coverPhotoDEPRECATED. Now always returns a default cover photo. See go/sunset-cover-photo.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCoverPhoto)
linkedPersonOther person resources linked indirectly by an edge. The full person or just the IDs may be populated depending on request parameters. We consider linked people distinct people, but they share information. Example: A contact with two outgoing edges. The two edges are considered separate, but linked people.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
nameSee go/people-api-howto:names for details about names in PeopleAPI.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiName)
sortKeysAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiSortKeys
sipAddressSipAddress is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSipAddress)
inAppReachabilityUsed only by profile service, deprecated for PeopleAPI and Sharpen. If you aren’t sure, contact people-api-users@ and profile-service-eng@.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppReachability)
calendarb/145671020: Deprecated for Profiles, but not for Contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCalendar)
socialConnectionNOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context. Please reach out to people-api-eng@ if you have questions.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSocialConnection)
plusPageInfoDEPRECATED. Info about plus pages in the person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlusPageInfo)
externalIdAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiExternalId)
mapsProfileMapsProfile, see go/product-profiles-backend-apiAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMapsProfile)
taglineOnly supported for PLACE container results, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiTagline)
interactionSettingsDEPRECATED. This field isn’t populated in people.list.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInteractionSettings)
peopleInCommonDEPRECATED. This feature was stubbed, but never implemented. This field will not be populated with any results.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
connectionReminderReminder to connect with a Contact (part of go/people-prompts). Also contains contact-level prompts settings. Each Contact can have a single `connection_reminder` (but can have multiple Prompts inside of it). Field is repeated per PeopleAPI data model go/people-api-concepts#repeated. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiConnectionReminder)
limitedProfileSettingsSettings for the limited profile. See go/limited-profiles-api.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField)
metadataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonMetadata
birthdayAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBirthday)
emailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmail)
otherKeywordLegacy arbitrary key value fieldsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOtherKeyword)
inAppNotificationTargetWays to send in-app notifications to this person. See go/reachability. This field is read-only and ignored for mutates.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget)
placeDetailsData specific to places. Data which also applies to contacts and profiles such as name, phone, photo, etc. are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlaceDetails)
rightOfPublicityStateAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState)
imAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiIm)
legacyFieldsDEPRECATED. This field was only for backwards compatibility with legacy GData callers, and should not be used by new clients. Legacy fields used for mobile clients.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiLegacyFields
occupationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOccupation)
sshPublicKeyAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSshPublicKey)
namePronunciationAudioMetadataInfoMetadata info for a user’s name pronunciation audio. See go/name-pronunication-backend.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo)
relationshipInterestDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipInterest)
skillsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSkills)
contactPromptSettingsInfoAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo)
profileUrlDEPRECATED. No data is returned for this field anymore. (go/people-api-concepts#repeated): Use person.profile_url_repeated instead. Access to this field is restricted to a set of legacy clients. This is a Google+-only field. See go/fbs-g+-deprecation. NOTE: `Person.profile_url` is only populated for profile-centric person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
managementUpchainAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchain)
contactEditContextInfoContactEditContextInfo is a timestamp and additional metadata (e.g. the source of the edit) for the last ‘human initiated edit’. See also `ContactCreateContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo)
websiteAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiWebsite)
phoneAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhone)
teamsExtendedDataDEPRECATED. *UNSUPPORTED*. This field is never populated.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData
contactCreateContextInfoContactCreateContextInfo has a timestamp timestamp and additional metadata (e.g. the source of the creation) for when the contact was created. See also `ContactEditContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo)
personAttributeIn order to request this field, the client must set desired PersonAttributeKey in the dedicated RequestMask field `person_attribute`. Unlike other person fields, this field cannot be requested in the `include_field` field mask.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPersonAttribute)
locationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLocation)
pronounPronouns are not supported for consumer profiles. See go/pronouns-in-people-system-prd for more details.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPronoun)
ageRangeRepeatedData on the person’s age range, adult status, and age of consent. NOTE: Please read go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAgeRangeType)
posixAccountAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPosixAccount)
languageAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLanguage)
profileUrlRepeatedDEPRECATED. No data is returned for this field anymore. This is a Google+-only field. See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiProfileUrl)
userDefinedUserDefined is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiUserDefined)
eventEvent is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEvent)
rosterDetailsData specific to rosters (such as Google Groups and Chat Rooms). Data which also applies to contacts and profiles such as name, email, and photo, etc are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRosterDetails)
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmergencyInfo)
visibleToGuestsAdd annotation_id and metadata (product_source) for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiVisibleToGuests)
ageRangeDeprecated. If age is needed use `person.age_range_repeated` instead. Please see go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
searchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSearchProfile)
contactStateInfoContact state and related metadata. See go/fbs-contacts-trash. If this field was requested but is not set on the Person then the contact is in the DEFAULT contact state. This field is read-only, and should not be set on a mutate (e.g. UpdatePerson) call. Clients must call the explicit APIs (e.g. UntrashPerson) to change contact state.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactStateInfo)
extendedDataData added by extensions that are not specific to a particular field.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonExtendedData
nicknameAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNickname)
aboutAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAbout)
personIdThe ID of the person. This is determined by the backend, is unstable, and may not be the same as a user_id. Internally referred as ‘personKey’ to distinguish from the common PersonId pojo. See go/people-api-concepts#person-idAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
fileAsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiFileAs)
readOnlyProfileInfoInformation about the profiles that are a part of this Person. This is only applicable to PROFILE and DOMAIN_PROFILE containers.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo)
relationshipStatusDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipStatus)
interestAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInterest)
contactGroupMembershipContact groups that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactGroupMembership)
addressAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAddress)
circleMembershipCircles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCircleMembership)
certifiedBornBeforeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore)
braggingRightsUsed only by contacts, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBraggingRights)
genderAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiGender)
fingerprintA fingerprint that can be used to reliably determine if a resource has changed. Externally it is used as part of the etag.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
membershipDEPRECATED. Please use `circle_membership` or `contact_group_membership` instead. Contact-groups and circles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMembership)
communicationEmailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCommunicationEmail)
clientDataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiClientData)
attributeKeyAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
metadataAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
aboutMeExtendedDataFor use by AboutMe and SmartProfile clients.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData
appsWaldoExtendedDataFor use with Apps Waldo Availability Data extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData
callerIdExtendedDataFor use with caller ID extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData
contactsExtendedDataFor use with Contacts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData
domainNameHosted domain this person is a member of. The domain_name is also returned as part of the person’s ReadOnlyProfileInfo, so requesting it via this extension is no longer necessary.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.list(String)
dynamiteExtendedDataFor use with Dynamite extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData
gpayExtendedDataFor use with Google Pay extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGPayExtendedData
gplusExtendedDataFor use with Google+ extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGplusExtendedData
hangoutsExtendedDataFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData
isPlaceholderFor use with gmail extensions and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
mapsExtendedDataFor use with Maps extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiMapsExtendedData
paisaExtendedDataFor use with Paisa extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData
peopleStackExtendedDataDEPRECATED: Use people_stack_person_extended_data instead. For use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData
peopleStackPersonExtendedDataFor use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData
playGamesExtendedDataFor use with Play Games Product Profile extension. See go/jam-games-profile. The play games profile will be returned only for profile-centric requests.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData
tlsIsPlaceholderFor use with the TLS extension and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless. DEPRECATED: Use is_placeholder instead.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
youtubeExtendedDataFor use with Youtube extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData
aclChoicesWhen the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field indicates which ACLs the user is allowed to set on the profile field. This is distinct from field_acl, which is the field’s currently set ACL. field_acl will always be a valid ACL choice, except for the case of default synthesized profile fields like monogram profile photos. For those, field_acl does not represent a user-set field ACL, so it may or may not be a valid choice. In all cases, default_acl_choice will always be a valid choice. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiFieldAcl)
additionalContainerInfoAdditional information about the container of this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo
affinityFor field-level affinity scores. The affinity between the requester and this particular field in the Person (e.g., frequency of calling a particular phone number).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiAffinity)
contactVisibilityEach field can have different visibility settings Only returned when explicitly requested.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(String)
containerDEPRECATED. Use container_type instead. Having the Container be an enum at the PFM message level causes circular dependency when other types try to refer to it. It breaks javascript build targets.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerIdDEPRECATED. Use encoded_container_id instead. The numeric id of the data source. The id is only unique within a single container type. This is only set when the id of the container is numeric, e.g. contact id.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerPrimaryIndicates if this field is the primary field for the container and container_id.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
containerTypeThe source for the data in the field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
crossDeviceAllowedTrue if this field can be used on other devices than the one it originated from. Assigned by the server. Currently only used for device contacts.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
defaultAclChoiceWhen the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field contains the default ACL choice. This can be used to select a preferred choice from acl_choices. Generally, default_acl_choice should only be preferred for default synthesized profile fields like monogram profile photos. Otherwise, the existing field_acl should be preferred. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
deprecatedContactContainerIdDEPRECATED. Use container_id. Not populated or used at all.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
edgeKeyField is an edge key for this person. Modifying it breaks the link between data sources. This is equivalent to edge_key_info having at least one entry with materialized = true.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
edgeKeyInfoEdges that this field creates. This includes all edges and not necessarily just the edge relevant to the joined entities.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo)
encodedContainerIdThe encoded id of the data source. The id is only unique within a single container type. This field correlates to person.metadata.identity_info.source_id.id. This field may not be populated in some special cases, where the id is not visible to the querying user. e.g. ListAutocompletions with full phone number query. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
fieldAclWhen the container is PROFILE and the profile owner is the requester, this field indicates how the profile field is accessible.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
lastUpdateTimeIndicates the time that the field was added or last edited. Currently this is populated for: (1) person.birthday with ContainerType PROFILE, DOMAIN_PROFILE or ACCOUNT. (2) person.name, person.address, person.relation, person.email and person.phone with ContainerType CONTACT_ANNOTATION;AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personDateTime
matchingInfoThe matching informations if there was a query against this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiMatchInfo)
otherDedupedContainersWhen deduping fields by value, list of containers of the fields that where deduped.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo)
primaryIf true, indicates this field is the Person’s primary field eg. Contact, and (Profile) Person could have different Name fields, and the Name represented by the Person is primary. For selecting a primary field from RepeatedFields within a Person, use container_primary.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
productMetadataThe product(s) that generated the data in this field. Empty is equivalent to DEFAULT. ST_USER_METADATAAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiProductMetadata)
verifiedIndicates whether this is a verified field. It is synthesized from verification and is read-only. If there is at least one verification with status PASSED, the field is considered verified. Currently this is applicable to address, email, name, and phone for PROFILE and DOMAIN_PROFILE. Use .metadata.verified in the request mask.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
visibilityCurrently, only people.get may set this valueAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
writeableWhether the field is writeable to the requester.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
peopleAppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.list(AppsPeopleOzExternalMergedpeopleapiPerson)
totalNumberThe total number of people, which is aways no less than the size of the above list.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.integer
affinityAffinities associated with the person, with respect to the requester.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiAffinity)
attributionPopulated when the data for the MergedPerson comes from a 3rd party provider or data source. Clients must display these attributions to the user if they are present. NOTE: This field is only relevant when requesting the following containers: – PLACE (data read from Maps)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
bestDisplayNameThe best name to use for this person for user-facing display. See go/people-api-howto:names for details about how this field is computed. In many cases this will simply be Person.name[0]. However, Person.name returns only explicit Name fields, but other fields maybe usable as a name (for example: nicknames, file_as, …). `best_display_name` will be calculated from all fields in storage which are usable as a name, even fields which are not explicitly requested in the MergedPerson result. See go/javagoog/apps/tacotown/socialgraph/entity/PersonNameFormatter.javaAppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiBestDisplayName
blockTypeDEPRECATED. Indicates whether the profile owner has blocked this person. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
circleIdDEPRECATED. The circles the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactGroupIdDEPRECATED. Please use `person.contact_group_memberships` instead. The contact groups the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactIdThe IDs of all contacts contributing to this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
customResponseMaskingTypeDEPRECATED. Customized masking of the response similar to the legacy People2RequestMask People2Params request message. NOTE: This param is inherently client-specific, limited to specific legacy clients, and not open to new usage. NOTE: Effects may be applied to a subset of people in the response.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
deletedFor sync requests (i.e., changed since the provided sync_token), indicates the resource is a tombstone for a Person resource that has been entirely deleted.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedBlockedDEPRECATED. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedMembershipCircleIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deprecatedMembershipContactGroupIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deviceContactInfoInfo about the aggregated device contacts. When the person contains RAW_DEVICE_CONTACT containers, each DeviceContactInfo represents a single aggregate device contact made up of one or more raw device contacts.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo)
identityInfoDetailed metadata about the lookup IDs and data sources included in a MergedPerson result.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiIdentityInfo
inViewerDomainDEPRECATED. Indicates whether this person is in the same domain as the viewer. For proxying trust between two users based on organization membership, see: – go/flex-orgs-platform – go/flex-orgs-compliance-handbook (especially http://shortn/_ChwfAY36Ys)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
incomingBlockTypeDEPRECATED. Indicates whether this person is blocking the profile owner. Please use `person.read_only_profile_info.incoming_block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
lastUpdateTimeMicrosDEPRECATED. The last update timestamps for the constituent components of this person are available in `identity_info.source_ids`. The time of the most recent change to this person, in !!!NANOS!!! (due to a bug). May be a change to any of the underlying parts of the person (profile, contact, etc.). Not guaranteed to be the timestamp of the most recent change, due to limitations in the backend. This field is not fully deprecated for backend container-specific storage services like ProfileService which lack identity_info. The use is still discouraged in such systems and they should prefer to use the `last_update_time` field of this message instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
modelThe person model that is used to construct this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerIdDEPRECATED. Please use `person.read_only_profile_info.owner_id` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerUserTypeDEPRECATED. See `person.read_only_profile_info.owner_user_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
plusPageTypeDEPRECATED. Please use `Person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
previousPersonIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
profileOwnerStatsDEPRECATED. Stats/counters pertaining to followers and incoming edges. Please use `person.read_only_profile_info.profile_owner_stats` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
scoringInfoContact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo
userVisibleStatsDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiUserVisibleStats
rawMatchQualityScoreOnly populated on a SearchDirectoryPeople call, when results are scored. Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfofloat
stExpressionResultsOnly populated on a SearchDirectoryPeople call that sends a request with StFieldSpecExpressions. – Used for linking indexed terms with query terms for go/better-name-matching – Name should be alphanumeric or underscores – Value should be an st expression following the syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfolist(AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult)
nameAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
valueAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
canonicalizedFormCanonicalized form that follows ITU-T E.164 international public telecommunication numbering plan.AppsPeopleOzExternalMergedpeopleapiPhoneString
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo
extendedDataRead-only. Field requested by specifying `HANGOUTS_PHONE_DATA` in `extension_set.extension_names`.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiPhoneString
metadataAppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the phone number. The type can be free form or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other`AppsPeopleOzExternalMergedpeopleapiPhoneString
uriAppsPeopleOzExternalMergedpeopleapiPhoneString
valueAppsPeopleOzExternalMergedpeopleapiPhoneString
structuredPhoneFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPhoneExtendedDataAppsPeopleOzExternalMergedpeopleapiStructuredPhone
decorationRead-only. Use UpdatePersonPhoto to change photo decorations. If this photo is decorated, this field contains information about its decorations. For now, this will contain at most one entry.AppsPeopleOzExternalMergedpeopleapiPhotolist(SocialGraphApiProtoDecorationOverlay)
emojiAvatarUrlURL of an emoji avatar as an image. See go/emoji-cdn. PeopleAPI will return the SVG format so that it can be scaled client side and so that the images will not be animated. All clients that use this field must also have fall-back handling for using the `Photo.url` field if this is empty. When we have FIFE-compatible emoji-image URLs we will drop this field and return the Photo.url instead. Clients that have their own go/emoji-rendering integration may prefer to render the emoji-avatar from `Photo.glyph` field using their rendering system so that the emoji version/style match the rest of the application. For further background, see go/chatroom-avatar-as-roster-metadata. This field will only be populated if all of: – The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM – The chat room has an emoji type avatar image setAppsPeopleOzExternalMergedpeopleapiPhotoString
glyphUnicode emoji representation of the chat room emoji avatar. This can be used by clients that use go/emoji-rendering directly so that they can present this with the same version/style as the rest of their application. This value may also be useful to clients as alt-text for the image. This field will only be populated if all of: – The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM – The chat room has an emoji type avatar image setAppsPeopleOzExternalMergedpeopleapiPhotoString
htmlAttributionA set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirementsAppsPeopleOzExternalMergedpeopleapiPhotolist(String)
isDefaultTrue when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
isMonogramIndicates if the photo is a monogram avatar. Combined with is_default, the type of photo can be determined by: is_default=true, is_monogram=true: Default monogram avatar. is_default=true, is_monogram=false: Default silhouette avatar. is_default=false: Custom photo. is_monogram is irrelevant in this case.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
metadataAppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
monogramBackgroundWhen is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string “RRGGBB”.AppsPeopleOzExternalMergedpeopleapiPhotoString
originalPhotoRead-only. A reference to the original, undecorated profile photo in storage. This field is not stored. It is populated by a live read to /SocialGraphImageService.GetActiveProfilePhoto. This field is only returned when “person.photo.original_photo” is specified in the request mask.AppsPeopleOzExternalMergedpeopleapiPhotoSocialGraphApiProtoImageReference
photoIdFor writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet).AppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId
photoTokenMost clients don’t need to worry about this field and should just use the `url` to fetch the photo. See go/phototoken-migration-plan for some more context about this field. If you think you want to use this please talk with people-api-eng@ first.AppsPeopleOzExternalMergedpeopleapiPhotoString
urlSee go/people-api-concepts/photos for info on the different representations of URLs.AppsPeopleOzExternalMergedpeopleapiPhotoString
viewerUrlA URL for a UI to view the photo in its original context. For example, for a place photo, this is the url of a Google Maps page displaying the photo. Supported for place photos only.AppsPeopleOzExternalMergedpeopleapiPhotoString
mediaKeyFor writes only, pass the media key that represents the image in photos backend. Note, this is not populated on reads.AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageIdInfo necessary for looking up a photo in storage.String
googleUrlA URL hosted by Google providing more information about this place This is the URL returned by Places API in the Place.Url.google fieldAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
latLngAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiLatLng
metadataAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
openingHoursAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiOpeningHours
primaryTypeNameThe name of the primary type. Examples of primary type are: “art_school”, “clothing_wholesaler”, etc. All primary types can be found at http://shortn/_veqh6UwWdcAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
achievementsUser’s top achievements that are sorted for example by rarity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.list(AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement)
avatarImageUrlThe avatar image to display for the user.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
gamerTagThe gamer tag set by the user. Not set if the user hasn’t set a gamer tag yet.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
playerLevelUser’s level.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.integer
profileVisibilitySpecifies the visibility of the player’s profile.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalFriendsCountTotal number of friends.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalUnlockedAchievementsHow many achievements this player has unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
achievementNameThe name of the achievement.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
achievementUnlockedIconUrlThe achievement icon url shown to the user if it is unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
rarityPercentageRarity of unlocking this achievement (3% of players unlocked would be 3)AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.number
applicationIdInt64 ID of packaging-service entry; if set, the plus page is associated with a third-party application.AppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
entityTypeAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
metadataAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
boundsAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostoreRectProto
pointAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostorePointProto
pointSourceAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.String
accountIdThe user visible value is used to distinguish identical posix account fields with different customer key values.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
accountNamespaceValue indicates the uniqueness namespace that applies to the POSIX information. The value is included in all POSIX account uniqueness indices. The indexing prevents two accounts within the same customer from having the same username. Namespacing allows Windows and Linux users to share the same username.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
accountTypeValue indicates whether the POSIX information is associated with a non-human entity and the validation logic to apply during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
customerKeyThe customer associated with the POSIX identity. If the user is already associated with a G Suite Customer, this field has the same value as http://google3/ccc/hosted/policies/settings/dthree_customer_info.protoAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
fingerprintThe value is automatically set to a SHA-256 fingerprint of the POSIX account. A fingerprint should uniquely identify a POSIX account entry.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
gecosThe GECOS (user information) entry for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
gidThe default group ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
homeDirectoryThe path to the home directory for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
metadataAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
operatingSystemTypeValue indicates whether to use Linux or Windows specific validation logic during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
shellThe path to the login shell for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
systemIdSystem identifier for which account Username or Uid apply to. If not specified on mutate by a caller it will default to empty value if either Username or Uid are being set. SystemId does require to have a value (even an empty one) because it is included into null-filtered Spanner index used to enforce uniqueness on Username and Uid fields.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
uidThe user ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
usernameThe username of the account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
productSourceAppsPeopleOzExternalMergedpeopleapiProductMetadataString
failureTypeAppsPeopleOzExternalMergedpeopleapiProductProfileFailureProduct profiles failure type: the status of the rpc to fetch the product profile.String
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountDeprecated. This field is no longer populated by the server.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
urlAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.String
metadataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pronounDataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.SocialGraphApiProtoPronounData
dataSetThe data set within the account that this raw contact belongs to.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoString
dirtyThe CP2 dirty field which indicates the sync state of the raw contact: https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY True if the row is changed but not syncedAppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
sourceIdExistWhether the source ID exists for non-Google contacts. Won’t set for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
syncInfoThe Sync Info of a raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoSocialGraphApiProtoSyncInfo
accountNameAccount name of raw contact, e.g. “[email protected]”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
appContactDataThe detailed app-specific endpoint data available for the given RawDeviceContactInfo instance. This proto should be used to obtain the list of actions and mimetypes supported by the third-party app. Design: go/3p-contact-uploadAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.list(SocialGraphApiAppContactData)
appInfoThe app-specific endpoint data needed for app action fulfillment. Usage of this field should be avoided on the server-side, and should use the more detailed |full_app_info| field.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo
crossDeviceAllowedIf true, this raw contact can be used on other devices than the one it originated from. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.boolean
deviceContactMetadataExtra metadata for this raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
googleContactIdThe focus contact id for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
idThe base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId. This id should be used to correlate to field.metadata.encoded_container_id when the field.metadata.container_type is RAW_DEVICE_CONTACT The id also correlates to person.metadata.identity_info.source_id.id. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
photoTypeThe type of photo from the device (if any).AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawContactIdThe id of the raw contact on the device.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawDeviceContactAnalyticalInfoOnly to be used by Romanesco team specifically for analytics.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo
accountEmailThe account email linked to the profile, if any exists and is visible to the requester.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiAccountEmail
blockTypeIndicates whether the profile owner has blocked this person.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
customerInfoCustomerInfo for dasher user. The reader has to explicitly request this in the field_mask as ‘read_only_profile_info.customer_info’AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiCustomerInfo
domainInfoDEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field instead (b/138120418). Only populated if in_viewer_domain is true.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo
inViewerDomainDEPRECATED. Proxying trust between users in a domain should use go/flex-orgs-platform. For more info see: http://doc/18i0-C7vWcz2UuXYBsmulnriVCK3_EuMPpRlPa2OmMHw#heading=h.dobotdwx25kg Indicates whether the profile owner is in the same domain as the viewer.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).boolean
incomingBlockTypeIndicates whether this person is blocking the profile owner.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
metadataAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
ownerIdThe Focus-obfuscated Gaia ID of the profile owner (go/obfuscated-ids).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
ownerUserTypeAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
plusPageTypeDEPRECATED. Please use `person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
profileOwnerStatsStats/counters pertaining to followers and incoming edges.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
unjoinedEmailCertificatesReturned only when explicitly requested in the request mask as read_only_profile_info.unjoined_email_certificates. Equivalent to fetching the Emails & the Email Certificates with the acls ignored.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(AppsPeopleOzExternalMergedpeopleapiEmail)
domainBadgeDEPRECATED. Organization badge for the domain this person is a member of. The badge is the primary hosted domain.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
domainNameDEPRECATED. Hosted domain this person is a member of. Formerly only available via PersonExtendedData.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
canonicalValueCanonicalized `value` of the relation from this person to the user. This is currently used for data from contact annotations. Possible canonical values are based from http://google3/googledata/quality/aliases/relationship_en.config.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relationDetailsThe person whose email matches the Relation.value field, if it is a valid email address. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails
typeThe relation type. The type can be free form or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner`AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
valueThe person this relation applies to. Custom value provided by the user.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
displayNameEquivalent to Name.display_name for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
jobTitleEquivalent to Organization.title for the primary organization of the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
personIdAppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
photoUrlEquivalent to Photo.url for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThese fields may give away the sexual orientation of the user.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
stateAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.String
abridgedRosterMembershipsAbridged / sample subset of member details of the roster. NOTE: This field is only returned if the request’s field mask includes “person.roster_details.abridged_roster_memberships”. http://cs/symbol:google.apps.cloudidentity.groups.internal.GroupSummary.abridged_membershipsAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.list(AppsPeopleOzExternalMergedpeopleapiRosterMember)
metadataAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
rosterMemberCountIndicates the number of members and sub-rosters of the roster. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.direct_member_count_per_typeAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiRosterMemberCount
memberTypeType of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
personIdFocus-Obfuscated Gaia Id of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
directGroupCountIndicates the number of direct sub-rosters of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.group_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
directUserCountIndicates the number of direct, non-roster members of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.user_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
metadataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
searchProfileDataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeSocialGraphApiProtoSearchProfileData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the SIP address. The type can be free form or or one of these predefined values: * `home` * `work` * `mobile` * `other`AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
valueAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSkillsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiSkillsString
metadataAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.list(String)
affinityAppsPeopleOzExternalMergedpeopleapiSortKeyslist(AppsPeopleOzExternalMergedpeopleapiAffinity)
interactionRankDeprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field.AppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameAppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameRawAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameRawRaw name strings that were used to generate the name and last_name sort keys fields above. Contacts+ need them to generate section headers for list view (b/30642866).AppsPeopleOzExternalMergedpeopleapiSortKeysString
containerThe type of source. To be deprecated infavor of container_typeAppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
containerTypeThe type of the source.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
deletedIn sync responses, indicates whether the identity source has been deleted. Not applicable to GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.boolean
idThe encoded id of the data source. This field correlates to PersonFieldMetadata.encoded_container_id. The possible values of this `id` field are as follows based on the value of the `container_type` field: CONTACT: Hex-encoded contact id. PROFILE: DOMAIN_PROFILE: GOOGLE_GROUP: NAMED_CHAT_ROOM: Focus-obfuscated Gaia ID. DOMAIN_CONTACT: Synthetic-contact id representing the domain shared contact. PLACE: Encoded PlaceId (go/javagoog/maps/api/places/util/PlaceIdEncoder.java) RAW_DEVICE_CONTACT: Pair of device_id and raw_contact_id, encoded as base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId proto. CONTACT_ANNOTATION: Pair of annotation_id and event_timestamp, encoded as base64 serialized social.graph.peopleapi.proto.internal.ContactAnnotationId proto. — DEPRECATED container types — If the container is CIRCLE, then the id is going to be the synthetic- contact id representing the email-only circle member or gaia circle member for which the requester does not have a contact for.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
lastUpdatedLast update timestamp of this source. NOTE: Only populated for CONTACT container type in Java PeopleAPI. Populated for CONTACT, PROFILE, DOMAIN_PROFILE in Sharpen implementation. NOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.DateTime
lastUpdatedMicros**DEPRECATED** Please use `last_updated` field instead. Last update timestamp of this source in microseconds. NOTE: Only populated for CONTACT container type.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
sourceEtagNOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
expirationTimeAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.DateTime
fingerprintThe value is automatically set to a SHA-256 fingerprint of an SSH public key. A fingerprint should uniquely identify an SSH public key.AppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
keyAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
metadataAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
formattedTypeThe phone formatted type. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=128&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
phoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber
shortCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode
typeThe type of phone. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=125&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
e164AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberString
i18nDataAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDatainteger
internationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
isValidAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataboolean
nationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
regionCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
validationResultAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
codeThe phone code. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=70&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
metadataAppsPeopleOzExternalMergedpeopleapiTaglineAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiTaglineString
adminToAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
adminsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineManagersAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineReportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
failuresAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(String)
managementChainAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
reportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
keyAppsPeopleOzExternalMergedpeopleapiUserDefinedString
metadataAppsPeopleOzExternalMergedpeopleapiUserDefinedAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiUserDefinedString
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountAppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiVisibleToGuestsStore metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
isIncompleteUsed by Contacts client-side to indicate whether a person is not completed.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedDataboolean
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiWebsiteString
metadataAppsPeopleOzExternalMergedpeopleapiWebsiteAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relCurrently in Oz: “Links”: Links with no rel. “Other profiles”: Links with rel=ME. “Contributor to”: Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO.AppsPeopleOzExternalMergedpeopleapiWebsitelist(AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo)
typeThe type of the website. The type can be free form or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other`AppsPeopleOzExternalMergedpeopleapiWebsiteString
valueAppsPeopleOzExternalMergedpeopleapiWebsiteString
typeAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfoString
channelDataInformation about a channel created by the user. A user can create multiple Youtube channels.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.list(AppsPeopleOzExternalMergedpeopleapiChannelData)
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
expressUrlInSettingsResponseSupportedThis flag is used to work around a bug in AGSA 6.8 that got away. The bug prevents users from accessing their shopping list if the URL of the shopping list is not a keep.google.com URL. This will happen when switch the backend that stores the shopping list from Keep to a backend maintained by the Google Shopping Express team.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
reconnectClientInputSupportedWhether client supports reconnect client input in action v2 payload. This capability is needed to determine if client supports parsing client input payload from actionv2 proto for workflow purposes. See go/personal-workflow. OWNER:nyzstar,vvvemuri.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
simpleActionV2PuntSupportedWhether or not the surface supports a simple UnsupportedAction instead of a ModalState punt card for rendering. For ActionV2 punt cards, the ModalState extension on the ResourceSet is the canonical way of building punt cards. However, while most all devices support the ActionV2 protocol, not all devices handle the ModalState rendering as part of the ActionV2. For these devices, we want to build a modified ActionV2 for punt cards which omits this ModalState. At present, this is only Android Wear and should not be used for other devices if they support ModalState or Conversation protocol.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
supportedActionTypeA list of all the action types supported by the client. These should be the string representation of majel.ActionTypes within “quality/majel/api/proto/action_v2.proto”.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.list(String)
takeScreenshotSupportedChecks if screenshots can be taken on the client. This field is set on the client from AGSA 7.2 onwards.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightImmersiveUiSupportedIf IMMERSIVE_ACTIONS UiType is supported by the client.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightStickersSupportedIf Voice Delight Stickers are supported by the client. In order to support Voice Delight stickers, the client should know how to extract sticker_url from VoiceDelightSystemInteractionSegment.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightSuggestionsSupportedIf Voice Delight Suggestion Chips are supported by the client. In order to support Voice Delight Suggestion Chips, the client should know how to extract suggestions form VoiceDelightSystemInteraction.ResourceSet.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
androidIntentCapabilityAssistantApiAndroidIntentCapabilitiesCapabilities related to Android intent support. These capabilities can apply to any device on the Android platform. Provides the list of Android package names that support a given Android intent.list(AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability)
intentActionNameThe Action name of the Android Intent in standard notation (https://developer.android.com/reference/android/content/Intent#getAction()).AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilityString
packageNamesThe Android provider packages that support the intent, e.g. “com.google.android.deskclock”.AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilitylist(String)
allowlistedForMediaFulfillmentIndicates whether the provider is compatible for media fulfillment on this surface. For example, Amazon Music isn’t compatible with the driving mode.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
disabledSystemAppThis system app is disabled in settings.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
providerThe installed app of the provider.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProvider
routableToProviderCloudThis provider has integrated its cloud backend with Google, and Google can route the user queries to the provider’s cloud.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnDeviceThis provider has an app that supports on-device search through the provider’s own inventory.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnServerThis provider has integrated its content with Google, and Google has enabled to serve its content as a server-side solution.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supports3pPodcastPlaybackIndicates whether the provider supports playback of 3P(externally hosted) podcasts.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supportsScreenlessInitiationThis provider has an app that supports starting new media playback when there is no screen (e.g. by integrating with the Bisto SDK).AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
whitelistedForAnnotationThis provider is an app which should be used for query annotations. This is useful for apps which may not be already indexed by Google or are client specific.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
providerDeltaThe installed app of the provider.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProviderDelta
enabledAssistantApiAppControlSupportString
sendMessageSuppressedIf true, disable send message AppControl/SD flow. This is needed to suppress the feature for specific device. If we decide to turn down this feature for all devices, then this field will become obsolete and should be removed. See context in b/275727627.AssistantApiAppControlSupportboolean
handleRequestsWithPredictedAppsWhether to enable Assistant to handle request with predicted apps.AssistantApiAppIntegrationsSettingsContains the app privacy bits used for App Integrations implicit request. (go/app-privacy-settings-for-implicit-requests)String
plateSupportIndicates in what cases assistant continued presence can be shown as a plate. This field is white-listed as being PII-free. Please do not add PII here.AssistantApiAssistantContinuedPresenceSupportString
environmentAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
qualityAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
alwaysOnSpeakerAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
environmentAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
mediaTtsMixableAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
qualityAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
volumePropertiesAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.AssistantApiVolumeProperties
isBluetoothConnectedProfileRequiredIf this surface needs to bluetooth pair a phone before using a feature.AssistantApiBluetoothCapabilitiesBluetooth capabilities related to usage of a feature.boolean
callFormatsThe supported call formats on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callMediumsThe supported call mediums on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callOptionsThe call options this surface can provide. For example, SPEAKERPHONE is available on Android OPA while iOPA doesn’t support it yet.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
supportsDuoEmailEndpointAssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
faceMatchCapableWhether the device supports Face Match.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasCameraWhether the device has a camera.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasLimitedCameraStreamCapabilityWhether the device has limited camera stream capability. If true, check supported_camera_receivers for detailed supported cameras.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.boolean
supportedCameraReceiversThe camera receiver cast apps the device supports. Only used if has_limited_camera_stream_capability is true.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.list(AssistantApiCoreTypesCastAppInfo)
shouldPuntMultiAssistantModeIndicates whether the current Assistant should provide a multi Assistant specific punt when there are multiple Auto specific Google Assistants (Android Auto Projected (AAP) and Android Auto Embedded (AAE)) in the same GAS enabled car. This will be used by both AAP and AAE. Design doc: go/doubledash++AssistantApiCarAssistantCapabilitiesCapabilities that are associated with Assistants on auto surfaces. This is different from other capabilities such as CarSettingsCapabilities, CloudCarCapabilities since they are specific to settings and 3P cloud information. All the auto/car Assistant specific capabilities should live here.boolean
playWarmerWelcomeIf true, it indicates that the auto surface client should receive a warmer welcome TTS for signed-out users. For signed-in user, we will rely on server side metadata. go/aaae:preview-langAssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
supportsAddingCarsIf true, it indicates that the client can be used to add cars after account linking with the OEM.AssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
castLinkingStatusCast linking status for ATV surfaces. This is derived from error messages returned from Cast Orchestration Server and will be used for data profiling only(go/katniss-settings-dashboard).AssistantApiCastAssistantSettingLinkingResultString
truncatedErrorMsgThe error msg returned from COS, truncated in case it’s too large.AssistantApiCastAssistantSettingLinkingResultString
cameraReceiverCapabilitiesWhether the device has limited camera stream capability and if yes, which receivers are supported.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCameraReceiverCapabilities
cameraStreamSupportedProtocolsThe supported protocols for camera streaming. The value is used as string in go/smarthome-internal-api#camera-stream, so using a string for this field instead of an enum. Supported protocols: (align the definition in go/smarthome-camerastream-trait) – “hls”: HTTP Live Streaming – “dash”: Dynamic Adaptive Streaming over HTTP – “smooth_stream”: Smooth Streaming – “progressive_mp4”: Progressive MP4 (will likely only be used for Clips) – “webrtc”: WebRTC (currently, only H.264 is supported) – “nexustalk”: Internal-only protocol used for NestAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9list(String)
canReceiveCastTrue if we can cast things to this device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
deviceIdOptional for primarily cast devices (e.g., Chirp, Chromecast). For devices that are NOT primarily cast devices, but having a cast receiver as secondary functionality, this field SHOULD store the cast-device-id to be used to send remote casting commands to the device. Example: Android TV, which supports both Android-native actions as well as remote casting using its built-in cast receiver. Android TV device id contains a DUSI id, which is not a cast-device-id. When executing a cast command on the Android TV, this field is used to route the cast command (through CloudCastService) to the cast receiver on the device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCoreTypesDeviceId
dynamicGroupsSupportedWhether this device supports dynamic groups or not. It implies if a Stream Control operation (transfer, expansion, and contraction) could be applied on this device since Stream Control is implemented as part of dynamic groups (ie, adding/removing devices from playback)AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
groupTypeAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9String
overlayApplicationsSupportedWhether UI overlay applications are supported on this device. It’s used by Chromecast only.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
yetiGamingSupportedWhether the device supports playing games through Yeti. This is set by the cast device when the device is updated: Chromecast updates -> Chromecast registers its capabilities with CCS -> CCS passes the capabilities to the AssistantSettingsService -> AssistantSettingsService stores the device’s capabilities. go/yeti-gaming-supported-cast-capabilityAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
skipAndroidAndGsaVersionCheckAdditional specific setting capabilities. This boolean is used to indicate whether we want to skip the Android and GSA version check in CheckSettingSchemaAndMaybeGetUris() from assistant/vertical/device/fulfillment/utils/setting_utils.h. Consider setting this field to true if your device is neither Android or GSA (especially when the UserAgent string of your device’s TaskRequest will not contain a valid/up-to-date Android/GSA version).AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportedSettingsUses DeviceSetting enum which corresponds to setting_id. This indicates which specific settings are supported by client. An empty list implies all settings are supported.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.list(String)
supportsDoNotDisturbWithDurationAdditional specific setting capabilities. This boolean is used to indicate if do not disturb with duration is supported through device.MODIFY_SETTING clientop on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportsMuteUnmuteAdditional specific setting capabilities. This boolean is used to indicate if new unmute logic is enabled on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
keepsConversationAliveAfterOpeningAppWhether conversation is kept alive after opening the app. See go/keep-opa-conversation-alive for details.AssistantApiClientOpPropertiesProviderOpenClientOpPropertyThe properties of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp proto with the key provider.OPEN.boolean
maxSupportedAlarmsMaximum number of alarms that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimerDurationMaximum duration of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
preferredStopwatchProviderThe preferred provider to use for stopwatch related functionality.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiCoreTypesProvider
restrictAlarmsToNext24hWhether the client restricts alarms to ring within the next 24 hours.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).boolean
fluidActionsUiTypeAssistantApiCommunicationUiCapabilitiesUI capabilities for the surfaces rendering Comms features. See go/rohan-comms-fluid-actions-customization.String
fallbackToTetheredDeviceIf true, contact.LOOKUP should be routed to the tethered device (if present) if the tethered device supports contact.LOOKUP and the primary device does not.AssistantApiContactLookupCapabilitiesboolean
accountTypeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activityInfoAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17AssistantApiCoreTypesAndroidAppInfoActivityInfo
androidIntentIntent associated with the app. We include intents here as different versions of the same app may support different intents. In those cases, the package_name is not enough to identify the app and we should use the combination of package_name and android_intent. This field might contain sensitive data, if represents ClientOp with encapsulated PII such as user query.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appVersionThe android app version. Deprecated because https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCodeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17integer
dataMimetypedata_mimetype and account_type are the what AGSA uses to filter which contacts support this Android app in ContactProvider.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
isBroadcastIntentIf true, client should broadcast the intent instead of open the intent.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
isDefaultApp is the default app for it’s core functionality. For example, it will be true for Android messages if it is the default app to send and receive SMS on the phone.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
localizedAppNameThe localized app name.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
longVersionCodeThe long android app version.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
packageNameThe android app package of the provider, like “com.spotify.music”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
providerTypeThe OemProviderType is specific for OEM system Android apps. For example, in Auto Embedded, the OEM will have a system Radio/Media app. The system app’s capabilities/core functionalities are captured here. For physical media sources, the OEM may decide to implement one media app (thus, one package name) that handles multiple physical media sources. For these cases, each physical media source will be sent as different providers even though the package name is the same.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
shortcutIdId of the app’s Android shortcut to be launched by Assistant. The client is expected to use the Android LauncherApps API to execute this shortcut which in turn will open the app. For example, Whatsapp may create an Android shortcut for a frequently messaged contact with an id “contact_123”. This field will contain that id and the client can execute it to open up the chat with that particular contact. If this field is set, the package_name field must also be set since both will be used by the LauncherApps API for execution. If this field is set, the intent related fields will be ignored and not used as a fallback. Design: go/shortcut-id-in-provider-open-clientop This field should only be set for devices with Android API level >= 25 (since that is the version from which the LauncherApps startShortcut API is available)AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
targetClassThe fully qualified target class name of the provider, like “com.example.myapp.GetOrderService”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
versionNameThe android app version name, like “4.1.091.05.40d”, “11.2.7.21.alpha”. Android Docs: https://developer.android.com/reference/android/content/pm/PackageInfo#versionNameAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activeLaunchableActivitiesActivities that are currently active and tagged as ACTION_MAIN and CATEGORY_LAUNCHER. Includes the activity corresponding to android_intent if it falls under CATEGORY_LAUNCHER.AssistantApiCoreTypesAndroidAppInfoActivityInfoGeneral information about activities in the app.list(AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity)
localizedActivityNameThe localized user visible activity name.AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
shortClassNameShort class name for activity, following https://developer.android.com/reference/android/content/ComponentName#getShortClassName()AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
androidAppInfoThe android app information of the provider. Like, Spotify.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.AssistantApiCoreTypesAndroidAppInfo
lastUpdateTimestampThe client-side timestamp in millis when the app is last updated, installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.DateTime
updateTypeApp is installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.String
attendeesAttendees invited to the event, usually includes also the organizer.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventAttendee)
backgroundColorThe background color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
calendarIdOptional calendar containing the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
creatorThe person who created this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
descriptionOptional description of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
endThe end time of the event. Start and end time must either both be date or both be datetime. End is exclusive, ie. the first day / first second when the event is over.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
eventIdOptional event id provided by assistant server. Needs to be unique, at least on a per-user and calendar level, ideally globally unique. If none is given, the server will assign an id.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
flairNameThe flair name, calculated according to the event title (go/as-cal-flair). With the flair name, background images can be got from gstatic (go/scs): https://ssl.gstatic.com/tmly/f8944938hffheth4ew890ht4i8/flairs/AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
foregroundColorThe foreground color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
guestsCanInviteOthersWhether the guests can invite other guests.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanModifyWhether the guests can modify the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanSeeGuestsWhether the guests of the event can be seen. If false, the user is reported as the only attendee to the event, even though there may be more attendees.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
habitIdOptional id of the Habit (Calendar Goal) this event is linked toAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
habitStatusOptional status for this habit event instance.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
htmlLinkAbsolute link to this event in the Calendar web UI.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
locationOptional location of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
meetingContactsAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventMeetingContact)
organizerThe organizer of this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
otherAttendeesExcludedWhether not all attendees are included in the attendee list. This is set when the attendees list has been truncated (e.g., when the number of attendees is beyond the maxAttendees limitation).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
participationResponseThe user’s response (the owner of this copy of the event) to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
recurringEventIdIf this is an instance of a recurring event, recurring_event_id identifies the recurring series as a whole.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
roomsMeeting rooms associated to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventRoom)
startThe start time of the event. This event is an all-day event if start has no time_of_day.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
summaryThe title of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
visibilityOptional visibility of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
displayNameDisplay name, present only if available.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
emailEmail address of the attendee (calendar), for regular events. For +Events, this field is not populated, instead “id” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
givenNameGiven (first) name, present only if available. This is used for generating meeting titles as given name is preferred over display (full) name (ie: “Jeff : Sundar” is better than “Jeff Dean : Sundar Pichai”).AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
idProfile ID of the principal, for +Events. For regular events, this field is not populated, instead “email” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
organizerIs this the organizer?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
responseStatusAttendees response status.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
selfIs this the owner of this copy of the event?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
conferenceIdID that corresponds to in ConferenceData.conference_id in calendar.common.ConferenceData proto. For Meet, this is the identifier used to join a meeting via URL.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
dialInNumberClassesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10list(String)
phoneNumberUriDefault meeting phone number, for example: “tel:+1-475-777-1840”AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
pinNumberA PIN that the participant will need to input after dialing in the conference.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
providerProvider info for the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10AssistantApiCoreTypesProvider
regionCodeThe region code for the default meeting phone numberAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
sourceAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
universalPinNumberThe universal meeting PIN number for phone numbers in all available countriesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
urlURL that can be used to join the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
emailRoom email that identifies the room and is used to book it.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
locationDetailsAdditional room details. Read-only, populated on request.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails
nameRoom name (ex: “MTV-PR55-5-A-Shadow 5K0 (13) GVC (No external guests)”).AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
buildingBuilding where the room is (ex: “PR55”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
cityCity where the room is (ex: “MTV”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
floorFloor where the room is (ex: “5”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
latitudeThe latitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
longitudeThe longitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
sectionSection in the floor (ex: “A”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
simpleNameRoom name (ex: “Shadow 5K0”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
castAppIdThe cast app id. |cast_app_id| is the ID of the cast app used on the current device and |content_app_id| is the ID of the app that provides the actual content. For example, in a group playback, on a follower device, the |cast_app_id| is the follower cast app ID and the |content_app_id| is the leader cast app ID.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
contentAppIdThe id of the cast app that provides the content in a group. The field will always be filled. In the case of a group playback and the current device is a follower, the |cast_app_id| has the ID of the follower app, and |content_app_id| has ID of the actual content app. In all other cases, |content_app_id| and |cast_app_id| will be the same.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
localizedAppNameThe localized app name.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a ChromeOS app of the provider.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
agentStyleAssistantApiCoreTypesCloudProviderInfoThe third party provider information.AssistantApiCoreTypesCloudProviderInfoAgentStyle
directoryUrlURL to a directory page about the third party agent in Assistant HQ. This is a universal (https) URL that may be handled natively by clients to show HQ or launch to the HQ directory web page.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
logoUrlThe logo url for the third party provider.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
nameThe user visible name of the cloud provider, which may be used for example in the chat header during a conversation with the third party.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
backgroundColorThe background color of the agent. Used if no background image is specified for the given display orientation, or if the provided background image does not fit.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
headerThemeAssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
landscapeBackgroundImageUrlURL for the background image of the agent on landscape display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
logoUrlURL for the image containing the 3p logo. This can include logomark and logotype, or logotype only. If present, this can be used in place of the square logo contained in the top level logo_url field in CloudProviderInfo. See go/cards-logo-customization for details on applying this logo.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
maskColorThe color of the mask to apply to the background. See go/aog-cards-background-mask for details on applying this mask.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
portraitBackgroundImageUrlURL for the background image of the agent on portrait display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
primaryColorThe primary color of the agent. Used by the client to style the header and suggestion chips.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
alphaThe fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (this color) + (1.0 – alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. If omitted, this color object is to be rendered as a solid color (as if the alpha value had been explicitly given with a value of 1.0).AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
blueThe amount of blue in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
greenThe amount of green in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
redThe amount of red in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
agentIdPantheon Project ID that uniquely identifies the consumer project ID. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
deviceIdUnique identifier for the device. Example: DBCDW098234. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. NOTE(dychen): This may change to standard android/ios physical device ids in order to enable shared data (e.g. installed app on physical device shared between Allo and Opa apps on Nexus).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team to solve the device id fragmentation problem. The value of this id is the HomeGraph id of the device. See go/ocelot-track-0-registry-design. New surfaces should use the canonical_device_id instead of using other ids, and the registration should utilize the DeviceDataLayer (go/ddl-v0). Please contact the assistant-state-management@ team for guidance. Note: We didn’t reuse |home_graph_device_id| because in Assistant code base |home_graph_device_id| is common to associate it with 3P devices. See go/project-yellowstone for more context.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
connectedDockIdA device ID produced by a connected dock, which is registered in HomeGraph.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceConfigThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14AssistantApiCoreTypesDeviceConfig
deviceTypeDEPRECATED. assistant.api.core_types.governed.SurfaceIdentity.surface_type field should be used instead. The device’s surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn’t supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
libassistantDeviceIdThe unique ID for libassistant based devices. See go/libassistant-id for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
multiHotwordArbitrationDeviceIdIf set, indicates that the device is participating the multi-hotword arbitration and the id is an UUID to distinguish it from other devices. It should also be consistent between requests from a single device within a session (or short duration).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
quartzDeviceIdThe unique ID of a Quartz device. See go/quartz-design-doc for more details. Quartz ID is a hash of (android_id + gaia).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceIdThe identifier of the device.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.AssistantApiCoreTypesDeviceId
gaiaIdThe identifier of the user.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.String
localizedAppNameThe localized app name.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a Home app of the provider.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
accessibilityTextA text description of the image to be used for accessibility, e.g. screen readers.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
appIconIdentifierApp identifier. This field is specific to mobile surfaces and stands for app package name for Android surface, and app bundle identifier for iOS. In case identifier is specified but invalid, some default icon will be used, e.g. PackageManager.getDefaultActivityIcon() for Android. If you want to show image for AGSA versions which don’t support this field, you can specify source_url as backup.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
badgeImageThis is the image that is displayed as the badge on the main image.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13AssistantApiCoreTypesImage
contentContent of the image in bytes.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
heightAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
imageSourceIndicate the data source where the image is fetched.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
jsonContentContent of image in form of JSON representation.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
letterDrawableTextText used to generate a letter drawable (a letter icon with color). It will be the default icon if the source_url is empty or cannot be rendered.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
providerUrlUrl of the image provider, which is the website containing the image. For example, https://www.agentx.com.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlThe source url of the image. For example, https://www.agentx.com/logo.pngAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlTypeType of the source url.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
widthThe width and height of the image in pixels.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
typeSpecifying which type of internal provider.AssistantApiCoreTypesInternalProviderInfoInfo for targeting a feature provided directly by the Assistant surface itself. i.e Could be pointing to AGSA audio player for AUDIO_PLAYER on AGSA.String
bundleIdentifierBundle identifier that identifies an iOS app of the provider.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
packageNameUnique package name that identifies a KaiOS app of the provider.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
accuracyMetersThe accuracy of the coordinates in meters.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
latDegreesLatitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
lngDegreesLongitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
appNameApp name of the message notification, e.g. Hangouts.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
bundleIdThe key used to group this notification into a cluster.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupNameName of the group associated with the message notification. This field is set iff this is a group message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupingKeyThe group key of a proactive notification. Details in assistant.api.client_op.NotificationArgs.grouping_key.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
indexIndex of the message notification.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
markAsReadActionAvailableBoolean indicating if the mark_as_read action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
messageLengthLength of the message/notification content in characters. Note: We can’t send the full content because of privacy restriction, preventing sending client content to our backends. Concatenated message_length of all notification_entries.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
messageRecipientTypeAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
messageWordCountWord count of the messageAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationEntriesAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21list(AssistantApiCoreTypesMessageNotificationNotificationEntry)
notificationIconKeyOn-device cache key for notification icon.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationKeyString key of the notification. It is the key from original StatusBarNotification received from Android OS. It is used to identify the original notification to send a reply.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
opaqueTokenThe opaque_token of a proactive notification. Details in assistant.api.client_op.NotificationArgs.opaque_token.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
packageNameApp pkg of the message notification, e.g. “com.google.android.talk”.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
postTimeTimestamp of the last notification’s post time.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
replyActionAvailableBoolean indicating if the reply action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
senderAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21AssistantApiCoreTypesMessageNotificationPerson
senderNameSender’s name of the message notification, e.g. Elsa. Last sender name in case of a group conversation.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
audioDurationDuration of audio message.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
charCountCount of characters in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
messageBodyNote that this is not present in production traffic. Content of the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
postTimeTimestamp of the notification’s post time.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9DateTime
senderSender of the message notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9AssistantApiCoreTypesMessageNotificationPerson
wordCountCount of words in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
isImportantAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4boolean
keyAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
nameAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
androidAppInfoThe android app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesAndroidAppInfo
castAppInfoThe cast app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCastAppInfo
chromeosAppInfoThe ChromeOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesChromeOsAppInfo
cloudProviderInfoThe third party provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCloudProviderInfo
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
homeAppInfoAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesHomeAppInfo
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
internalProviderInfoThe internal assistant provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesInternalProviderInfo
iosAppInfoThe iOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesIosAppInfo
kaiosAppInfoThe KaiOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesKaiOsAppInfo
sipProviderInfoThe sip information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesSipProviderInfo
webProviderInfoThe web provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesWebProviderInfo
androidAppInfoDeltaThe android app information of the provider.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4AssistantApiCoreTypesAndroidAppInfoDelta
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
categoryThe category related with the ringtone. It’s used to generate ringtone related with the category if the entity_mid is not be populated. E.g. for instrument, the ringtone may be piano sound.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
characterAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata
characterTagAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
entityMidThe freebase mid of the entity related to the ringtone. It will be used to generate the ringtone for the alarm or timer (with support for i18n). For instance, for the “cat” mid, the related ringtone will be a cat sound in some language, and for the “Beyonce” mid, the ringtone will be, e.g., a playlist of Beyonce’s best hits.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
funtimeMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata
genMlAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata
gentleWakeInfoGentle wake information for this alarm.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo
onDeviceAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata
onDeviceAlarmSoundWill be deprecated. Use OnDeviceAlarmMetadata.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
routineAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata
agentIdsFor character alarm, the media resources are provided through AOG apps. During alarm trigger phase, aog apps with the specified agent_ids are used to get the media resources. Multiple “AoG agents” can satisfy a character_tag. So the user will select the agents they want at alarm creation time. The chosen agents will be recorded so that the resources only from those agents will be used at trigger time. The number of selected agent_ids will not exceed 3. See go/character-alarm-aog.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
characterTagsThe Character Alarm tag. Tags are needed to identify the theme of the alarm. For example, if the tag is ‘astronaut’, astronaut based audio is played during alarm ring. Note : We have made it repeated so that the user can choose multiple character alarm themes at one go. At present, the user is allowed to choose only one theme during alarm creation.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
iconUrlsIcons urls corresponding to a character. Note : We have made it repeated so that we can show different images when the alarm rings. At present, we only support only one image.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
agentIdsFor FunTime alarms and timers, the media resources are provided through AOG apps during their ringtone. Multiple AoG agents can satisfy a label. So a random agent will be chosen from those that are supplied. See go/funtime-engdesign.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.list(String)
animationBlobThese bytes may represent the blob of the Rive animation that we pass to the Opal App. We will deprecate this field if we figure out a solution to load the animation from the web.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
animationUrlUrl for Rive animation that is brought up on ring. Rive is a lightweight animation library that is compatible with Flutter on Opal. See https://rive.app/.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
timerHeroUrlThe url used to load the image that is at the center of the timer during timer countdown visuals.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
isEnabledAssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).boolean
ringtoneLabelLabel for the generated ringtone.AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).String
effectDurationMsSpecifies how long the effect lasts. Allowed for effect to last after the alarm has started ringing. If unset or negative or 0, effect is assumed to last until alarm trigger time.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
isEnabledIndicates if gentle wake action is to be performed before this alarm fires. This is enabled only if the device supports sunrise alarm capability. http://cs/symbol:assistant.api.SunriseFeaturesSupportAssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).boolean
startTimedeltaMsSpecifies how long before the alarm fire time, the wakeup effect will start. ALWAYS POSITIVE.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
onDeviceAlarmSoundOpal/UI layer will set this bit based on the user selection.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
onDeviceAlarmSoundLabelA string label to identify the alarm sound name. Opal/UI layer will set this as per product definition. This will be used to display the name of the selected ringtone.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest. This request will contain an ssml with the url to the ringtone files hosted on gstatic.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
routineIdThe unique id for each routine. When the alrm is dismissed, it will trigger the routine of the routine alarm’s creator if feasible.AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadataString
providerIdThe providers id (MID) which is the primary identifier for a call provider within the Assistant. A MID, or machine identifier, is a unique identifier issued by Knowledge Graph for all entities contained in it’s graph.AssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
realmCalling realm to be use for each call. i.e. For anonymous, this would be set to anonymous.chirp.google.comAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
useBirdsongTaclIf true, client should use the Birdsong TaCL API for this call. Uses the VoiceCallManager API by default. For more details: go/birdsong-migration-google-homeAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_Protocolboolean
deviceIdThe identifier of the device.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesDeviceId
legacySurfaceTypeDEPRECATED: The legacy device’s surface type enum. NOTE: Prefer using the ontological `surface_type` field above. If you need to access the legacy surface type, please file a bug and add it in your code to migrate to ontological surface type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeThe device’s surface type. The types are defined at google3/assistant/api/core_types/surfaces.gcl. For more details, refer to go/ontologicalize-surface-type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeStringDEPRECATED. The legacy device’s surface type string. NOTE: Prefer using the ontological `surface_type` field. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceVersionThe version of the surface/client. This is different from the Conversation protocol version.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesSurfaceVersion
typeAssistantApiCoreTypesSurfaceTypeSpecifies the types of device surfaces. LINT.IfChange When adding new surface types make sure that My Activity (https://myactivity.google.com/product/assistant) will correctly render by adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If your type doesn’t fit in to any of the existing surfaces messages, add a new message in http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h.String
majorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
minorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
homeStorageSerialized storage (context) persisted and retrieved for the app and home.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
localizedAppNameThe localized app name.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
thirdPartyCustomNluInfoInfo about 3P Custom NLU used in this web provider. TODO(b/321644453) remove when QRewrite is able to call SERoot.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo
localeThe locale of this agent version, represented by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, etc.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentIdUnique internal identifier of 3P Custom NLU agent. UUID.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentVersionIdentifies the 3P Custom NLU agent version.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
localConnectivityEnabledWhether the device has torus/usonia capabililities enabled or not.AssistantApiCrossDeviceExecutionCapabilityboolean
remoteCastMediaEnabledWhether the device supports cast media originated from a remote device to be executed through local execution and can upload results asynchronously. Needs to be checked before sending remote media initiation through local channel since it needs an async result upload path.AssistantApiCrossDeviceExecutionCapabilityboolean
fallbackToTetheredDeviceIf true, data.VALIDATE should be routed to the tethered device (if present) if the tethered device supports data.VALIDATE and the primary device does not.AssistantApiDataValidateCapabilitiesboolean
dayThe day, in 1…31.AssistantApiDateA Gregorian calendar date.integer
monthThe month, in 1…12.AssistantApiDateA Gregorian calendar date.integer
yearThe year, e.g. 2016.AssistantApiDateA Gregorian calendar date.integer
dateA Gregorian calendar date.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiDate
timeOfDayA civil time relative to a timezone.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeOfDay
timeZoneA time zone in IANA format.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeZone
endDateEnd date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
startDateStart date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
movementThese capabilities are scoped to abilities of the device to move around.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMovementCapabilities
surfaceIdentityThe set of information that helps the server identify the surface.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesSurfaceIdentity
screenThese capabilities are scoped to the ability to see and interact with the Assistant through a screen. If the device has no screen it should send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause this to be overridden with the surface default.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiScreenCapabilities
callCapabilitiesThe call capabilities of this device. go/call-capabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCallCapabilities
systemNotificationRestrictionsRestrictions related to system-level notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures system level notifications restrictions. This field is not stored and is merged to capabilities from conversation params. It exists mostly for logging purposes of android channel state and global app-level notification opt out.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSystemNotificationRestrictions
sodaCapabilitiesCapabilities related to SODA (Speech On-Device API).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSodaCapabilities
hasVoiceTelephonyIndicates that the device has connection to cellular network that allows it to make voice calls. This is distinct from device just being capable of voice telephony, because the device can be capable yet miss the suitable SIM card (for example, it could miss SIM card altogether, or have data-only SIM card).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37boolean
lensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/lens-perception-sdk.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLensPerceptionCapabilities
castThese capabilities are scoped to the cast abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCastCapabilities
deviceIdThis is the same device id that is specified in the conversation protocol and should be unique to each device/user/model combination. For example, if a request is coming from a watch through AGSA the watch and AGSA should have different device_ids. Note: this field should only be used to determine which device the capabilities belong to and not to access the id of the device. Instead DeviceProperties should be used and accessed through ParamsAccessor.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesDeviceId
thirdPartyCapabilitiesCapabilities related to third party integration.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiThirdPartyCapabilities
androidIntentCapabilitiesCapabilites related to Android intent support.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAndroidIntentCapabilities
cameraThese capabilities are scoped to the camera abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCameraCapabilities
deviceUxModeCapabilities related to Android tablet UX experience.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
assistantCapabilityCapabilities if surface supports Google Assistant.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
bluetoothCapabilitiesBluetooth capabilities related to usage of a feature.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiBluetoothCapabilities
locationThese capabilities are scoped to the location abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLocationCapabilities
notificationOutputRestrictionsSettings, that reflect whether a specific notification type is allowed for current device, e.g. if the user opted out from notification category or category group. This settings are server-side stored and evaluated unlike SystemNotificationRestrictions field.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiNotificationOutputRestrictions
loggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLoggingOnlyData
notificationCapabilitiesDEPRECATED: Use SystemNotificationRestrictions instead. Specifies whether the surface is able to display notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures whether the surface is capable of displaying notifications.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
messageCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMessageCapabilities
audioInputThese capabilities are scoped to the ability to gather audio. It includes information like the type of audio that can be gathered (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioInput
contactLookupCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiContactLookupCapabilities
outputRestrictionsThese are user configured restrictions indicating what the device is allowed to output from the privacy point of view.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiOutputRestrictions
softwareThese capabilities are scoped to the software available on the device as well as the set of supported Assistant features.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSoftwareCapabilities
communicationUiCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCommunicationUiCapabilities
carUxRestrictionsUX restrictions for Auto.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
audioOutputThese capabilities are scoped to the ability to play audio. It includes information like the type of audio that can be played (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioOutput
popOnLockscreenCapabilityCapability to support Pop on lockscreen.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
dataValidateCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiDataValidateCapabilities
surfaceTypeStringDEPRECATED. surface_identity field below already contains this information. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
jwnCapabilitiesIndicates if the client supports Javascript Whatsnext (go/jwn). Also contains the Jwn libraries present on the client along with their versions.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiJwnCapabilities
safetyRestrictionsIndicates if the client has safety related restriction.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
supportedLocaleLocales supported by assistant settings for speaking and display. This is independent from device language that is defined in device setting. New locales are added based on rollout, whitelist and app version releases because older versions does not have model support. Currently supported locale list differs by surface type.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
speechCapabilitiesDEPRECATED Capabilities related to speech detection on devices.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSpeechCapabilities
nanosSigned fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.integer
secondsSigned seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.String
clarificationDataSupportedWhether client supports clarification suggestion chip to be displayed see |assistant.suggestions.ClarificationData|AssistantApiFeatureSpecificActionSupportboolean
supportedActivitiesA list of fitness activity types supported by this client.AssistantApiFitnessFeatureSupportlist(String)
stateSyncMethodSpecifies the params proto that Fluid Actions uses to sync state with server.AssistantApiFluidActionsSupportString
deviceIdDeviceId of the accessory device (eg. watch) Commonly the go/dusi (eg. client_instance_id) is provided.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.AssistantApiCoreTypesDeviceId
responseConfigConfiguration sent by device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.GoogleAssistantAccessoryV1ResponseConfig
ttsEncodingDEPRECATED: Format of TTS audio requested by the device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.String
gcmRegistrationIdGCM registration id for the device. Used to pass messages to the device.AssistantApiGcmCapabilitiesCapabilities related to GCM.String
supportsAssistantGcmAssistant supports GCM on the device. ClientOps can be sent to it over GCM and will be executed.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
supportsClientInputOverGcmIf it is set to true, then it indicates to server that device is capable of receiving a GCM payload with serialized client input. The client input will be sent back to Assistant Server over conversation protocol.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
gestureSensingWhether Gesture is supported. When false, override the value for tap and omniswipe.AssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
omniswipeGestureCapableWhether omniswipe is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
tapGestureCapableWhether tap is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
guestAccessOnYoutubeAssistantApiGuestAccessOutputAccess settings for guests.String
confirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions.AssistantApiImmersiveCanvasSupportboolean
pauseSignalSupportedWhether the client support canvas pause signal. If true, the Assistant Server will send a signal when canvas transitioning to pause mode.AssistantApiImmersiveCanvasSupportboolean
librariesVersionMapThe name and version of the jwn libraries currently stored on the client. These are the same that the server communicated when the library was first sent down.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.map
supportedCompressionModeCompression algorithms supported on the client. Server can choose one of these to compress WhatsNext Javascript programs and libraries.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.list(String)
supportsJwnWhether the client supports running jwn code.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.boolean
hasLensPerceptionWhether the device supports Lens Perception.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensDirectIntentAvailableIndicates whether Lens supports Lens Direct Intent (go/lensdirectintent).AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensLiveViewfinderAvailableIndicates whether Lens supports Live view-finder experience.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensPostCaptureAvailableIndicates whether Lens supports Post-capture experience with an image payload.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
lensCapabilitiesContains the capabilities that Lens can support.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6AssistantApiLensPerceptionCapabilitiesLensCapabilities
diningThe presence of this message means that Dining is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining
educationThe presence of this message means that Education is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation
outdoorThe presence of this message means that Outdoor is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor
shoppingThe presence of this message means that Shopping is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping
textThe presence of this message means that intenting directly into the text filter is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText
translateThe presence of this message means that Translation is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate
isTextToSpeechSupportedIndicates whether text-to-speech is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTextText recognition capability.boolean
supportedLanguageTagsThe list of language IETF BCP 47 tags that are supported. See the full details in the comment on the equivalent field in: http://google3/java/com/google/android/apps/gsa/search/shared/service/proto/lens_service_event.proto;l=55;rcl=355512559AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslateTranslation capability.list(String)
channelsByProviderA list of channel providers each of which provides a list of its channels.AssistantApiLiveTvChannelCapabilitieslist(AssistantApiLiveTvChannelCapabilitiesChannelsByProvider)
channelsA list of channels provided by this input. Keep the performance impact in mind when the number/size of the channels is large. When there are too many channels, consider stripping out some data.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderlist(AssistantApiLiveTvChannelCapabilitiesLiveTvChannel)
inputIdAn identifier to identify the input source. For example for TIF based channels, this will be the TIF input ID to differentiate different tuner apps. See https://source.android.com/devices/tvAssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
providerTypeType of provider who provides this channel input.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
channelIdUnique channel identifier.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
channelNameA list of channel names and synonyms.AssistantApiLiveTvChannelCapabilitiesLiveTvChannellist(String)
channelNumberChannel number displayed to user. Optional.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
deeplinkA deep link into the Live player app that tunes to this channel.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
midKG mid of the channel if it exists in KG.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
networkMidNetwork KG mid of the channel if it exists in KGAssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
providerInfoContains detailed provider information such as android app package name.AssistantApiLiveTvProviderAssistantApiCoreTypesProvider
providerKeyA provider enum string for OTT providers. The available key can be found in go/ump-provider-enum For Tuner provider, the provider key would be an ID the tuner app uploaded from TIF. See https://source.android.com/devices/tvAssistantApiLiveTvProviderString
providerTypeAssistantApiLiveTvProviderString
gpsAvailableAssistantApiLocationCapabilitiesboolean
acpVersionA user-readable string describing the ACP version (go/acp-version) of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
androidIdRandom identifier assigned to Android mobile devices. Older logs may have previously stored other kinds of android IDs in this field, but all current logs should use the GServices Id. See go/androidids.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
appVersionA user-readable string describing the version of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
assistantSettingsSourceAn enum specifying when was this ATV AssistantSettings entry initially created.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardNameThe type of board used by manufacturer for this deviceAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardRevisionThe revision of board usedAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
castAssistantSettingLinkingResultThis field records the linking status between Assistant setting entry and Cast setting entry. Currently only ATV surface populates this field for profiling purpose.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16AssistantApiCastAssistantSettingLinkingResult
deviceModelA user-readable string describing the device’s hardware platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
embedderBuildInfoAny relevant info concerning the build options of the embedder (that is the software which runs as the ‘driver’ of an Assistant library, such as libassistant. the embedder is typically built by a third party)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
initialAppVersionA string recording the app version that is initially used to created this settings entry.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
isPrimaryUserBoolean field to indicate whether a certain user is the primary user of a device or not. This is useful for distinguishing the user0 from other users given user0 might have certain privileges (Eg: Hubmode on Tangor)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16boolean
mdnsDisplayNamedefault display name of device over mdns. This is specified at the factory, not specified by the user.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
platformBuildA user-readable string describing the device’s software platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
virtualReleaseChannelA string describing device’s release channel. For cast devices, the string will look like “qa-beta-channel”, “eng-no-update”, etc.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
skipConfirmationsWhilePlayingWhether to prevent confirmations (text, tts) for media control actions while media is playing so that the media session is not interrupted.AssistantApiMediaControlSupportboolean
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiMessageCapabilitiesboolean
preferTargetingPrimaryDeviceFor chat_message.SEND targeting, when either the primary or secondary (tethered) device is capable of handling the chat_message.SEND action, prefer targeting it to the primary device.AssistantApiMessageCapabilitiesboolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiMessageCapabilitieslist(String)
deviceSettingStatusThe current setting status of message summary on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)String
lastVoiceOptInFlowTimestampLast time that voice opt-in flow has been triggered.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)DateTime
readNotificationSummarizationSupportedWhether the client supports message summarization.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)boolean
voiceOptInFlowCounterThe voice consent flow counter on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)integer
mobilityIndicates how much the device moves around. E.g., TV has a low mobility level, while Auto has a very high level.AssistantApiMovementCapabilitiesString
optOutStateAssistantApiNotificationOutputRestrictionsAssistantApiNotificationOutputRestrictionsOptOutState
categoryGroupStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState)
categoryStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState)
categoryGroupAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
categoryAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
cloudCapabilityThe OEM Cloud execution capability of this device, containing routing details for cloud fulfillment.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoCloudCapability
cloudDeviceCapabilitiesIf fulfillment is done via 3P cloud and 3P supports device capabilities, this field will be set.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.map
deviceModelIdDevice Model Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceModelRevisionIdDevice Model Revision Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceSpecificDataOpaque supported action data related to a specific domain of devices, for example for car. go/car-talk-registration-modelAssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
internalCapabilityInternal-only config containing metadata about the Device Model, for example to control the ranking behavior.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoInternalCapability
thirdPartyActionConfig3P Action Metadata, populated from the Device Model lookup and the client request parameters. For example, an Assistant SDK request would have the billed project id of the Assistant request added here in order to enable any Device Actions developed using the same Google Cloud project. This data is sent to Service Engine to mask triggering for Device Actions.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantApiThirdPartyActionConfig
isLocalNetworkArbitrationSupportedCapabilities related to local network arbitration (go/local-network-arbitration). Indicates if the device is capable of being a host device in the LAN whiling doing local network arbitration.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceArbitrationSupportedCapabilities related to on-device arbitration(go/arbitration-on-device).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceAssistantSupportedIndicates if on-device assistant is enabled on this device. Example usecases: NGA (go/nga) or Marble (go/marble).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceUnderstandingSupportedThis may be used by NGA. E.g. if understanding happens on device, we can have more aggressive logic when fulfilling some features on the server side, like teleport.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceSmartHomeSupportedMaster bit for on-device Smart Home features.AssistantApiOnDeviceSmartHomeCapabilitiesDefinitions of on-device Smart Home capabilities. Next ID: 2boolean
isSupportedDetermines if an on-device storage is supported.AssistantApiOnDeviceStorageCapabilitiesThe on-device storage capabilities found on the device.boolean
googlePhotoContentThe type of Google Photo content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
guestAccessOutputAccess settings for guests.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiGuestAccessOutput
personalDataThe level of personal data which the device can output. See go/personal-readout for detail.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveNotificationOutputThis controls if the server can proactively send notification to users, and it does not affect scenarios that users ask for information. The notification may include TTS and lights. It could be only lights for chirp.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveOutputRestrictions on displaying and interacting with content on proactive surfaces (e.g. Dragonglass home screen). Note: NEVER access this field of OutputRestrictions directly, use the code in assistant/assistant_server/settings/device/device_settings_util.h instead.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiProactiveOutput
youtubeAutoplayRestrictionWhether YouTube autoplay is allowed for queries from the user to this device. See go/assistant-youtube-settings for details.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeContentThe type of YouTube content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeTvContentThe type of YouTube TV content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
allowAllPersonalDataAllows displaying all personal data on proactive surfaces with no face match capability.AssistantApiProactiveOutputNext ID: 7boolean
androidTvAssistantSettingsSourceFor ANDROID_TV devices, the location that this setting was last changed from. Note: this structure allows to extend to more per-vertical bits in the future.AssistantApiProactiveOutputNext ID: 7String
healthAndFitnessProactiveAllows displaying Health and Fitness content on proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for H&F content to be shown. This bit will be available on all surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled, then we do not show health and fitness content at all (or even allow access to this setting).AssistantApiProactiveOutputNext ID: 7String
photosProactiveAllows displaying photos content on Dragonglass proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for photos content to be shown on Dragonglass surfaces. This bit will be available on all Dragonglass surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled or it’s not a Dragonglass surface, then we do not show proactive photos content at all, nor allow access to this setting. See go/opa-photos-sg-settings for more details.AssistantApiProactiveOutputNext ID: 7String
userMatchProactiveSettings for displaying personal data on proactive surfaces with face match capability.AssistantApiProactiveOutputNext ID: 7String
protobufDataThe serialized protocol buffer.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
protobufTypeThe type of the protocol buffer to use. This must be a resolvable name (Namespace.ProtoName) and refer to a proto which is either compiled in to both client and server (e.g. a base proto type) or to one which is part of the conversation package.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
beginThe first day of the recurrence. If begin is not set, then the reminder will start infinitely in the past.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
blacklistedRangesA list of blacklisted dates to skip the alarm on.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(AssistantApiDateTimeRange)
dayOfMonthSpecifies the date in a month. For example, if day_of_month is 15, then it represent the 15th day of the specified month.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
dayOfWeekSpecifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0…6 (Sunday…Saturday).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
endThe last day of the recurrence.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
monthOfYearSpecifies the month in a year. Constrain: the month falls on one of these months, in 1, 2, … 12 (January…December).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
numOccurrencesThe number of occurrences after which the recurrence should end.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
weekOfMonthSpecifies the index of week in a month. For example, the second Tuesday every month, in this case, week_of_month should be 2.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
enabledExtensionsList of enabled Robin extensions.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
robinStatusAssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.AssistantApiRobinCapabilitiesRobinStatus
supportedRobinOpsList of supported RobinOps.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
availableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable
notAvailableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable
optedInAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn
optedOutAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut
reasonsAssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailableRobin is not available and can not be enabled by the user.list(integer)
fontScaleFactorThe scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11number
inputTypeThe types of input that this screen supports. Note that this can be empty in which case the screen’s input type is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
maskMask defined for this device, if any.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesMask
protoLayoutTargetedSchemaThe targeted schema version for ProtoLayout requests.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesProtoLayoutVersion
resolutionIf this field is absent, the resolution of the screen is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesResolution
screenOffIf screen is turned off.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
screenStateDetectionThe ability of the client to correctly report screen state.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedRenderingFormatThe primary supported rendering format for display on the device’s screen. This may be used to determine what format of card to be returned when rendering cards.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedScreenStatesThe screen states that the client supports. The current screen state is specified in DeviceProperties.screen.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
visionHelpEnabledWhether the device enabled vision help features in accessibility settings. The settings is config in Assistant App and on-device settings, and stored in footprints. When enabled, font, color and TTS will be adjusted.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
typeAssistantApiScreenCapabilitiesMaskA mask applied to the screen’s pixel space to determine regions not visible on the physical device.String
majorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
minorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
dpiDots (pixels) per inch of the screen.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
heightPxAssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
mSizem_size is the smallest square box size to display a capital letter M so that the user can still easily understand it.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
nengSizeneng_size is the smallest square box size to display a letter 螚 (Neng, U+879A) so that the user can easily understand it. (Neng is a visually dense Chinese letter, and so may require a larger box than an M.)AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
widthPxThe dimensions of the application window, in pixels.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
gestureCapabilitiesA list of gestures that selina supportsAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4AssistantApiGestureCapabilities
selinaSupportedWhether the client supports selina.AssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesignAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
anyUserHasSetPersonalPhotosWhether any user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
recentHighlightsEnabledWhether or not the user’s current selection for their ambient photo frame includes the auto-generated “Recent Highlights” album. This is used to determine which users to display the go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more discussion on why this bit was created.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotoDataWhether to enable the personal photo data in the ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for explanation.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotosWhether current user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
carSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.AssistantApiCarSettingsCapabilities
reissueQueryAfterMusicSetupWhether the client supports reissuing query after setting up in Music Settings.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
supportsPaymentsSettingsUpdateWhether the client supports updating payments setting.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
isAutoFramingEnabledAssistantApiSettingsAutoFramingSettingsSettings pertaining to auto framing. See go/auto-framing-presentation.boolean
allowIncomingCallsWhether this device is allowed to receive incoming PSTN calls.AssistantApiSettingsCarrierCallDeviceSettingsCarrier related call settings on the device.boolean
stateAssistantApiSettingsCommunicationsFilterSpecification of which communication features can be used.String
schedulesAssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(AssistantApiSettingsLabeledDowntimeSchedule)
targetsThe set of users of this device that will have these downtime settings applied. Must have at least one element.AssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
enabledEnables/disables all the filters at the same time. For new devices or non-Cast devices this is always false.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdboolean
featureFiltersThe filters (feature restrictions) to apply when `enabled` is true.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdAssistantApiSettingsFeatureFilters
targetsThe set of users of this device that will have these settings applied. Must have at least one element.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
optInEnabledIndicates whether the crash logs can be uploaded and the device logs can be enabledAssistantApiSettingsDeviceLogsOptInboolean
voiceEnrollmentStatusIndicates whether the user’s voice has been successfully enrolled on this device.AssistantApiSettingsDeviceSettingsNext ID: 73String
paymentsEnabledDEPRECATED: Use DeviceCapabilities.OutputRestrictions.personal_data instead. Whether the user has enabled payments for this device.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
linkedUsersPlease do NOT use this field without prior approval from PWG. Users who have signed in onto this device, go/linked-users-in-pkg.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiSettingsLinkedUser)
ancillaryDeviceIdThe additional device ids. Currently used only for ATV. go/project-yellowstone Note: This field is for internal (Within settings) use only.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalAncillaryDeviceId
speakerIdEnabledIndicates whether the user has enabled speaker-id for this device. See go/google-assistant-multi-user for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
faceEnrollmentStatusIndicates whether the user’s face has been successfully enrolled on this device. See go/face-match-server-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73String
speechSettingsSpeech/hotword detection related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechSettings
colocationStatusStatus of colocation. go/co-location-work-v2 Note: this is a cache at the Assistant level. The source of truth is inside CastAuthenticationServer, which is only used for Home devices.AssistantApiSettingsDeviceSettingsNext ID: 73String
lastUsedCoarseTimestampCoarsened hourly timestamp of when the device was last used.AssistantApiSettingsDeviceSettingsNext ID: 73DateTime
supervisionSettingsRestrictions on how and when certain users can use a device. See go/home-ft-prd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSupervisionSettings
postalCodeAssistantApiSettingsDeviceSettingsNext ID: 73String
humanFriendlyNameThe human-friendly name of the cast device, e.g., my living room tv. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73String
homeGraphDataHolds the data that should be written to HomeGraph. Note: this field is not persisted in Assistant Settings storage. It is simply used for transporting data when client calls UpdateSettings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHomeGraphData
blueSteelEnabledIndicates whether the user has enabled Blue Steel. See go/blue-steel for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationFeatureThe feature proto of the location of the device. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Currently, only “bound” and “type” are persisted, since the entire FeatureProto is too big.AssistantApiSettingsDeviceSettingsNext ID: 73GeostoreFeatureProto
defaultAudioDeviceIdThe identification of the default device which user want to output audio. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
speechOutputSettingsSettings related to TTS output.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechOutputSettings
oauthClientIdOAuth client id for the device. This field is available for Assistant SDK devices. It is written when the device is registered to the user (AssistantSettingsUiService.LinkAssistantDeviceUi). When user revokes grant on the Assistant device, Assistant Devices Platform Service will receive Pubsub notification with OAuth client id for the revoked device, and we will compare that with this stored id to identity device to remove.AssistantApiSettingsDeviceSettingsNext ID: 73String
marketplaceDisclosureSee go/marketplace-disclosure for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMarketplaceDisclosure
localeThe locale for the device: language + region, i.e., en-US, ja-JP.AssistantApiSettingsDeviceSettingsNext ID: 73String
linkedDeviceIdStores pairing between different devices. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiCoreTypesDeviceId)
deviceModelIdThe model ID of the device. This should be globally unique across manufactures/OEMs. Examples: “nest_cam_iq_2017”, “comcast_voice_box_2017”.AssistantApiSettingsDeviceSettingsNext ID: 73String
verboseTtsForChromecastEnabledIndicates whether to play verbose tts for Elementary on chirp. See: go/opa-cast-a11y-impl-design fore more info on this project. Note: this should probably be in SpeechOutputSetting below.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
shortenedAddressA human-readable shortened address. This is usually the street address. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Developers can use this field to avoid reading out the full address everytime.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceBrandThe brand of the device, populated from DeviceOemParams. Examples: “google”, “samsung”.AssistantApiSettingsDeviceSettingsNext ID: 73String
creationTimestampMsThe timestamp that the device is linked with the user in milliseconds.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceIdThe identification of the device.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
faceEnrollmentErrorsList of errors that happened during the face enrollment process if it failed. See go/face-match-enrollment-error for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
faceMatchEnabledIndicates whether the user has enabled Face Match for this device. See go/face-match-server-design for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationCoordinatesCoordinate information of the device location.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesLocationCoordinates
allowIncomingCallsWhether this device is allowed to receive incoming calls.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
isCloudSyncDeviceIndicates whether the device is also managed through HA cloud sync. go/ha-dev-guideAssistantApiSettingsDeviceSettingsNext ID: 73boolean
politeModeSpecify whether polite mode is enabled for this device. See go/pretty-please-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPoliteMode
hotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. TAF is a measure of adjustment applied to the hotword threshold as a result of go/autotune. Currently, this is updated from query_settings_frame, but if we move to updating it from the client, this could also contain TAFs as a result of Hotword Sensitivity, in addition to Autotune.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHotwordThresholdAdjustmentFactor
autoFramingSettingsAuto framing settings associated with a device. See go/auto-framing-presentation.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAutoFramingSettings
onDeviceAppSettingsDevice specific app related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsOnDeviceAppSettings
kidsModeSpecifies if kids-mode is enabled for the device. See go/aff-parentalsupervision-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsKidsMode
gcmSettingsStores GCM info associated with a device. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsGcmSettings
tetheredInfoPresence indicates a tethered wearable. go/wearable-device-ids.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsTetheredInfo
hotwordSensitivityThe level of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSettingsDeviceSettingsNext ID: 73String
reauthTrustedDeviceSettingsTrusted device preferences Assistant reauth. go/assistant-reauth-verify-skip.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsReauthTrustedDeviceSettings
ambientSettingsAmbient settings contains the configuration of Photo Frame on DG device. This field relies on IMAX service to do the update, sync happenes after user updates IMAX device settings or a device registers in CloudCastDevice. So it’s more like a cached version instead of definitive source-of-truth. More details at go/ambient-setting-in-assistant-design.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAmbientSettings
hospitalityModeStatusIndicates whether the device is currently in Hospitality mode. go/hospitality-mode-design. This is moved to a per user setting in assistant settings. ref. go/hospitality-settings-v2AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHospitalityMode
masqueradeModeAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMasqueradeMode
personalizationMetadataMetadata about how personalization settings were configured.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPersonalizationMetadata
defaultVideoDeviceIdThe identification of the default device which user want to output video. Note that, we don’t fallback to this for audio playback when default_audio_device_id is not set. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
optInStatusSpecifies if device logs and crashes can be captured during SendFeedbackAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceLogsOptIn
surfaceTypeThe type of assistant surface. Only use this field when device type is ASSISTANT.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesSurfaceType
truncatedLocalNetworkIdLocal network ID of the device (truncated to obfuscate devices and households globally). This is a temporary signal to determine proximity of Assistant devices in a house (HGS place).AssistantApiSettingsDeviceSettingsNext ID: 73String
vmLastUsedCoarseTimestampCoarsened hourly timestamp of when the user was last verified by VoiceMatch on this device. This is used for enforcing VoiceMatch model TTL. go/voicematch-pdd-ttlAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
ackStatusLINT.ThenChange(//depot/google3/assistant/ui/assistant_device_settings_ui.proto)AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceModelRevisionThe Device Platform Service lookup revision. (go/device-model-revision) For 1p devices, and most 3p devices with no custom feature, this should be always 0, which means no lookup needed. For 3p devices with custom assistant feature, this is provided directly by OEM as incremental (e.g. 1, 2, 3, …)AssistantApiSettingsDeviceSettingsNext ID: 73integer
notificationProfileInformation about how to send the user a notification. This won’t be populated for fb-conv users (allo group chat users).AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsNotificationProfile
voiceInputEnabledA boolean indicates whether voice input (mic-button, hotword, etc) is enabled.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
citycity and postal_code are sent to third party AoG Apps as location when permission is granted for precise or coarse location. https://developers.google.com/actions/reference/rest/Shared.Types/Permission city and postal_code have the same description as in Proto Postal Address: https://cs.corp.google.com/piper///depot/google3/location/country/postaladdress.proto city corresponds to locality_name, postal_code corresponds to postal_code_number. These two fields are set in assistant_settings_service by AddressConverter. https://cs.corp.google.com/piper///depot/google3/location/addressformatter/public/addressconverter.h See go/aog-i18n-address-parse for more informationAssistantApiSettingsDeviceSettingsNext ID: 73String
dusiOnly valid for ATV. Stores the android DUSI for the corresponding user. More details: go/auto-logout-on-unlink.AssistantApiSettingsDeviceSettingsNext ID: 73String
timeZoneDevice time zone. It’s mainly used for a one-time notification for new users when they just bought and activated their devices. They may not have used Search or Assistant before, so their timezone info may not available elsewhere when we want to send a notification. This should be used as a fallback only when other timezone sources such as assistant_settings:user_attribute#inferred_user_timezone are not available. Also, when both |time_zone| and |location| are set, the |location| should be preferred to derive the most up to date timezone. This info directly comes from the device through early device setting recording mechanism. See more details at go/early-device-setting-recording.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiTimeZone
lastCastRegistrationTimestampDevice’s latest registration timestamp provided by Cast side. This field is not necessarily up to date. The update frequency is defined in last_registration_update_frequency_in_days field of AssistantConfig in java/com/google/chrome/dongle/common/proto/home_assistant_config.proto. go/cast-last-registration-timeAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
crossSurfaceAvailabilityAvailability of this device for Assistant Cross-surface handoffs. (go/assistant-cross-surface)AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability
typeThe type of the device. Note: this should only be used for grouping devices for UI presentation purpose. Use |capabilities| to decide what the device can do.AssistantApiSettingsDeviceSettingsNext ID: 73String
aliasNameThe alias names of the device, e.g. my living room tv, tv, living room and etc., which user will usually use to refer to the device in addition to human_friendly_name. It can help speech biasing and query understanding. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
homeGraphIdThe home graph ID that can be used to lookup the corresponding entry in HomeGraph. go/home-graph. Note: when this field is empty, it doesn’t necessarily mean that the device is not in home graph. It just means that Assistant doesn’t know about the mapping.AssistantApiSettingsDeviceSettingsNext ID: 73String
addressA human-readable address string for the location; generally a one-line address such as “34 Masonic Ave, San Francisco CA 94117, United States”. Set this field to empty string for deletion, in which case the rest of the location related fields below will be cleared as well.AssistantApiSettingsDeviceSettingsNext ID: 73String
internalVersionInternal version of the DeviceSettings for measurement of the DeviceSettings mutation race conditions. See go/consistent-assistant-settings-update.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalVersion
isDeviceActivationCacheEnabledWhen true, the user has explicitly allowed audio and visual data collection on this deviceAssistantApiSettingsDeviceSettingsNext ID: 73boolean
capabilitiesDescribes roughly what a device is capable of doing and metadata around those capabilities. Note: this includes device limitations as well as user configurable settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiDeviceCapabilities
lastKnownClientLocaleLast known locale of the client.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityString
lastParamsWriteTimestampThis is the timestamp when the AssistantRequestParams (in ASSISTANT_SNAPSHOT corpus) were last written for this device.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityDateTime
downtimeSettingsSpecification of times that a device shouldn’t respond to certain users. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceDowntimeSettings
featureFiltersRestrictions on features that certain users can access on a device. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceFeatureFilters
enabledTrue if downtime should be enabled during this period.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.boolean
endTimeTime of day that this downtime period should end. Required. If end_time > start_time, end_time is relative to start_day. Otherwise, end_time is relative to the day after start_day. For example, start_day: MONDAY, start_time: 9 p.m., end_time: 6 a.m. means that the downtime period starts at 9 p.m. on Monday and ends at 6 a.m. on Tuesday.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
startDayThe day of the week when this downtime period starts. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.String
startTimeTime of day that this downtime period should start. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
enabledTrue if this downtime schedule should be enabled.AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.boolean
periodsDowntime entries for the days of the week, in no particular order. There can be at most one period defined for each day of the week. Days of the week with no explicit period defined are treated as disabled, so the device is available all day (modulo an end time that may spill over from the previous day).AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.list(AssistantApiSettingsDowntimePeriod)
allowKnockKnockTrue if Duo Knock Kncok feature is enabled on the device.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
shouldBeLinkedBoolean indicating if user has explicitly marked this device to be linked or not. This bit is used in case where unexpected errors occur and we have to check for account/device status and mark the device linked after verification.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
stateThe call state of the device (i.e. whether a Duo call account has been setup on the device).AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5String
talkbackEnabledClient device settings: settings which are populated by client to give to duocore. TalkBack is an accessibility service that helps blind and vision-impaired users interact with their devices. Indicates whether talkback is enabled for the device. Note: this is per device settings currently filled by client for all users.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
communicationsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsCommunicationsFilter
musicFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsMusicFilter
newsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsNewsFilter
podcastFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsPodcastFilter
searchFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsSearchFilter
thirdPartyAppsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsThirdPartyAppsFilter
videoFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsVideoFilter
webviewFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsWebviewFilter
gcmIdAssistantApiSettingsGcmSettingsString
gcmPackageAssistantApiSettingsGcmSettingsString
agentIdAgent ID, aka project ID. Used as the AgentDeviceId.agent_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
attributesSee go/ha-dev-guide and HomeGraphItem.attribute in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8map
deviceIdDevice ID, used as AgentDeviceId.device_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
deviceTypeHGS device type. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of type strings.AssistantApiSettingsHomeGraphDataNext ID: 8String
shouldWriteToHomeGraphWhether device data should be written to Home Graph via Assistant device_settings. Assistant SDK and Google Home write their devices into Home Graph through AssistantSettingsService, while Home Automation Partner devices (e.g. SmartThings, Philips Hue, Nest, TP-Link, etc.) don’t need to be written to Home Graph through AssistantSettingsService. This field decides whether AssistantSettingsService writes devices to Home Graph or not.AssistantApiSettingsHomeGraphDataNext ID: 8boolean
supportedTraitsSupported traits of the device. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of trait-strings.AssistantApiSettingsHomeGraphDataNext ID: 8list(String)
supportsDirectResponseWhether the device supports direct response. See HomeGraphItem.supports_direct_response in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8boolean
cardConfigConfig for Hospitality UI modules.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsCardConfig)
showMediaTapGestureTutorialToggle media tap gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
showPhotoSwipeGestureTutorialToggle photo swipe gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
youtubeCardConfigConfig for YouTube video cards.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig)
activeActionRequiredWhether the UI module requires user action. If true, the UI module can peek on to the top of Ambient. See SmartDisplayModuleState::ACTIVE_ACTION_REQUIRED.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
dismissableWhether the UI module is dismissable.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
effectiveTimeThe time that the module is effective and visible to the user. If not set, the module is effective immediately.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
expiryTimeThe time that the module is expired and invisible to the user. If not set, the module never expires.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
imageUrlThe image URL for the UI module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
moduleIdModule ID.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
payloadQueryPayload query to the partner AoG action when user responds to UI Module, e.g. “Tell the hotel how my stay is going”.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
titleTitle of the message to be shown to user at the top of the UI Module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
imageUrlURL of image to go on card. The URL must be a public link accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
playlistIdID of YouTube playlist to play on card tap. A playlist is used instead of a single video id to avoid autoplaying related videos. The playlist and the videos it contains must be public or unlisted to be accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
textText on card (i.e., video title).AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
aogContextIdList of AOG app context ids that are linked to this device. These apps will have access to the structure information for the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
aogInvocationPhraseInvocation phrase for hotel’s AoG action. Used for ZS promotion card and “talk to my hotel” rewrites. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
brandingAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityModeBranding
cardSettingsAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityCardSettings
deviceClearRequestThe time when we received a request to reset the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
dialogTtlOverrideMicrosShould the dialog have a shorter ttl. See go/ipp-consumer-prd#heading=h.ibu9b1ysdl4t and go/interpreter-device-clear#bookmark=id.hw8ey1bzjadn for context.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
enterpriseIdIdentifier for the enterprise which owns the device. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
hospitalityModeEnabledIndicates whether this device is in the hospitality mode.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
lastDeviceClearLast time the device was cleared and placed in hospitality mode. Will be set when the switch is toggled on and reset when a guest checks out. On the device this triggers removing alarms, timers, etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastModifiedTimestampIndicates when hospitality settings were last updated.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastWelcomedLast time the welcome message was played for the guest. If last_welcomed < welcome_request, the message should be replayed and this time set.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
manualResetRequiredIndicates whether or not the device must be reset manually (by voice or touch), as opposed to being automatically reset. go/hospitality-manual-resetAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
promotedLanguagesIn order promoted languages for interpreter devices. This represents languages by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, “zh-Hant-HK”,etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
typeAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
verbalResetSupportedWhether we allow users to initiate clearing the device verbally. We generally allow this for private devices and not for public ones.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
welcomeRequestThe time when we received a request to welcome the user.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
displayNameBrand display in the UIAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
displayNameForLanguageBrand display in the UI for languages that the enterprise has a localized name that is different from its global branding name. For example, Hilton is ‘ヒルトン’ in Japanese and ‘希爾頓’ in Chinese. The keys are hospitality supported display locales, e.g. en, ja-JP, etc, defined in experiment parameter Hospitality__hospitality_display_supported_locales.AssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7map
largeLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
smallLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
isValidCurrently, is_valid is set to false whenever the TAF is not an Autotune aware value. This includes hotword sensitivity users, or devices not eligible for autotune.AssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.boolean
valueAssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.integer
deviceIdContains device ids known to devices. eg. For ATV, it contains client_instance_id and cast_id.AssistantApiSettingsInternalAncillaryDeviceIdRepresents supporting device ids.AssistantApiCoreTypesDeviceId
generationTimeContains the timestamp when this version was generated.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.DateTime
idInteger value of the version, it is a monotonically increasing number and starts at 0. On every update it is incremented by 1.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.String
kidsModeEnabledAssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddboolean
obfuscatedGaiaIdIdentifier of the account currently specified to be used with kids mode.AssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddString
displayNameUser-provided name for this schedule.AssistantApiSettingsLabeledDowntimeScheduleString
scheduleAssistantApiSettingsLabeledDowntimeScheduleAssistantApiSettingsDowntimeSchedule
castLinkingTimeTime of linking of the device with the user provided by Cast.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5DateTime
emailPrimary email address of the user.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
gaiaIdAssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
namesSupports features which depend on profile name, when no matching contact is found.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5list(AppsPeopleOzExternalMergedpeopleapiName)
confirmedTrue if the user has confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureboolean
timestampMsThe time user confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureString
lastEnterGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
lastExitGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
masqueradeModeEnabledAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryboolean
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
providerFilterStateRepresents the state for the music provider filter.AssistantApiSettingsMusicFilterSpecification of which music features can be used.String
stateAssistantApiSettingsMusicFilterSpecification of which music features can be used.String
whitelistedProvidersContains the list of whitelisted music providers.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
stateAssistantApiSettingsNewsFilterSpecification of which news features can be used.String
alloNotificationProfileEach device can have only one type of notification profile.AssistantApiSettingsNotificationProfileAssistantApiSettingsNotificationProfileAlloNotificationProfile
botSendTokenThe send token of the conversation with the user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformBotSendToken
idThe fireball id of this user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformFireballId
carrierCallDeviceSettingsOn device carrier call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsCarrierCallDeviceSettings
duoCallDeviceSettingsOn device duo call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsDuoCallDeviceSettings
faceMatchAssistantApiSettingsPersonalizationMetadataString
personalResultsAssistantApiSettingsPersonalizationMetadataString
voiceMatchAssistantApiSettingsPersonalizationMetadataString
stateAssistantApiSettingsPodcastFilterSpecification of which podcast features can be used.String
politeModeEnabledAssistantApiSettingsPoliteModePolite mode config for the current device. go/polite-mode-ddboolean
neverAskAgainIf true, don’t ask user to trust this device again.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6boolean
neverAskExpirationTimestampDEPRECATED: Use never_ask_again instead. Expiration timestamp of “never ask again” status. If this field is set and is later than current timestamp, we should NOT ask the user whether they’d like to trust this device.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
trustDeviceExpirationTimestampExpiration timestamp of “trusted” status. If this field is set and is later than current timestamp, we can consider this device to be trusted.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
stateAssistantApiSettingsSearchFilterSpecification of which search features can be used.String
speechOutputAssistantApiSettingsSpeechOutputSettingsSettings related to TTS output.String
continuedConversationEnabledIndicates whether Continued Conversation is enabled for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
deviceModelTypeStores the device model type e.g Pixel.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
dspAvailableWhether the device has DSP chip to enable always on hotword detection.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
hotwordInNavigationEnabledWhether hotword has been enabled by the user during navigation.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
hotwordSettingStores hotword setting status for the locales which don’t support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
lockscreenEnabledWhether pin/pattern lockscreen has been enabled by the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
opaEligibilityStateStores if Assistant is available for the user’s device/locale, where Enabled means it is available and disabled means it is not.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
opaEligibleStores if Assistant is available for the user’s device/locale. Deprecated as bools do not give accurate true/false ratios due to old clients reporting the default value.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
sdkVersionStores the Android SDK version. This comes from android.os.Build.VERSION.SDK_INT.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16integer
speakerIdModelPresentWhether speaker ID model is present for the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
speakerIdRecognitionEnabledIndicates whether the user has enabled speaker-id (fromAnyScreen/alwaysOn) for this device. Deprecated – use voice_match_setting insteadAssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
trustedVoiceEnabledIndicates whether the user has enabled trusted voice for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
userMigratedToDeclinedStores if user was migrated from undecided to declined as apart of Mariko project. Used for potential growth targeting.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
voiceMatchSettingStores the hotword/voice match setting status for the locales which support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
primaryHostDeviceIdThe host this wearable is tethered to (e.g. phone). When host is AGSA then this is agsa_client_instance_id. When host is IOPA then this is opa_ios_device_id.AssistantApiSettingsTetheredInfoString
stateAssistantApiSettingsThirdPartyAppsFilterSpecification of which third party apps can be used.String
autoplayToggleStateState that indicates whether autoplay is enabled for youtube videos.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
providerFilterStateRepresents the state for the video provider filter.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
stateAssistantApiSettingsVideoFilterSpecification of which video features can be used.String
whitelistedProvidersContains the list of whitelisted video providers.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
jasperWebviewConsentIndicates if user has consented Jasper warning message.AssistantApiSettingsWebviewFilterSpecification of which webview features can be used.boolean
stateAssistantApiSettingsWebviewFilterSpecification of which webview features can be used.String
methodAssistantApiSignInMethodThe method of sign in which the client supports.String
signInRequiredMake Google sign-in mandatory for using Google Assistant on the device.AssistantApiSignInMethodThe method of sign in which the client supports.boolean
supportsHotwordSensitivityWhether the device supports different levels of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSimpleStopWhether Simple Stop (go/simple-stop) is enabled on the device. Simple stop allows users to stop firing alarms and timers by just saying “stop” without first saying the hotword.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSpeakerIdWhether the device supports speaker-id (speaker identification based on hotword and/or spoken query – go/speaker-id). Note: there are existing devices that support speaker-id but does not have this capability set. Not having this field populated doesn’t necessarily mean the device doesn’t support speaker-id.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsWarmWordsWhether the device supports WarmWords (go/warm-words-framework).AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
appCapabilitiesIMPORTANT: Only one of AppCapabilities and AppCapabilitiesDelta should be in the SoftwareCapabilities. In the edge case if the client sends up both AppCapabilities and AppCapabilitiesDelta, AppCapabilitiesDelta is ignored. Complete list of app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilities)
appCapabilitiesDeltaIncremental update for app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilitiesDelta)
carAssistantCapabilitiesCapabilities related to Assistant on Auto surfaces.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCarAssistantCapabilities
clockCapabilitiesCapabilities related to clock functionality, like alarms, timers, etc.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiClockCapabilities
conversationVersionA top-level version of Conversation protocol where the versions are explicitly defined at go/conversation-versions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedConversationVersion
crossDeviceExecutionCapabilitiesFor torus x-device execution supportAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCrossDeviceExecutionCapability
gacsCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGacsCapabilities
gcmCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGcmCapabilities
liveTvChannelCapabilitiesCapabilities related to live TV channels.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiLiveTvChannelCapabilities
oemCapabilitiesList of actions OEM supports. This includes built-in actions and custom actions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOemCapabilities
onDeviceAssistantCapabilitieson-device Assistant capabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceAssistantCapabilities
onDeviceSmartHomeCapabilitiesCapability bits for on-device Smart Home. go/framework-for-local-semexAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceSmartHomeCapabilities
onDeviceStorageCapabilitiesReflects the storage capabilities on the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceStorageCapabilities
operatingSystemThe operating system of the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28String
orderedLiveTvProvidersAn ordered list containing the live tv providers available in the client. The order of the providers reflects the ranking in the client and will be respected by server as well.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiLiveTvProvider)
robinCapabilitiesCapabilities of Robin client.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiRobinCapabilities
selinaCapabilitiesThe Soli capabilities on Elaine. go/dingo-dc-softwareAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSelinaCapabilites
settingsAppCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSettingsAppCapabilities
supportedClientOpAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiSupportedClientOp)
supportedFeaturesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedFeatures
supportedMsgVersionAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProtocolVersion
supportedProviderTypesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProviderTypes
surfacePropertiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSurfaceProperties
dspAvailableA bool indicating whether device supports dsp based hotword detection.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
clickImpersonationSupportedWhether client supports user impersonation on suggestion chip click. go/suggestion-click-impersonationAssistantApiSuggestionsSupportNext ID: 18boolean
debugDataSupportedWhether client supports suggestions debug data to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
drlHistoryChipSupportedWhether DRL history chip is supported. Related bug: http://b/241837879, http://b/171854732 Design doc: http://go/panthera-history-chip-dd DRL history chip was originally rolled out to Panthera in http://google3/googledata/experiments/mobile/agsa/studies/agsa_nga/opa_panthera_one_input_ui_launch.gcl?l=55&rcl=384682900. We plan to roll it out to NGA and TNG. drl_history_chip_supported bit specifies whether the client support (and should have) DRL history chip.AssistantApiSuggestionsSupportNext ID: 18boolean
escapeHatchSupportedWhether client supports escape hatches aka post execution suggestions go/nga-escape-hatch-prdAssistantApiSuggestionsSupportNext ID: 18String
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present. If this feature is disabled, the rewrite happens in Assistant Server.AssistantApiSuggestionsSupportNext ID: 18boolean
executionContextSupportedWhether the client supports passing back `execution_context` from |assistant.api.client_op.SuggestionProcessingParams| when the suggestion is clicked or spoken.AssistantApiSuggestionsSupportNext ID: 18boolean
featureSpecificActionSupportWhether the client supports features in |SuggestionFeatureSpecificAction|.AssistantApiSuggestionsSupportNext ID: 18AssistantApiFeatureSpecificActionSupport
featureSpecificAppActionsNotificationSupportedWhether the client supports handling App Actions’ notification when the suggestion is clicked. This will allow the server to populate the `app_actions_notification_data` extension field from |SuggestionFeatureSpecificAction| proto message.AssistantApiSuggestionsSupportNext ID: 18boolean
multiStepTrySayingSupportedWhether the multi-step try saying suggestion feature is supported. dd: go/tng-multi-step-simplifiedAssistantApiSuggestionsSupportNext ID: 18boolean
ruleIdInExecutionContextSupportedWhether the rule_id field in the execution_context is supported. This is a temporary workaround to be able to identify clicks on Person entity suggestions on Sabrina and is expected to be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) once click tracking is correctly sent up from the Katniss client.AssistantApiSuggestionsSupportNext ID: 18boolean
showExecutedTextSupportedWhether the client can show executed_text after the click on the suggestion chip. Must be set to false on TNG. TNG disregards |SuggestionProcessingParams.show_executed_text| field and always treats it as if |show_executed_text=true|.AssistantApiSuggestionsSupportNext ID: 18boolean
showTranslationSupportedWhether the client can show chip as (text | translation). go/lang-partner-docAssistantApiSuggestionsSupportNext ID: 18boolean
supportedDisplayTargetsA list of suggestions display targets supported by this client. If unset only DEFAULT SuggestionDisplayTarget is supported.AssistantApiSuggestionsSupportNext ID: 18list(AssistantApiSuggestionsSupportDisplayTargetSupport)
widgetDataSupportedWhether client supports widget suggestion chip to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
headerTextSupportedWhether PresentationParams.header_text is supported for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
repressImpressionSupportedWhether Suggestion.repress_impression is supported. If not repressed suggestions are not returned.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
targetDisplay target that is supported.AssistantApiSuggestionsSupportDisplayTargetSupportString
sunriseSimulationSupportedIf true, the device can slowly brighten the screen and simulate sunrise experience. Alarms with sunrise field enabled can be set on this device.AssistantApiSunriseFeaturesSupportboolean
clientOpNameThis should be the same as the name of the SemanticClientOp that is supported.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.String
clientOpPropertiesThe properties associated with the ClientOp. This proto should be associated with the client_op_name.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiProtobuf
supportedExecutionAssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiSupportedClientOpSupportedExecution
versionA version of 0 is the equivalent to not having support for that client_op type. Note that a client_op is also unsupported if it is not included at all in the list of supported client_ops.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.integer
supportsPartialFulfillmentClientOp execution supports special rendering behavior while the user is in the middle of expressing their query. This behavior includes: 1) New partial output always over-writes prior partial output. 2) Canceling the interaction removes partial fulfilment from any user visible interaction history. If this is true, whether to apply the special rendering behavior will be determined by PartialFulfillmentRenderingParams. More details can be found at go/ma-natcon-pf-api.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsSynchronousExecutionClient can support synchronous execution of the client op. For tts.OUTPUT client op it means that client would honor |synchronous_playback_args| argument. Please see more at go/synchronous-sounds-design.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsConversationProtocolWhether conversation protocol is supported explicitly. If true, SingleDeviceCapabilityChecker::SupportsConversationProtocol will always return true.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.boolean
versionThe supported version number.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.integer
readNotificationSummarizationSupportedWhether the client supports message summarization. Deprecated, use message_summary_support instead.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fitnessFeatureSupportInformation about what support this device has for fitness.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFitnessFeatureSupport
masqueradeModeSupportedWhether the device supports masquerade mode (go/masquerade).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
appControlSupportThe client information for app control support. More details in: go/acaia.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAppControlSupport
gearheadNotificationSourceSupportedWhether the client supports the Gearhead message notification source, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
parentalControlsSupportedWhether or not the client supports enabling parental controls. When a device to supports parental controls, it has the software necessary to store the relevant information required for parental controls to work. This information includes a boolean “enabled bit” as well as the obfuscated gaia ID of the kid account selected for use with parental controls. Devices supportings kids mode send this information to S3 via S3ClientInfo in every request. See go/aff-kidsproduct for details.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mediaControlSupportInformation about how client handles media controls (play, pause, skip …)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMediaControlSupport
sunriseFeaturesSupportWhether the client supports the sunrise screen brightening feature before the alarm fires. This is used to indicate whether sunrise alarms can be set on the device. http://cs/symbol:assistant.api.core_types.governed.RingtoneTaskMetadata.GentleWakeInfoAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSunriseFeaturesSupport
shLockScreenSupportedWhether the client supports SmartHome lock screen logic (i.e. on Tangor).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fluidActionsSupportFluid Actions features supported by the client. If this field is not set in the incoming request, it could mean that the client does not support Fluid Actions. Alternatively, it could mean that the client supports Fluid Actions, but syncs state with server using the old protocol, namely ConversationStateParams. When b/140733618 is resolved, Surface Adaptation Layer will add this field for old clients that support Fluid Actions framework.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFluidActionsSupport
bypassMsgNotificationDismissalWhether or not Assistant should enforce the dismissal of communication notifications associated with messages.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
justInTimeSupportedWhether the client supports confirmation flow when a permission is missing. If set to true, the user will be prompted and on confirmation the original flow will continue.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesign Use for development only, see the same field in DeviceCapabilities.SoftwareCapabilities.SelinaCapabilities.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
actionV2SupportedFeaturesAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiActionV2SupportedFeatures
mediaSessionDetectionThe ability of the client to detect media sessions on the device.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
gdiSupportedWhether account linking via Google Deep Integrations (GDI) is supported. go/opa-gdi-designAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
zoomSupportedWhether the client supports joining a Zoom meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
persistentDisplaySupportedWhether the client supports persistent display. The new feature allows Assistant devices with screen to display a continuously updating permanent display, such as ambient weather, without the need for a user to ask the Assistant. Design doc: go/assistant-persistent-display.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
alarmTimerManagerApiSupportedWhether the client supports AlarmTimerManager API (go/alarm-timer-manager-api).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
bypassDiDcCheckForCommsWhether communications flows for the client can bypass the DI/DC check. The client will enforce some other equivalent permission as necessary concerning access to device contacts and apps.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
readMessagesTtsTaperingSupportedWhether the client supports tts tapering for the read messages flow. If set to true the tapered tts variant would be used during the read messages flow.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
funtimeSupportedWhether the surface client op performer supports Funtime alarms and timers. go/funtime-engdesignAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
webBrowserSupportedWhether the supports opening a URL in a web browser. For example, we want to disable this for clients like Chirp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mapsDialogsSupportedWhether the client supports Assistant dialogs within Maps. This field will be set only when the Maps on the surface supports Assistant dialogs embedded within Maps. go/gsa-gmm.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
opaOnSearchSupportedWhen the entry source is search, whether the client supports rendering a similar response as OPA one does. Entry source is defined at http://cs/symbol:assistant.api.params.DeviceProperties.EntrySourceAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneContactUploadNeededForCommsWhether paired-phone contact upload is needed for communications queries to work (e.g. on AAE).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
noInputResponseSupportedWhether the client can render no input response or just ignore it. No input response is returned when client has a no speech input interaction, eg. user tapped mic but didn’t say anything.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
smartspaceCrossDeviceTimerSupportedWhether the client supports smart space cross-device timers. (go/ss-x-device-timer)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
clientOpResultBatchingSupportedWhether the client can batch client op results before sending them to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
usesSeparateFullViewerIf set, it indicates that the client can open a separate HTML browser/webviewer (full viewer) to display certain visual results. These visual results usually require more memory to render (e.g. high resolution photos). Compared to the regular viewer that display all other Assistant result, the full viewer does not have memory limit. The field is copied from the device model. See http://google3/assistant/devices_platform/proto/device_model_capabilities.proto?l=225&rcl=312576471 Also see go/webassistant-full-card-viewer.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
confirmationBeforeReadingMultipleMessagesSupportedWhether the client supports confirmation flow before announcement of multiple messages. If set to true the user will be prompted once and confirmation will be taken before all the messages are announced.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageSummarySupportThe client information for message summary. More details in: go/roadwayrecap-prdAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMessageSummarySupport
acpSupportIn what way is assistant continued presence supported. (go/opa-acp-prd)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAssistantContinuedPresenceSupport
viewReminderHubPageNotSupportedWhether the client supports viewing of reminder hub page or not. Default is supported. Set to true to disable returning reminder hub page url in reminder responses.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
duoGroupCallingSupportedWhether the client supports Duo group calling.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
client1mProvidersSupportedWhether the client supports 1m providers (go/1m-partner-expansion).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
hasPhysicalRadioWhether the client has a physical radio installed.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
liveCardsSupportedWhether the surface supports LiveCards. In cases where the user intent flow cannot be completed within the Assistant, LiveCards are used to take the user to an external app or website. These cards will be pushed to the Google Home app via the PushMessage ClientOp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
signInMethodWhich kind of sign in the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSignInMethod
lottieAnimationSupportWhether the client supports the Lottie animation library for the broadcast feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
serverGeneratedFeedbackChipsEnabledWhether the Assistant Server should generate feedback suggestion chips.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionFeaturesSupportTransactions features, supported by the client. Transactions feature may includes how Transactions team want to populate additional information from the device to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiTransactionFeaturesSupport
tapToReadOptimizationSupportedWhether the client supports faster optimization for tap_to_read feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
remoteCloudCastingEnabledWhether the client has remote casting enabled. For ex: we want to disable this for clients like Auto.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
crossDeviceBroadcastSupportedWhether the client supports cross-device broadcast (i.e. on Torus).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
suggestionsSupportSuggestion chips features, supported by the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSuggestionsSupport
crossDeviceBroadcastVersionThe version of cross device broadcast (ie; broadcast on torus) which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
conversationalCareSupportedWhether the client can render conversational care responses. go/conversational-careAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantForKidsSupportedWhether Assistant for Kids (a.k.a. Designed for Family) features are supported.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneNeededForCommsWhether a Bluetooth-paired phone is a core component of communications flows on the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
csatVisualOverlaySupportedWhether the client supports csat visual overlay. (go/sd-od-csat)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionsVersionThe version of transactions which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
duoClientApiFeaturesThe features set which duo client on the device supports. This should be serialized from proto {@code duo_client_api.DuoClientApiFeatures}.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
aaeNotificationSourceSupportedWhether the client supports the alternative message notification sources on AAE, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
immersiveCanvasSupportAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiImmersiveCanvasSupport
soliGestureDetectionSupportedWhether or not the client supports gesture detection via soli chips. The reason to prepend the name with soli is to distinguish it from computer vision based methods, e.g. Newman devices.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
lensSupportedWhether the client has Google Lens (Assistant Eyes).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
privacyAwareLockscreenSupportedWhether the client supports the privacy-aware lockscreen protocol (go/assistant-lockscreen-spec).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantExploreSupportedWhether the client supports the assistant explore section. This field will be active only when the Explore section is available to the user. This means that the user is (a) signed-in, (b) a IOPA / AGSA user, and (c) in a locale where explore is available.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
meetSupportedWhether the client supports joining a Google Meet meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
launchKeyboardSupportedWhich way of launching the keyboard the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
immersiveCanvasConfirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions. Deprecated: use the filed in immersive_canvas_support.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
warmWelcomeTutorialSupportedWhether the client supports the programmatic warm welcome tutorial. Design doc: go/opal-pww-design.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
inDialogAccountLinkingSupportedWhether the client supports account linking in-dialog (askForSignIn). This is used before this feature is moved to conversation protocol. To support this, the client needs to: – Integrate with Google Deep Integrations. – Have logic to send the result of account linking back to AS.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
thirdPartyGuiSupportedWhether the device supports the 3p GUI framework, which allows third parties to enter the conversation with the user, showing their logo next to their chat bubbles, etc. go/3p-phoneAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageVersionAssistantApiSupportedProtocolVersionContains versions of protocol buffer messages. This is the equivalence of a proto3 map, keyed by a protocol buffer message’s name, and the value is the version of this message. e.g. {“assistant.api.core_types.Timer”: 2, “assistant.api.core_types.Alarm”: 1} See go/assistant-protocol-versioning for more details.list(AssistantApiSupportedProtocolVersionMessageVersionPair)
messageNameThe full path of a message which should start from the package name. e.g. “assistant.api.core_types.Timer”.AssistantApiSupportedProtocolVersionMessageVersionPairString
versionThe supported version number.AssistantApiSupportedProtocolVersionMessageVersionPairinteger
supportedTypesAssistantApiSupportedProviderTypesTypes of providers that are supported by the client. For example, ChromeOS support both web app and Android app (for eligible devices).list(String)
executionCapabilitiesAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.AssistantApiSurfacePropertiesExecutionCapabilities
prefersGlanceableUiIndicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
responseDisplayFormatIf this field is unset, the response format is unknownAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.String
supportsMultiResponseIf true, the client supports receiving multiple responses. See go/multiple-response-in-media-use-cases for more details.AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
supportsClientOpPreloadingCompletes the preloading ie., sets up the stage for the execution of client ops on the device while the previous conv delta is being executed. Refer to go/preload-convdelta for more information.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonFinalizedResponsesA value of true indicates that the client supports streaming of non-finalized responses by use of ClientExecutionParams.response_stream_id. and ClientExecutionParams.to_be_finalized.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonMaterializedInteractionsIf true, the client supports receiving non-materialized interactions (go/as-streaming-protocol-nm).AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
categoryStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationCategoryState)
channelStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationChannelState)
notificationCapabilitiesSpecifies whether the surface is able to display notifications.AssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.String
categoryIdNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.integer
disabledWeather the notifications on this channel are disabled.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.boolean
disabledReasonAssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.String
channelTypeNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.String
enabledWhether the notifications on this channel are enabled.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.boolean
deviceActionCapabilityDeviceActionCapability from DeviceModelPackage.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3AssistantDevicesPlatformProtoDeviceActionCapability
projectConfigsList of Action project capabilities.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3list(AssistantApiThirdPartyActionConfigProjectConfig)
projectIdGoogle cloud project id for which the Action Package or Device Model is registered.AssistantApiThirdPartyActionConfigProjectConfigMetadata for ActionPackage. Device Actions are disabled by default unless explicitly enabled for the device here, see go/3p-device-actions-v2-design.String
dataSharingRestrictionsRestrictions for the device to share any data with third party apps. See details in go/atv-dsc.AssistantApiThirdPartyCapabilitiesString
hourThe hour, in 0…23.AssistantApiTimeOfDayA civil time relative to a timezone.integer
minuteThe minute, in 0…59.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosecondThe fraction of seconds in nanoseconds, in 0..999999999.AssistantApiTimeOfDayA civil time relative to a timezone.integer
secondThe second, in 0…59. Leap seconds are not supported.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosNon-negative fractions of a second at nanosecond resolution.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.integer
secondsSeconds of UTC time since the Unix epoch.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.String
ianaIdTime zone in IANA format, e.g. America/Los_Angeles for USA Pacific Time.AssistantApiTimeZoneA time zone. Conceptually, a time zone is a set of rules associated with a location that describes a UTC offset and how it changes over time (e.g. Daylight Saving Time). The offset is used to compute the local date and time.String
voicePinSuppressedIf true, setting this boolean means the device should not support voice PIN. For example, although the phone supports both voice and PIN pad, but we don’t want users using voice. https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thvAssistantApiTransactionFeaturesSupportboolean
defaultVolumePercentageThe volume percentages for spelled out values.AssistantApiVolumePropertiesinteger
highVolumePercentageAssistantApiVolumePropertiesinteger
levelStepSizeThe number of levels to move for a step.AssistantApiVolumePropertiesfloat
lowVolumePercentageAssistantApiVolumePropertiesinteger
maximumVolumeLevelThe max number of volume levels the client supports.AssistantApiVolumePropertiesinteger
mediumVolumePercentageAssistantApiVolumePropertiesinteger
veryHighVolumePercentageAssistantApiVolumePropertiesinteger
veryLowVolumePercentageAssistantApiVolumePropertiesinteger
maxSupportedAlarmsMaximum number of alarms that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.integer
restrictAlarmsToNextDayWhether the client restricts alarms to ring within the next 24 hours.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsGenericMutationsWhether the client supports mutation of any alarm attribute such as time_pattern, recurrence_pattern, etc through the MUTATE action. If this is false, MUTATE may only be used to disable or dismiss an alarm. This field is true by default for backwards-compatibility; clients which don’t support mutation outside of Disable/DismissAlarm should explicitly set this to false.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsStopActionWhether the client supports the STOP alarm action. If this is false, stop actions will be represented by the MUTATE action, and the device may need to check alarm state to determine if there’s a firing alarm that needs to be dismissed.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
intValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoIntValueSpec
optionValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoOptionValueSpec
typeAssistantDevicesPlatformProtoArgSpecString
cloudEndpointsThe list of CloudEndpoints supported by this Device Model. Note that each should have a unique |name|. If any cloud endpoints are provided here, then the first one in the list will be used by default for all Cloud Execution. An Intent may override the default by providing an |execution_config|.AssistantDevicesPlatformProtoCloudCapabilityStates the cloud capabilities of the device, i.e. the endpoint(s) to use for cloud execution of Actions or Registration.list(AssistantDevicesPlatformProtoCloudEndpoint)
nameThe name for this cloud endpoint. It’s unique per Locale. This is not an API resource name. Ex: sample-nlu-endpointAssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
scopesThe list of scopes to be provided in the OAuth2 token. They must be a subset of the scopes registered in the Account Linking flow, or the request will fail. If the client itself provides the token, then this field is ignored.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.list(String)
urlThe URL for this endpoint, it must start with https.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
assistantDeviceInRoomOptOutIntegrate your device with Google’s Smart Home solution by putting your device into Google’s Home Graph, a database that stores and provides contextual data about the home and its devices. For example, Home Graph can store the concept of a living room that contains multiple types of devices, when you say “turn on the light” to a device, if you have light in the living room, that light will be turned on.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10boolean
builtInIntentModeSpecifies behavior for built-in device actions for this device model. If not specified, defaults to ENABLE_CONFIGURED_INTENTS_ONLY.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
customIntentModeSpecifies which custom device actions should be enabled for this device model. This will only affect the behavior of intents corresponding to those from the Action Package of this project. If not specified, defaults to ENABLE_ALL.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
defaultExecutionConfigDefault instructions for routing of any Intent. The data here could be overridden for specific Intents if provided directly in the ‘intents’ field.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoExecutionConfig
inlinedActionCapabilitySpecifies capabilities for device actions that are inlined in the google.assistant.embedded.v1.DeviceAction message.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoInlinedActionCapability
intentsIntent configurations. Built-in and custom intents may be configured here. Note that built-in intents will always behave with IntentMode of ENABLE_CONFIGURED_INTENTS_ONLY. The IntentMode for custom intents can be changed using the custom_intent_mode. To configure an intent, list it here with its intent name, e.g. “MY_CUSTOM_INTENT”, “google.assistant.car.model.capabilities.AC_TEMPERATURE”.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoIntent)
providedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoProvidedData)
traitsList of built-in traits such as “action.devices.traits.OnOff” See java/com/google/home/graph/service/config/protoconf.pi As of Nov. 2017, we also support custom traits for EAP users. We’ll eventually disable custom traits once custom actions are in place.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(String)
understandingConfigSpecifies the format how Google routes queries to 3P cloud. By default, this field is unset, all partners should get shallow NLU. This is needed *ONLY* for specific partners for strong business reasons.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoUnderstandingConfig
clientOpPropertyAssistantDevicesPlatformProtoDeviceModifySettingCapabilityAssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty
cloudEndpointNameInstructions for performing a cloud execution request for the Intent when the execution_type is set to CLOUD. If non-empty, then the device execution would be routed to the CloudEndpoint specified by this name. The Account Linking exchange may be performed to fetch the OAuth access token, and the access token will be included in the HTTP header.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
cloudIntentTranslationDisabledIf this field is set, then the Syndication cloud call will be disabled for this intent. Note this only applies if any Syndication cloud endpoint is associated with the Device Model, otherwise setting this field does nothing. By default, all Intents that are enabled and supported by the Syndication API will be routed through the Syndication cloud endpoint if it’s provided.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
intentCommandFormatSpecifies the intent command format for this Action. For example, in order to launch an Android intent instead of receiving the device action payload on the client, then this field can be set with “intent:/#Intent;…;my_extra={$.params.channels[0].channelCode};end” The parameter “{$.params.channels[0].channelCode}” is in JSON path format, and will be replaced with the content from the original device action payload. Thus, with # JSON “execution”: [ { “command”: “action.devices.commands.SelectChannel”, “params”: { “channels”: [{ “channelName”: “exampleChannel”, “channelCode”: “1-1” }] } } ] as the original action result, then the final result would look like “intent:/#Intent;…;my_extra=\\”1-1\\”;end”AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
localDisabledIf this field is set, then local execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
localExecutionTypeSpecifies how to execute this Action when it is invoked locally (from the same device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
remoteDisabledIf this field is set, then remote execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
remoteExecutionTypeSpecifies how to execute this Action when it is invoked remotely (from a different device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
alarmSpecifies capabilities for handling on-device alarms. The presence of this field, even if empty, implies that the device supports alarms.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoAlarmCapability
responseLimitsSpecifies the size limits on responses. If message is not defined then no limits exist.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoResponseLimits
supportSdkExecuteWhether this device model package support sdk.EXECUTE client_op (a.k.a action.devices.EXECUTE intent), which will be filled into google.assistant.embedded.v1.DeviceAction.device_request_json. It is default to true (and not public), since all 3P will depends on the device_request_json. Only internal projects like Edoras will set this to false.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
supportedDeviceOpsSpecifies capabilities for handling assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoSupportedDeviceOps
supportsMultiResponseSpecifies whether server can send a series of responses for a single query. Example: Routines where multiple actions to be executed one after another.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
timerSpecifies capabilities for handling on-device timers. The presence of this field, even if empty, implies that the device supports timers.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTimerCapability
ttsOutputSpecifies whether client supports receiving `DeviceAction.tts_output`.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTtsOutputCapability
executionConfigInstructions for the routing of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoExecutionConfig
nameThe name of the intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7String
providedDataNamesList of provided data names used by this intent. Note that some built-in intents will not function properly without provided data, such as `action.intent.SwitchChannel` or `action.intent.AppSelector`.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(String)
securityConfigSecurity configuration for this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoSecurityConfig
triggerConditionsThe conditions which must be met by the device before executing this Intent. More than one can be provided, in which case the conditions operate with the “AND” operator, i.e. the first condition which is failed will be used to restrict the execution of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(AssistantDevicesPlatformProtoTriggerCondition)
allowedAssistantSdkAuthProjectIdsWhen using the Assistant SDK (Embedded Assistant API), the project id used to authenticate the gRPC request is checked and must match against the project id of the Device Model. We will additionally allow the project ids listed in the device model here to be let through. See https://docs.google.com/document/d/1InAczpQJs6LCH1l–2yy67JM9hsBJbiL57fusnL3A8AAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.list(String)
appCapabilitiesFromDeviceInstallAppsLoad the assistant.api.AppCapabilities from DEVICE_INSTALLED_APP footprint corpus. See go/edoras-geller.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
cloudDeviceActionEndpointUses this endpoint for device action fulfillment when there’s no endpoint in syndication_metadata. 1p surfaces/devices such as telephone can enable this for its cloud action fulfillment without enabling the whole syndication experience.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoCloudEndpoint
deviceActionsEligibleForHighConfidenceSignals that the model will have updated ranking behavior as described in https://docs.google.com/document/d/1SN_AgadRr_cdIrFe-qgRbIX2J1sOE7lcRXAvM1GUPoU.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceSignInMake Google sign-in mandatory for using Google Assistant on the device. (This bit is initially added for Samsung TV.)AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceThirdPartyDeviceIdForDeviceLookupWhen looking up device (for example for disclosure consent check), then always use the third party device id for lookup instead of any other device id which would normally have higher precedence, such as cast_device_id.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceTransactionsAuthenticationAdds “transactions.AUTHENTICATION” for car automation probers. Since the probers run as Assistant SDK requests, voice match always fails for car automation requests, so we add this client op as a hack to allow probers to appear as personal devices and bypass voice match. See b/137221645.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
hasCustomSearchResultsRenderingSignals that this device can “render” raw search results even with no screen (e.g., using a text reader). If this is true, fallback search results can be returned as a custom device action in a SearchResults message. http://google3/assistant/embedded/proto_translation/utils/proto/search_results.protoAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
overrideProjectIdForDeviceLookupWhen looking up device (for example for disclosure consent check), use this project id as part of the primary key for the device lookup (i.e. instead of the device_config.agent_id.) The precedence is as follows: 1) this field, if set for the device’s device model 2) device_config.agent_id 3) device_model.project_idAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.String
stadiaAssistantConfigAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig
telephoneAttributionTelephone server is able to send attribution to user feature phone. See go/telephone-attribution.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
stadiaPlatformAssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfigThe StadiaAssistantConfig. This field should only be set if the device model is a Stadia.String
maxValueAssistantDevicesPlatformProtoIntValueSpecString
minValueAssistantDevicesPlatformProtoIntValueSpecString
valuesAssistantDevicesPlatformProtoOptionValueSpeclist(String)
nameAssistantDevicesPlatformProtoProvidedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.String
clientOpPropertyAssistantDevicesPlatformProtoProviderOpenCapabilityAssistantApiClientOpPropertiesProviderOpenClientOpProperty
maxAssistResponseSizeBytesMax size in bytes of the total serialized AssistResponse receivable by the client. If response exceeds this max, response may be modified by the server.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxDisplayLinesBytesMaximum size in bytes (not characters) of text the display can handle (which may be different from how much the display can show at a time due to scrolling).AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipBytesMaximum size in bytes (not characters) for each suggestion chip.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipsMaximum number of suggestion chips the device can handle to display.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
authMechanismForRemoteRequestsSpecifies auth mechanism to be used upon remote request for device action.AssistantDevicesPlatformProtoSecurityConfigEncapsulates security configuration for a single intent of a device model.String
callCall|call_call| specifies the support for the call.CALL clientop, and the corresponding call_call field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCallCallCapability
clientReconnect|client_reconnect| indicates support for client.RECONNECT using assistant.embedded.v1.DeviceOp. There is an alternative API/capability for client.RECONNECT specified in RoutineCapability.supports_reconnect. Client should choose between this and RoutineCapability but not both.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoClientReconnectCapability
coreDismissAssistant[core_dismiss_assistant] specifies the support for core.DISMISS_ASSISTANT client_op and the corresponding core_dismiss_assistant field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCoreDismissAssistantCapability
deviceModifySetting|device_modify_setting| specifies the support for device.MODIFY_SETTING client_op, and the corresponding device_modify_setting field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceModifySettingCapability
deviceTakePhoto[device_take_photo] specifies the support for the device.TAKE_PHOTO clientop, and the corresponding device_take_photo field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceTakePhotoCapability
executionWait|execution_wait| specifies the support for execution.WAIT client_op, and the corresponding execution_wait field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoExecutionWaitCapability
getHealthObservation|get_health_observation| specifies the support for get_health_observation client_op, and the corresponding get_health_observation field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoGetHealthObservationCapability
mediaNextAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaNextCapability
mediaPauseAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPauseCapability
mediaPlayMediaAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPlayMediaCapability
mediaPreviousAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPreviousCapability
mediaResumeAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaResumeCapability
mediaShowControlsAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaShowControlsCapability
mediaStopAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaStopCapability
providerFulfill|provider_fulfill| specifies the support for provider.FULFILL client_op, and the corresponding provider_fulfill field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderFulfillCapability
providerOpen|provider_open| specifies the support for provider.OPEN client_op, and the corresponding provider_open field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderOpenCapability
sendChatMessage|send_chat_message| specifies the support for the chat_message.SEND clientop, and the corresponding send_chat_message field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoSendChatMessageCapability
uiShowInterpreter|ui_show_interpreter| specifies the support for ui.SHOW_INTERPRETER client_op, and the corresponding ui_show_interpreter field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoUiShowInterpreterCapability
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimerDurationMaximum timer duration supported by the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.integer
supportsMutateActionWhether the client supports the MUTATE timer action. If this is false, mutate operations may be handled by sending a pair of REMOVE and CREATE timer actions to replace the existing timer instead of mutating it.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.boolean
simpleTtsA simple TTS to play.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
statusRefers to a defined ConditionalResult keyed by its status. It could be a built-in or custom ConditionalResult for this Intent. Note: the states provided by the device MUST contain all of the states required by the ConditionalResult.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
supportsStructuredTtsSpecifies whether client supports out-of-band TTS synthesis. When this is enabled, client could receive TTS request message in `SpeechOutputArgs.structured_tts` which it can then use to make request to S3 for synthesizing TTS audio.AssistantDevicesPlatformProtoTtsOutputCapabilityCapabilities with regard to support of outputting TTS.boolean
nluLevelSpecifies the NLU level for the intent.AssistantDevicesPlatformProtoUnderstandingConfigSpecifies the NLU level that Google performs, which determines the request format sent to the 3P cloud.String
typeAssistantDeviceTargetingDeviceTargetingErrorThe information associated with an error while selecting the target device. Next ID: 2String
streamsAll active media streams while the user issues the query.AssistantLogsAllMediaStreamLoglist(AssistantLogsMediaStreamLog)
targetStreamThe stream selected by stream transfer logic to be transferred to another device. It will be empty for other features. Target_stream is different from target_device since target_stream could have multiple devices.AssistantLogsAllMediaStreamLogAssistantLogsMediaStreamLog
ambiguousDeviceIndexDevice index of the initial ambiguous devices. The device index in this message is consistent with the device index in DeviceInfoLog. It would be used to track more detailed information of a device if needed.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
devicesAfterPromotersDeviceInfo for devices after the filters and promoters. – When device targeting is only configured for single target, these are ambiguous devices that would have been the output of Lumos. Downstream may perform extra check before disambiguation dialog. For example, Media Initiation checks playability for devices. The output here is before the check. – When configured for multi-target, these are just the target devices. For privacy consideration, we may only log device id field inside.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsDeviceInfoLog)
finalTargetDevicethe final targeted device selected by playability filter or DeviceSelectionDialogAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.AssistantLogsDeviceInfoLog
playabilityFilteredDevicesIndexDevice index of the devices after playability filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
puntInfoLogWhen there is no qualified devices after playability check, it would populate punt_info below. If all devices are filtered out for the same reason, there would only be one item. Otherwise, there will be multiple items.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog)
structureFilteredDeviceIndexDevice index of the devices after structure filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
deviceIndexIndex of devices that have the same punt info during playability check, i.e. same media_excuse and provider_mid.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.list(integer)
mediaExcuseExcuse for media action triggering. See: assistant/verticals/media/proto/media_excuse.proto.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.integer
providerMidProvider id that the excuse belongs to. This is the KG MID of the provider, e.g., “/m/09jcvs” for Youtube.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.String
localNetworkIdDiffThe diff between AvailableDevice and CTF for the local network ID of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
locationFeatureDiffThe diff between AvailableDevice and CTF for the feature proto of the location of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
availableDeviceInfoLogAssistantLogsAvailableDevicesLogContains the available devices in DeviceTargetingContext.list(AssistantLogsDeviceInfoLog)
rawContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2list(AssistantLogsCommunicationRawDeviceContactInfoLog)
relativeCostAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3number
typeAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3String
emailAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
gaiaIdAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
isDasherAccountAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsboolean
accountProvenanceGoogle AccountProvenance of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationGoogleAccountProvenance
commonNameAliasConfidencePopulated if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
conceptIdConcept id for relationships in English, e.g. “Mother” for all non-English locales. It’s only populated for source = RELATIONSHIP.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
deviceContactAttributesInteger value corresponding to DeviceContactExtraMetadata.Attribute enum. http://google3/social/graph/wire/proto/merged_person.proto?l=933&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
emailIdCount# emails stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
fuzzyNgramMatchPopulate only if ContactRecognitionAlternate.Source is ‘FUZZY_CONTACT_MATCH’.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationFuzzyNgramMatchLog)
gaiaIdContact owner’s gaia id from cs/symbol::symbol:quality_qrewrite.PersonalContactData.shared_contact_owner_gaia_id. Only populated for is_shared = true and non sign-out mode and user is not the owner of the contact(shared contact from other user). This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
isContactFromSecondaryAccountBoolean value indicating whether selected contact is from different account than the logged in account.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isExactMatchIf the contact is matched exactly from the query name.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isSharedIf this is a shared contact. This is true in 2 cases: – User is calling their own contacts that have been marked as shared. – User is calling shared contacts from some other user’s contact list. This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isTransliteratedMatchIndicate the contact matches the transliterated query.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVanityContactTrue if the contact is a vanity contact(has email = user’s email address).AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVisibleToGuestsRelationshipIf the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -> (John) And user says “call doctor”, then this value will be true.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
matchedNameTypeThe matched name type of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedRecognitionAlternateNameAlternate recognition term which was used to match this contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedStarlightLookupNameNgram matched by starlight lookup for fuzzy matching in fulfillment. We need this to analyze how many contacts are returned by starlight lookup that is not matched by fuzzy matching. For example, “Komal Dear” is matched to “Komal Dr” by fuzzy match. When doing starlight lookup, “Komal” and “Dr” will be looked up separately. So “Dr xxx” will also be returned. We want to see how often this happens.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(String)
metadataPersonMetadata of the selected contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPersonMetadataLog
nameMatchedContactIndexThe indices of the contact in |candidate_contact| whose name matches the |selected_contact_data|. |candidate_contact|: http://google3/logs/proto/assistant/contact.proto?l=111&rcl=306283376 |selected_contact_data|: http://google3/logs/proto/assistant/contact.proto?l=108&rcl=306283376AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
originalQueryNameThe original name in the query as transcribed by ASR.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
phoneInformation regarding the phone endpoints of the selected contact. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationPhoneLog)
phoneNumberCount# phone_numbers stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
pkgReferenceTypeEncodes if pkg_person was resolved via a name or relationship reference.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
recognitionAlternateScorePopulate only if ContactRecognitionAlternate.Source is not NONE.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
recognitionAlternateSourceRecognition alternative source type. If not none, then it indicates the personal contact data is alternative and how the alternative is fulfilled.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
relationshipMemoryCountThe number of resolved relationship names and contact pointers from Assistant Memory.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
selectedPhoneInformation regarding the selected phone endpoint. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPhoneLog
shortcutContactInfoShortcut information of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31MajelContactInformationShortcutInformation
sourceThe contact source of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
systemContactGroupIdInteger value corresponding to SystemContactGroup enum. http://google3/social/graph/wire/proto/merged_person.proto?l=3151&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
whatsappPhoneNumberCountDEPRECATED. Use phone instead. Used before 2020-01-13. Number of phone numbers annotated with Whatsapp.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
deviceContactInfoAssistantLogsCommunicationPersonMetadataLogThis is the log version of apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2list(AssistantLogsCommunicationDeviceContactInfoLog)
rawDeviceContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3list(AssistantLogsCommunicationRawDeviceContactInfoLog)
typeLabel for phone number in the Contacts app. It can have standard values provided by the app e.g. MOBILE, HOME, WORK etc, but users are allowed to modify. So essentially it becomes user content.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AssistantLogsCommunicationRawDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next ID: 3String
defaultSpeakerAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
defaultTvAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
sourceDeviceIdAssistantLogsDefaultDeviceLogLog device info of default speaker and tvString
localDefaultDevicesAssistantLogsDefaultDevicesLogAssistantLogsDefaultDeviceLog
nearbyDefaultDevicesDefault settings of nearby devices.AssistantLogsDefaultDevicesLoglist(AssistantLogsDefaultDeviceLog)
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceAnnotationLogDevice annotation mention from querylist(AssistantLogsSettingsDeviceIdLog)
rawTextFromQueryThe raw text mentioning a device from the query, such as “any tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
typeThe annotation type mentioned in the query.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
userDefinedNameThe matched device name set by the user, such as “big screen tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
arbitrationDeviceIdDevice identifier string for the current device used in the arbitration service.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
availableDeviceAndCtfContextDiffA list of diffs for the device’s context between AvailableDevice and CTF.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsAvailableDeviceAndCtfContextDiffLog
connectivityAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdThe identification of the device. DeviceId (go/as-device-id) has multiple fields. To consloidate it to a single to make dremel easier, we use the string obtained by calling go/get-device-id.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsSettingsDeviceIdLog
deviceIndexWe index linked devices and log these index to avoid logging device_id. device_index should always be a positive number or -1. -1 means this device is not in homegraph.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19integer
deviceModelIdThis is the device_model_id field in device_settings proto. It has the same value for the same type of devices. e.g. Sonos.Sonos One.S13AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
distanceLINT.ThenChange(//depot/google3/assistant/context/proto/device_arbitration.proto:EstimatedRelativeDistance)AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
eliminatingLumosProcessorThe lumos processor which eliminated this device, if applicableAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
homeStructureIdThe home structure id of the device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
isRemoteAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
isTetheredThis flag indicates this is a non-local device that is tethered to local/originating device. Tethered device is a special case of is_remote and typically used in wearable scenarios. This is always false for local device and when it is true, it implies is_remote is also true.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
mediaCapabilitiesAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsMediaCapabilities
mediaDeviceTypeAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
nameUser defined device nameAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
sessionsThis field should be populated only when there is at least one session on this device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19list(AssistantLogsDeviceMediaSessionLog)
surfaceTypeThis field should be populated only when the device is an Assistant device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdAssistantLogsDeviceMediaSessionLogLog about the media session on a device.AssistantApiCoreTypesDeviceId
mediaSessionTypeAssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
mediaTypeThe type of the media session. If provider does not report this field, we ## compute it by mapping provider type to media type. Here is the mapping: |ProviderType |MediaItemMetadata.Type| |————————————– |MUSIC |TRACK | |VIDEO |VIDEO | |LIVE_TV |TV_CHANNEL | |AUDIOBOOK |AUDIO_BOOK | |PODCAST |PODCAST_EPISODE | ## |LIVE_STREAMING|VIDEO |AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
playbackStateThe playback states of the session.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
providerMidThe KG mid of the media provider.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
supportedTransportControlAssistantLogsDeviceMediaSessionLogLog about the media session on a device.list(String)
allDefaultDevicesDefault settings of all nearby devices Deprecated, use default_devices_log instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDefaultDeviceLog)
allMediaStreamLogLogs all active media sessions.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAllMediaStreamLog
availableDevicesLogThe list of `available_devices` as they appear in DeviceTargetingContext. This is very useful for debugging diffs between GB and CMP since they have different methods of populating the `available_devices` field.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAvailableDevicesLog
counterfactualDeviceSelectionLogDeviceSelectionLog for counterfactual logging.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionLog
defaultDevicesInclude default tv and default speaker Deprecated, use all_default_devices below.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDeviceLog
defaultDevicesLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDevicesLog
devicesStrTemporaray field for debugging ANDROID_AUTO multi_target_devices punt. This will be removed once we identify the root cause.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(String)
inputErrorLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsInputErrorLog)
localDeviceNow we just log the media sessions on local device Deprecated, use NearbyDevicesLog::LocalDevice instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceInfoLog
logDataSourceIndicates which library populated the device_selection_log for this query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23String
mediaFocusThe Media Focus information. This field should be populated only when there is a Media Focus. Deprecated, use media_focuses below instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusInfoLog
mediaFocusesLogMedia focuses on all devices.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusesLog
nearbyDevicesLogAll nearby devices and local device.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsNearbyDevicesLog
queryAnnotationThis should log the query annotation features found in the device, such as the device annotation, the room annotation, and the structure annotation from the query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsQueryAnnotationLog
selectionResultThe result of device selection.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionResultLog
testCodesAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDeviceTargetingTestCode)
ambiguousTargetDevicesDeprecated, please use qualified_devices.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
deviceSelectionDecisionSummaryAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsMediaDeviceSelectionDecisionSummary
deviceTargetingErrorTypeAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
finalLumosStageThe class name for the final filter/promoter used by Lumos for device targeting. This filter or promoter runs for all users, and contains no data specific to the individual user.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
lowConfidenceTargetDevice////////////////////////////////////////////////////////////////////////// Ambiguous Results: the library failed to select the final target device(s) but it narrows down to a set of devices which are all valid target device candidates. The client needs to do further disambiguation, e.g., giving a dialog or having customized logic. The low confidence target device means the library falied to select the target device but it picked two devices for the client to do disambiguation.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsLowConfidenceTargetDeviceLog
mediaFocusSelectionErrorType////////////////////////////////////////////////////////////////////////// This field log the error while selecting target device in media_focus_selector.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
processorInfoThe log for each stage of Lumos, showing the number of eliminated devices from each processor.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11list(AssistantLogsLumosProcessorInfo)
qualifiedDevicesWe will apply several filters and dialogs to select a target device if media_focus_selector fail to select one. This field should log the devices left after each filter or dialog. It also log the detailed info of the final target device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
singleTargetDevice////////////////////////////////////////////////////////////////////////// Unambiguous Results: the library successfully selected the final target device(s) and no further disambiguation is needed. Deprecated, please use target_device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsDeviceInfoLog
targetDeviceAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsTargetDeviceLog
typeAssistantLogsDeviceTargetingTestCodeTest code is used to track special events happening in Device Targeting Library. Next Id: 2String
errorCodeAssistantLogsInputErrorLoginteger
errorTypeAssistantLogsInputErrorLogString
fallbackDeviceLogThe fallback device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
lowConfTargetDeviceLogThe selected low confidence focus device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
devicesAfterRunNumber of candidate devices after this stage is run.AssistantLogsLumosProcessorInfointeger
devicesBeforeRunNumber of candidate devices before this stage is run.AssistantLogsLumosProcessorInfointeger
processorNameName of the processor for this stage.AssistantLogsLumosProcessorInfoString
canReceiveRemoteActionAssistantLogsMediaCapabilitiesboolean
hasScreenAssistantLogsMediaCapabilitiesboolean
deviceSelectionPreferenceUsedAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
deviceSelectionReasonAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
miscSelectionSignalAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.list(String)
dialogTriggeredAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.boolean
localMediaFocusAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.AssistantLogsMediaFocusInfoLog
mediaFocusesDeprecated, use nearby_media_focuses instead.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
nearbyMediaFocusesMediaFouces found on nearby devices.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
currentFocusDurationSecHow long the device is in focus so farAssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protointeger
dialogTriggeredTODO(b/134944092) Log MediaFocusDialogTrigger Enum in focus_status.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoboolean
focusDeviceLINT.ThenChange(//depot/google3/logs/proto/majel_gws/media_action_triggering_info.proto) The focus device.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoAssistantLogsDeviceInfoLog
mediaFocusStateThe media focus state at the time of the request.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
sourceDeviceIdThe source device of media focus.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
deviceIndexThe device index in this message is consistent with the device index in DeviceInfoLog. This field refers to the devices that hosting the session.AssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.list(integer)
sessionAssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.AssistantLogsDeviceMediaSessionLog
deviceArbitrationCreationTimestampMsThe timestamp that DeviceArbitration is created in milliseconds.AssistantLogsNearbyDevicesLogString
deviceTargetingInputCreationTimestampMsThe timestamp that DeviceTargetingInput is built in milliseconds.AssistantLogsNearbyDevicesLogString
eliminatedByFurtherDistanceAssistantLogsNearbyDevicesLoginteger
eliminatedByLocalClosestAssistantLogsNearbyDevicesLoginteger
eliminatedByUnknownDifferentRoomAssistantLogsNearbyDevicesLoginteger
eliminatedByUnregisteredDeviceAssistantLogsNearbyDevicesLoginteger
localDeviceAssistantLogsNearbyDevicesLogAssistantLogsDeviceInfoLog
nearbyDevicesAssistantLogsNearbyDevicesLoglist(AssistantLogsDeviceInfoLog)
numClosestDevicesAssistantLogsNearbyDevicesLoginteger
numEquallyCloseDevicesAssistantLogsNearbyDevicesLoginteger
numFurtherDevicesAssistantLogsNearbyDevicesLoginteger
numHearingDevicesAssistantLogsNearbyDevicesLoginteger
numUnknownDistanceDevicesAssistantLogsNearbyDevicesLoginteger
langAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)String
localizedNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
packageNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
deviceAnnotationDeprecated, please use room_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsDeviceAnnotationLog
deviceAnnotationsLog the device annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsDeviceAnnotationLog)
providerAnnotationLog the provider annotations annotated from the query.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsProviderAnnotationLog
roomAnnotationTODO(b/171250187) Deprecates the optional RoomAnnotationLog and DeviceAnnotationLog. Deprecated, please use device_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsRoomAnnotationLog
roomAnnotationsLog the room annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsRoomAnnotationLog)
structureAnnotationsLog the structure annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsStructureAnnotationLog)
createdSecondsAgoThe reminder is created N seconds ago. This helps tracking how the user issues follow-up actions after reminder is created. For example, whether the user likes to issues another [show reminders] query right after reminder is created?AssistantLogsReminderLogAnnotate a single reminder instance.String
retrievedRankingClassIf the reminder is retrieved by a ranking class (see go/opa-reminders-ranker), this will be populated with the class info. Refer to assistant.productivity.ReminderRankingClass.RankingType. Since that proto is in proto2 format, we can only wire by int type.AssistantLogsReminderLogAnnotate a single reminder instance.integer
rawTextFromQueryThe raw text mentioning a room from the query, such as “my living room”.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
roomCountThe number of rooms annotated, if there are multiple structures. They are guaranteed to have the same text_from_query and name due to exact matching.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.integer
roomIdThe identification of the room.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
userDefinedNameAssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. This ID type should be deprecated by now, yet we’ve observed it serving prod traffic in GB.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
deviceConfigIdThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details. }AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
libassistantDeviceIdThe unique ID for libassistant based devices.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
rawTextFromQueryThe raw text mentioning a structure from the query, such as “my house”.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
structureIdThe identification of the structure.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
userDefinedNameAssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
devicesAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4list(AssistantLogsDeviceInfoLog)
lowConfidenceReasonAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
resultConfidenceLevelAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
deviceNameAssistantPfrDeviceRdMetadataString
deviceTypesAssistantPfrDeviceRdMetadatalist(String)
effectiveArgSpanLengthAssistantPfrDeviceRdMetadatanumber
hasAmbiguousResolutionsTrue if there are more than one possible resolutions to the RD.AssistantPfrDeviceRdMetadataboolean
hasResolvedDeviceIdTrue if there’s at least one device id that gets resolved. Note this is different from is_grounded = true: it is possible that is_grounded = false (num_grounded_args =0) but there is resolved device ids. E.g.: “turn on the blue light” Power_on(device_object = [d1, d2]:RD(category=DeviceObject(name=’blue light’)) where there are “blue light 1” and “blue light 2” hence two resolved device ids. But since the quantifier is single, GB can’t resolve the ambiguity and would set num_grounded_args = 0 to indicate such unresolved ambiguity.AssistantPfrDeviceRdMetadataboolean
roomNameAssistantPfrDeviceRdMetadataString
deviceRdMetadataEach DeviceRdMetadata represents one device RD (device slot) in the intent. Note that each device RD could have multiple device groundings inside of it.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.list(AssistantPfrDeviceRdMetadata)
intentNameAssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.String
isExactMatchWhen num_constraints == num_constraints_satisfied, indicating all slot matchings are exact match.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
isGroundedWhen num_grounded_args > 0, indicating there is at least one top-level argument is grounded.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
fingerprintAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
sortedNameStringAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
fulfillableDominantMediaWhether this is a fulfillable, dominant Media intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
generatedByLegacyAquaDomainWhether or not the intent was generated by a legacy Aqua domain that PFR should care about.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
hasAnswerGroupWhether the interpretation has a Search answer group object, signifying it came from Search resolution.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
subIntentTypeAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isIntentFromOrbitWhether the intent is from ORBIT.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
usesGroundingBoxWhether the interpretation should run through grounding box or not.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
effectiveArgSpanLengthThe total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=”chicken”, trigger_time_datetime=<< 7 PM >>))), the effective argument span is “7 p.m.” + “chicken” (total length of 13).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
phaseQuery understanding phase the intent was produced in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isFullyGroundedWhether the intent is fully grounded.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageInNageIntentWhether the intent is produced by the Sage IntentGenerator invoked by the NSP intent-generator (thus, Sage-in-NSP-invoking_Sage, or Sage-in-Nage).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageDisabledIntentWhether the intent is an intent marked disabled by the Sage IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
deepMediaDominantWhether the intent is dominant according to NSP deep-media.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isVideoIntentWhether the intent is a media object video intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
parsingScoreMse8BucketIdA ID corresponding to which bucket a given parsing score belongs in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
predictedIntentConfidenceIntent confidence predicted by the AssistantVerticalClassifier QRewrite servlet.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
nspIntentParseScoreParse score generated by NSP. If NSP intent has been pruned due to dededuplication, It will have highest parse score for deduplicated intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numConstraintsSignals as proposed in go/improved-grounding-signals. Sum of the number of constraints used by the Grounding Box to ground each variable.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isPodcastIntentWhether the intent is a podcast intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isDummyIntentAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isScoreBasedIntentWhether this intent is a score-based intent, relying on PFR for scoring and pruning to the top intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
platinumSourceWhether the intent comes from the Sage IntentGenerator’s “platinum” source, signifying high-confidence in quality.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
nspRankRank of the intent as reported by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
dominantIndicates interpretation dominance predicted by KScorerAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isRadioIntentWhether the intent is a PlayMedia radio intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
searchDispatchThe determination made by the SearchDispatchingConfig as to whether and how this interpretation should be dispatched to Search.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isHighConfidencePodcastIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
calibratedParsingScoreA parsing score that is independently calibrated by each parser/IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameAuisScoreExpAssistant User Interaction Score which is aggregated using intent name from exp laelaps.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
inQueryMaxEffectiveArgSpanLengthThis is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
pq2tVsAssistantIbstCosineCosine similarity between predicted query-to-term model and assistant intent-type-based salient terms. This is intended to be only used for ACE ranking and only populated for assistant traffic.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isTvmIntentWhether the intent is a media object tvm intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
numGroundedArgsNumber of grounded arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numGroundableArgsGrounding Signals. Number of groundable arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentTypeintent_type differentiates between intents that share the top level intent name. For eg: for TV_FALLBACK_SEARCH_INTENT, the top level intent name must be “Find_media” and the media_object argument within it must be of type “Media_unspecified”.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
pq2tVsIbstCosineCosine similarity between predicted query-to-term model and intent-type-based salient terms. This is intended to be used as a backoff to pq2t_vs_qibst_cosine if it is missing.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isNspIntentWhether this interpretation was genearted by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageIntentWhether this intent was generated by Sage.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
intentNameAuisScoreQUS intent-based ranking signals. Assistant User Interaction Score which is aggregated using intent name.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
kScoreUsed for PFR manaul rule to prefer high kscore radio intent. The k-score comes from twiddled_ranking_scores in query interpretations.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
isAquaMediaIntentWhether the intent aqua intent from media domain enabled in QBTAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isValidSmarthomeIntentWhether the intent is a Smarthome-domain intent with valid device arguments.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
tiebreakingMetadataAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrTiebreakingMetadata
smarthomeIntentMetadataSmartHome intent metadata used for the SmartHome business-rules twiddler.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrSmartHomeIntentMetadata
numConstraintsSatisfiedSum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints]. Populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isMediaControlIntentWhether the intent is a media control intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isPodcastGenericIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
maxHgrScoreAcrossBindingSetsThe maximum score assigned by the Horizontal Grounding Ranker (HGR) across all of the intent’s binding sets.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameintent_name is used by PFR ensemble model. See go/pfr_ha_launch_docAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
kscorerRankThe rank order of the interpretation as determined by kscorer. The kscorer-determined dominant interpretation, if any, gets a rank of 0. The remaining N interpretations get a rank of 1 through N.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
isPlayGenericMusicWhether the intent is a PlayGenericMusic-type intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
name[REQUIRED] The name of the list item.AssistantProductivityListItemA message to represent an item in a list. Just a basic string for now, but extensible for the future.String
idREQUIRED. An unique identifier for the attachment. We have a plan to index this field, so it’s marked as REQUIRED. Chat with opa-reminders-eng@ if you have a use case without an attachment ID.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.String
linkAssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.AssistantRemindersAttachmentLink
surfaceTypeREQUIRED. Surface types this attachment should be shown.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.list(String)
linkUrlREQUIRED. The link to surface to frontends (e.g., Hubpage, notifications.) This could also be a surface-specific deeplink (be sure to set `surface_type` accordingly.)AssistantRemindersAttachmentLinkString
notificationTextREQUIRED. The text for the notification link button. Note: We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The plan is to cut dependency from TemplateData to quality.actions.Reminder. DEPRECATED. No longer used as part of the notification flow.AssistantRemindersAttachmentLinkAssistantRemindersNlgTemplateKey
hasReferencedEntityAtCreationWhether the reminder created has a referenced_entity attached to it or not(go/hub-memory-payload). Since we plan to set this in Assistant reminder creation path flow, in case later the referenced_entity is removed from the reminder, then this bit might still remain true. Also in case referenced_entity is later added to reminder(for example when referenced_entity is attached by Server), then also this bit might remain false. This bit will be used to *guess* if the user has a memory-enabled AGSA, thus we’ll surface the “open memory” button on hubpage. This check is not perfect, as the user might have other phones with older AGSA, so this is just a *best guess*. This field won’t be stored in Memory backend, and will not be populated back when retrieving reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerboolean
recordIdId of record that is associated with Reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerString
messageSetREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
templateNameREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
hasLocationInterpretationWhether the nickname could also refer to a location. For example, “walmart”, “starbucks”.AssistantTeleportTeleportNicknameSignalsboolean
installInfoIndicates whether the user has the app installed.AssistantTeleportTeleportNicknameSignalsString
isGenericTrue when the name is generic, i.e when it could refer to multiple packages from different developrs. For example, “mail” is considered a generic name (since it can refer to “gmail”, “yahoo mail” etc.) but “facebook” although could refer to both “facebook” and “facebook lite” is not considered generic (both packages are from the same third party).AssistantTeleportTeleportNicknameSignalsboolean
nicknameTierThe tier of the nickname.AssistantTeleportTeleportNicknameSignalsString
sourceAssistantTeleportTeleportNicknameSignalsString
matchScoreNeural contact match similarity score.AssistantVerticalsCommonContactMatchSignalNeural contact match signals.number
contextIdActions-on-Google action context ID. See go/sdm-hospitality-design.AssistantVerticalsHomeautomationProtoActionProjectConfigMetadata for Actions-on-Google configuration.String
agentIdThe agent’s ID. Generally it is the agent’s Google pantheon project id.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
deviceIdDevice ID defined by the agent.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
authTypeAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
deviceSourceAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
executionPathAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
idUnique Agent ID which maps to a specific Agent. Not using Agent Name here as it may change over time.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
keyAgent’s foreign key that uniquely identifies a user’s device.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
structureBasedRoutineAssistantVerticalsHomeautomationProtoAttributeProtos representing device or structure attributes. See go/hgs-attributes-protos. Only protos approved and formalized by assistant/HG team should be added here.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine
attributeProtosAssistantVerticalsHomeautomationProtoAttributesLINT.IfChange(proto_attributes)list(AssistantVerticalsHomeautomationProtoAttribute)
enabledAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5boolean
eventTriggerPayloadDetailed settings for the event trigger; unset if not applicable.AssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5map
eventTriggerTypeDifferent event type may have different settings. For example: * SCHEDULED will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.Schedule * LOCATION will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.LocationTriggerEventAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5String
triggerSourceUnique identifier for the EventTrigger, e.g. SCHEDULED_ROUTINES. See the enum values of cs/symbol:WorkflowTriggerInput.TriggerSourceAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5integer
enabledWhether this Routine is enabled or not. If false, then this Routine can’t be triggered by Voice.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
googlePreconfigWorkflowIdThe unique identifier for a class of workflows. For example: * “sbr_001” => Away * “sbr_002” => Home * “category_template” => CUSTOMAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
languageAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
payloadInternal format payload primarily for Routines team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
securityLevelThe security level of the Structure Based Routine as determined by the most security-sensitive task.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
sharedAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
storagePayloadAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
structureIdAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
triggersVoice or event triggers.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.list(AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger)
typeAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
uiPayloadUI format payload primarily for external team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
eventTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonEventTrigger
voiceTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonVoiceTrigger
queryAssistantVerticalsHomeautomationProtoCommonVoiceTriggerLINT.IfChange(proto_voice_trigger) Next id: 2String
conciergeProductFeaturesAssistantVerticalsHomeautomationProtoConciergeFeaturesThe Concierge features a structure is eligible for. See {@link home.graph.common.ConciergeFeatures}.list(String)
annotatedSpanDeviceThe query span for device mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanRoomThe query span for room mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanStructureThe query span for structure mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
processedMentionedSpanThis field is from query_info.processed_mentioned_span in DTO.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
supportedStructureFeaturesThe features that are available for a structure. Will only be populated if the item_type == STRUCTURE.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSupportedStructureFeatures
traitRoutingHintsFor SHED devices, some traits can only be executed on 3P cloud, e.g. “action.devices.traits.MediaInitiation”, “action.devices.traits.Channel” go/shed-per-trait-routingAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(HomeGraphCommonTraitRoutingHints)
parentNodeLINT.IfChange(home_graph_single_parent) At the moment, we just have a single string. In future this will expand with additional metadata from client or cloud execution data store. In today’s ‘tree’ HomeGraph each object has a single parent. In the future this may have a mesh for complex cases — zones, doors, etc — so we make this a repeated element today. LINT.ThenChange(//depot/google3/assistant/assistant_server/settings/user_defined_actions/footprints/footprint_accessor.cc:home_graph_single_parent)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
actionProjectConfigsCustom actions that this item supports.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(AssistantVerticalsHomeautomationProtoActionProjectConfig)
zoneNameSaftDocumentSAFT Document with linguistic annotations for the zone name, if applicable.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
operationalNodeIdOperational CHIP Node ID that combines the fabric ID and node id in format of . (Hex format without 0x prefix, for example, 0F001234FA67AA39.1234ABCD1111DDDD).AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
saftDocumentSAFT Document with linguistic annotations for the primary device name.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
opaqueCustomDataStore custom data for agent calls here. This will likely be short-lived — we will replace this with calls to HGS. (Note: This may end up not temporary if we only need it for a couple partners — more efficient to have it on a few users than require HGS reads for all users.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
lanscanOptedInWhether local home platform should discover new devices via LAN for the structure.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
pluralWe use this to determine if the synonyms matched in the aqua interpretation is plural. Then we will return disambiguate dialog or execute commands with all the targets.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
deviceModelIdSee note in home_graph.proto; loaded into DE now to avoid having to double-read assistant settings records as per go/smarthome-removing-assistant-settingsAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
notificationSupportedByAgentIndicates whether the device is capable of sending notifications. This field will be set by the agent (partner) on an incoming SYNC. If a device is not capable of generating notifications, the partner should set this flag to false. If a partner is not capable of calling ReportStateAndNotification to send notifications to Google, the partner should set this flag to false. If there is a user setting in the partner app to enable notifications and it is turned off, the partner should set this flag to false.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
parentTypeThe type of the parent. Currently only set for devices, to distinguish between structure and room parents. Items currently have only one parent, and entries after the first parent_type are ignored.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
gcmExecutionAddressGCM address for cloud execution across google cloud messaging rather than 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
smartDeviceManagementDataData needed for SDM (fleet management). See go/enterprise-id-in-assistant.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSmartDeviceManagementData
voiceMatchRequiredSet to which level of voice match is needed. Enum based on string input from the partner in json sync. Values accepted: “none” (but in this case partners won’t set it), “owner” [requires matching one of the creator gaia IDs], or “member” [any recognized voice ‘enrolled’ on the device]. This may expand; only “owner” is in use for first partner, Tile.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
personalizedNicknamesUser-given nicknames for an entity (e.g. “My house”). These nicknames are unique to the gaia user. Nickname in DeviceInfo is per-entity level nickname, while personalized_nicknames is per-user per-entity.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
primaryNameWhich of the values was the original, user-provided name — or our disambiguated, cleaned-up version of it. This is what we use in TTS when we need to identify an object that wasn’t just spoken uniquely by the user — in disambiguation dialogue, or in response to a collective interrogative (e.g. “what lights are on in the kitchen?”)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
attributesAttributes data as provided from SYNC. This gets used in mutation and execution and in some potential cases, in biasing.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45map
hashValueThe hash value from go/de-consistency-checkAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
willReportStateThis device will report state; we can query realtime state from local HGS rather than slow QUERY intent to the 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
matterUniqueIdMatter Unique ID. Contains VID/PID informationAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoMatterUniqueId
userDefinedDeviceTypeThe priority order of speech targeting: 1. user_defined_device_type 2. derived_device_type 3. device_typeAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
supportsDirectResponseThis device supports direct response — if the device itself is issuing the query (which means it’s also an assistant surface) we can return its payload directly rather than via cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
targetDeviceSignalStrengthsOnly present for an AoGH device. HGS Device ID of a target device and the signal strength (RSSI in dB, higher is better) between that target device and the AoGH device. If this map is empty, there are no target devices reachable by this AoGH device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45map
roleInformationUser’s role information for this device. This will be used in Home Automation server to decide if user has authority to fulfill its request.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoRoleInformation
assistantDeviceIdDevice ID that matches the ID passed from the device to discourse_context when a user issues a query to an Assistant-enabled device that is registered with Cast (via CCS (see go/castservers)), or some other service.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
derivedTypeAny types that are not the given item type, but derived later. For example, if an item has type action.devices.types.OUTLET but is named “floor lamp” we can derive that it also has type action.devices.types.LIGHT. Also considered along with |type| when triggering type-based actions.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
modelNameModel name from HomeGraph, populated from model_manifest.model_name. See b/200087451.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
notificationEnabledByUserIndicates whether notifications have been enabled by a user and will be announced for this device. This is set by the user within the Google app settings, and Google will announce the device notification only if both notification_supported_by_agent and notification_enabled_by_user are true.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
otherDeviceIdsOther agent id + foreign id pairs associated with the device. This can be used to represent a group of devices (e.g. Sonos’ bonded zone) as a single device, or a device that comes in through different sync flows (e.g. Newman with a Nest camera).AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(AssistantVerticalsHomeautomationProtoAgentDeviceId)
smartHomeFeaturesSmartHome feature flags that may be enabled per-item.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSmartHomeFeatures
typeThe item type, such as “action.devices.types.VACUUM” – to be used in triggering type-based actions, e.g. “start vacuuming”: go/smarthome-type-based-actions.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
tdssUpdateTimestampThe timestamp at which the TDSS map was last updated. This information is used to help determine which hub would be preferred if multiple hubs report the same reach-ability for a device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45DateTime
creatorGaiaIdSee Device.creator_gaia_ids in //home/graph/proto/service/types.proto. If empty, the GAIA ID from the request EUC is assumed to be the creator. We only need at most one creator_gaia_id.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
reportStateStatusWhether device report state is out of sync with Query response.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
routableViaGcmOnly present for a target device. Indicates this target device is reachable by a local (AoGH) path via an AoGH device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
groupIdsList of parent group IDs, if the device is added to one or multiple device groups (see go/home-groups). Will be consumed by Smart Home APIs and (in the future) Assistant CTF to populate the group member list of device groups.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
physicalLocationStores the location for the STRUCTURE type.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoPhysicalLocation
otherDeviceSourcesAdditional device sources. This can be the result of the device being merged with other devices with a different source.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
agentInformationAgent details.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoAgentInformation
traitsAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataSupportedTraitslist(String)
deviceSelectionLogthe next 3 fields are for Lumos output (DTO) that needs to be propagated to the Fulfilment through the HomeAutomationDevice proto.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantLogsDeviceSelectionLog
dtoErrorAssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantDeviceTargetingDeviceTargetingError
dtoQueryInfoThis field is from query_info in DTO.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo
homeautomationMetadataDevice meta data.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData
listlist of HomeAutomationDeviceItem. After migration completes, we will mark the above 4 field as deprecated and only use this field.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9list(AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem)
matchedItemKeyCorresponding to casse matched_item CustomTypeItem key.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9String
matchedItemRawvalueCorresponding to casse Argument raw_value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9String
matchedItemValueCorresponding to casse matched_item CustomTypeItem value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9list(String)
homeautomationMetadataDevice meta data.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemAssistantVerticalsHomeautomationProtoHomeAutomation_MetaData
matchedItemKeyCorresponding to casse matched_item CustomTypeItem key.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemString
matchedItemRawvalueCorresponding to casse Argument raw_value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemString
matchedItemValueCorresponding to casse matched_item CustomTypeItem value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemlist(String)
productIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.integer
uniqueIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.String
vendorIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.integer
addressAssistantVerticalsHomeautomationProtoPhysicalLocationString
geoLocationAssistantVerticalsHomeautomationProtoPhysicalLocationGoogleTypeLatLng
iamCheckRequiredWhen true, role_type will be ignored, Nest IAM RPC will called to check authority.AssistantVerticalsHomeautomationProtoRoleInformationRepresents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/boolean
roleTypeAssistantVerticalsHomeautomationProtoRoleInformationRepresents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/String
enterpriseIdThe enterprise that owns the structure. E.g. Disney, Dream Hotel, etc. This is used for log/analytics purpose. For privacy reasons, we log at enterprise level instead of structure level.AssistantVerticalsHomeautomationProtoSmartDeviceManagementDataString
circadianLightingEnabledFlag indicating whether the background Circadian Lighting effect is enabled for a particular light (go/circadian-lighting-e2e).AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
energySavingsEnabledFlag indicating whether automatic Energy Savings are enabled for this item.AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
gentleWakeupEnabledFlag indicating whether Gentle Wake Up is enabled for this item (go/sleep-wake-design).AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
homeAwayOverMatterEnabledFlag indicating whether the user has enabled / disabled sending Home/Away status updates to the device through the Google custom IntelligenceEvents Matter cluster. (go/google-clusters-design)AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
conciergeFeaturesAssistantVerticalsHomeautomationProtoSupportedStructureFeaturesThe features a structure supports.AssistantVerticalsHomeautomationProtoConciergeFeatures
deviceIdThe unique device on which the mention occurred. For example, if the user has two Google Home devices, this indicates which of the two was used.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AssistantApiCoreTypesDeviceId
eventIdID of the event that resulted in this entity mention. For user and system turn AEs, this is taken from the ConversationSnapshotId of the snapshot containing this mention. For client AEs, this is empty. This can be used to join back this particular mention to the specific “turn” in which this mention took place.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13EventIdMessage
factoidScoreIf this mention corresponds to a WebAnswer, then this defines the score associated with that answer.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13number
listEntryInfoIf present, this entity was mentioned as part of a larger list.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesMentionPropertiesListEntryInfo
recencyEstimates the recency of the mention. This is internally computed at runtime on a turn-by-turn basis.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13String
roleThe semantic role that the entity was used in.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSemanticRoleId
salienceHow salient this mention is. This field will only be set if the mention is derived from a SearchAnswerValue. See go/webresultsdata-as-aes for more details.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13String
sourceContains metadata about the source of the mention.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesMentionPropertiesSource
spatialPropertiesIf present, properties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSpatialProperties
surfaceFormDetails about how this mention was presented.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSurfaceForm
timestampUnix timestamp noting (approximately) when this mention occurred. We do not guarantee that the time will correspond precisely to when the user uttered/heard a response. If mentions within a single turn have *different* timestamps, they should accurately reflect the order in which the mentions occurred. If that order is unknown, they should all have the same timestamp.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13DateTime
indexThe index of the entity presented to the user. NOTE: Indexing starts from 0.AttentionalEntitiesMentionPropertiesListEntryInfoContains information about how an entity was presented as part of a list.String
lexicalGroundingsIdA string which uniquely identifies the list item this entity represents in the list. For example, consider the “OrderPizza” intent with the “size” slot: U: I want to order a pizza A: Sure. What size do you want: large, medium, or small? U: Gigantic The lexical_groundings_id can be “large” to identify the large item in the list. This lexical_groundings_id together with the semantic role fields (i.e., role.intent_id & role.role_id) can be used to match the nlp_semantic_parsing::LexicalGroundings::ValueTermType to utilize lexical grounding for i18n of static list selection items. Note that this field only needs to be populated when developers expect to provide lexical groundings for the list item this entity represents. Effectively, this field will be populated when this entity is published by ListPresentationFrame and the ::quality::dialog_manager::IntentStageSignals::FieldCandidate.lexical_groundings_id field is populated. See go/lpf-i18nv2 & go/taskstate-ae-sync for more details.AttentionalEntitiesMentionPropertiesListEntryInfoContains information about how an entity was presented as part of a list.String
clientAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceClient
systemAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceSystem
userAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceUser
intentIdSemantic roles will be defined locally, within the context of a single task/feature. The |intent_id| is a unique identifier for such a local cluster. In most cases, this should be exactly the same as the name of the intent used for TaskState (see go/assistant-intent-catalog). In cases where the intent isn’t well-defined, this can be an arbitrary, feature-defined identifier.AttentionalEntitiesSemanticRoleIdUniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.String
roleIdIdentifier for a semantic role, unique within the namespace of |intent_id|. When this role corresponds to a slot in the intent, the |role_id| should be equal to the name of that argument. For example, consider an entry in the intent catalog: core_intent { id { id: “BookARide” } slot { name: “provider” type { string_type { } } } slot { name: “num_riders” type { number_type { } } } } Then, the |role_id| would be “provider” or “num_riders” when referring to one of these slots. NOTE: when responding to the user, the Assistant may actually make use of other roles such as “ETA” or “driver” that are not part of the intent declaration. These should still be assigned consistent semantic roles. For example, a dialog with the Shopping feature: User: Where can I buy XYZ? Google: [Best Buy in Sunnyvale] has [XYZ] in stock. User: Great! Give me directions. In this case, both “Best Buy” and “XYZ” would be pushed to attentional entities. Best Buy, in this case, may not be an argument in the ShoppingItemStockInquiry intent, but should still have a consistent |role_id| such as “possessing_business”.AttentionalEntitiesSemanticRoleIdUniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.String
visibilityAttentionalEntitiesSpatialPropertiesProperties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).String
textAttentionalEntitiesSurfaceFormHow the entity was presented in this mention at a surface level. For example, “President Barack Obama” or “Barack Obama” or “he” might all be reasonable surface forms for the MID /m/02mjmr.String
biasingfieldBiasingPerDocDataThis data is expected to appear in approximately 2 out of every 1,000 documents with an average of 2 fields per document. Rough order of size is in the hundreds of kilobytes per Mustang shard.list(BiasingPerDocDataBiasingField)
biasingFieldBiasingPerDocData2A replacement for BiasingPerDocData that is more efficient wrt size in the index.list(BiasingPerDocData2BiasingField)
compressedNameA fingerprint of the actual name of the field.BiasingPerDocData2BiasingFieldinteger
valueThe value, under various representations to get maximum compression. Exactly one of them is guaranteed to be filled. value as a double.BiasingPerDocData2BiasingFieldfloat
valueFloata floating value, represented as an integer by converting using floating_value * 1000. Useable for all floating values that need 3 digits of precision, and are small enough.BiasingPerDocData2BiasingFieldinteger
valueIntvalue as an int32. When the value is encode-able as an integer.BiasingPerDocData2BiasingFieldinteger
NameFingerprint of the attribute name (no need to keep long field names)BiasingPerDocDataBiasingFieldMetadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjusterString
ValueBiasing value translated into a double for uniform comparisonBiasingPerDocDataBiasingFieldMetadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjusterfloat
BlobIDBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
OptionsBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
RefIDBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
ShardBinBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.integer
SizeSize of the complete blob, in bytes.BlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
SourceV2BlobIDThe ID of the V2 blob this blob hasBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
V2ReadBlobTokenDeprecated.BlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
blogurlFpused for blogurl crowding.BlogPerDocDataAdditional data for Blog/PostsString
clientSpamminessThis score captures how spammy the client is that the micropost was created with. The higher the score the worse.BlogPerDocDataAdditional data for Blog/Postsinteger
convTreeFor the threaded conversation view. Only populated in docs with provider type SYNTHETIC_CONVERSATION_DOC.BlogPerDocDataAdditional data for Blog/PostsBlogsearchConversationTree
copycatScoreBlogPerDocDataAdditional data for Blog/Postsinteger
docQualityScoreBlogPerDocDataAdditional data for Blog/Postsinteger
isSyntacticReshareA syntactic reshare is a document that is * created from an original and shared with friends and * we detect this resharing property by syntactically parsing the doc. . For example, a retweet is an example of a syntactic_reshare because we can detect that it’s a reshare by grepping for “RT @”.BlogPerDocDataAdditional data for Blog/Postsboolean
microblogQualityExptDataExperimental data for quality experiments. This will NOT be populated in prod, but we will use this for experiments.BlogPerDocDataAdditional data for Blog/PostsProto2BridgeMessageSet
numMentionsFor replies/reshares. num_mentions = number of times the pattern @foo appears in the document.BlogPerDocDataAdditional data for Blog/Postsinteger
outlinksBlogPerDocDataAdditional data for Blog/Postslist(BlogPerDocDataOutlinks)
postContentFingerprintThe fingerprint for the body text of the microblog post. It is copied from MicroBlogPost.post_content_fingerprint.BlogPerDocDataAdditional data for Blog/Postsinteger
qualityScoreBlogPerDocDataAdditional data for Blog/Postsinteger
spamScoreBlog scoring signals.BlogPerDocDataAdditional data for Blog/Postsinteger
universalWhitelistedBlogPerDocDataAdditional data for Blog/Postsboolean
userQualityScoreUser and doc quality scores for updates (aka microposts).BlogPerDocDataAdditional data for Blog/Postsinteger
aggregationFpRepresentative id for an equivalence class of URLs. E.g. http://youtube.com/watch?v=12 and http://youtube.com/watch?v=12&feature=related have the same aggregation id since they’re effectively the same webpageBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
resolvedUrlBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
siteSpamScoreBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).integer
titleBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
authorNameThe username of the author of the microblog post represented by this node.BlogsearchConversationNodeString
childrenA list of docids of child nodes.BlogsearchConversationNodelist(String)
dateThe creation date of the doc.BlogsearchConversationNodeString
docidDocid of the microblog post represented by this node.BlogsearchConversationNodeString
parentThe docid of the parent node. The root of the tree will leave this empty.BlogsearchConversationNodeString
convIdThe id of this conversation.BlogsearchConversationTreeString
nodesThe nodes in this conversation. No particular order is assumed.BlogsearchConversationTreelist(BlogsearchConversationNode)
modulesList of supported modules for a business.BlueGingerClientVisibleProtoBlueGingerSupportedServicesInformation to indicate BG availability for businesses. This message is filled from Topic Server and stored in the GSR in Superroot.list(BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule)
nameModule name, e.g. hairdresser_reservation. from quality/views/extraction/kcube/bg/modules/modules.bzl.BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModuleString
servicesServices of this module that are supported by the business, e.g. haircuts.BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModulelist(String)
useCaseBlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModuleString
bookIdthe book id for the main citationBookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesString
discretizedCitationScorethe discretized citation score for the main book. we map the raw score 1.0-20.0 to 0 – 127BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesinteger
previewableIs there a preview or excerpt of the book on this document?BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesboolean
secondBookIdbook id for the second citation if we can’t separate the two top citations (they are too close).BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesString
secondDiscretizedCitationScorethe discretized score for the second citationBookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesinteger
dayopenBusinessHoursWe divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.integer
intervalBusinessHoursWe divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.list(BusinessHoursInterval)
endThe interval ends at the start of this secondBusinessHoursIntervalinteger
startTime in seconds since Midnight-Monday-MornBusinessHoursIntervalinteger
expiryTimeMicrosTime since epoch (micros) that this will expireChatBotPlatformBotSendTokenToken to be exposed and stored by the botString
sendTokenEncrypted InternalSendTokenChatBotPlatformBotSendTokenToken to be exposed and stored by the botString
idWhen used as a user ID, it’s the phone number of the sender. When used as a session ID: For group conversation, it is the group ID. For 1 to 1, it is the receiver or sender phone number. For 1 to bot, it is the receiver phone number or empty.ChatBotPlatformFireballIdGoogleInternalCommunicationsInstantmessagingV1Id
classificationClassifierPornClassifierDataNext ID: 6list(ClassifierPornClassifierDataClassification)
imageBasedDetectionDoneRecords whether the image linker is run already. This is only used for Alexandria but NOT for Segindexer.ClassifierPornClassifierDataNext ID: 6boolean
timestampClassifierPornClassifierDataNext ID: 6String
labelClassifierPornClassifierDataClassificationString
scoreClassifierPornClassifierDataClassificationnumber
classifierdataClassifierPornDocumentDataNext ID: 3ClassifierPornClassifierData
sitedataClassifierPornDocumentDataNext ID: 3ClassifierPornSiteData
csaiClassificationThis field is only filled for the CSAI vertical.ClassifierPornQueryClassifierOutputGeneric output for one vertical.String
debugHuman-readable debug information about the classification. This field is only set if output_debug is set in the classification input.ClassifierPornQueryClassifierOutputGeneric output for one vertical.String
isPositiveThe bit that shows if this classifier outputs positive classification for the input query. Set by thresholding with a recommended threshold.ClassifierPornQueryClassifierOutputGeneric output for one vertical.boolean
scoreThe score that the classifier assigned to the input query. This is filled by all verticals.ClassifierPornQueryClassifierOutputGeneric output for one vertical.number
csaiClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
fringeClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
medicalClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
minorClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
offensiveClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
pornClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
spoofClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
violenceClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
vulgarClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
queryTextPornScoreA query text porn score for the queries which have clicks to the image: query_text_porn_score := sum(clicks(query) * text_porn_score(query)) / sum(clicks(query))ClassifierPornQueryStatsQuerySats contains the information about the queries that users typed to search for this image.number
totalClicksClassifierPornQueryStatsQuerySats contains the information about the queries that users typed to search for this image.number
adultClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
pornNumber of referrers which are classified as porn and as adult.ClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
totalTotal number of referrers.ClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
avgPedoPageScoreThe average pedo page score for the site.ClassifierPornSiteDataNext ID: 53number
finalPedoSiteScoreClassifierPornSiteDataNext ID: 53number
numberOfPagesThe number of pages that were used to compute the scores and ratios.ClassifierPornSiteDataNext ID: 53String
numberOfPedoPagesThe number of pages with pedo restrict.ClassifierPornSiteDataNext ID: 53String
siteSitechunk used to compute the signals. The field is present only for data created after December 2022.ClassifierPornSiteDataNext ID: 53String
sitePornRatioThe ratio of porn/softporn of the site this page belongs to.ClassifierPornSiteDataNext ID: 53number
siteSoftpornRatioClassifierPornSiteDataNext ID: 53number
versionedscoreClassifierPornSiteDataNext ID: 53list(ClassifierPornSiteDataVersionedScore)
violenceScoreThe cubic mean aggregation of violence page scores in the site.ClassifierPornSiteDataNext ID: 53number
violenceStatsClassifierPornSiteDataNext ID: 53ClassifierPornSiteViolenceStats
scoreClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.number
siteRuleClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.list(String)
versionClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.integer
verticals4ScorePlease talk to safesearch@ before relying on any of these internal fields:ClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.number
meanFinalViolenceScoreClassifierPornSiteViolenceStatsNext ID: 6number
numberOfImagesClassifierPornSiteViolenceStatsNext ID: 6String
numberOfVideosClassifierPornSiteViolenceStatsNext ID: 6String
videoViolenceScoreClassifierPornSiteViolenceStatsNext ID: 6number
cloudSqlInstanceConnectionNameOutput only. The CloudSQL instance connection name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
cloudSqlInstanceNameInput/Output [Optional]. The CloudSQL instance name within SLM instance. If not set, a random UUIC will be generated as instance name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
kmsKeyReferenceInput [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new CloudSQL instances. For existing CloudSQL instances, this field will be ignored because CMEK re-encryption is not supported.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
mdbRolesForCorpAccessInput [Optional]. MDB roles for corp access to CloudSQL instance.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.list(String)
slmInstanceNameOutput only. The SLM instance’s full resource name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
slmInstanceTemplateInput [Required]. The SLM instance template to provision CloudSQL.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
slmInstanceTypeInput [Required]. The SLM instance type to provision CloudSQL.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
adminsCloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.list(String)
bucketNameInput/Output [Optional]. The name of a GCS bucket with max length of 63 chars. If not set, a random UUID will be generated as bucket name.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
entityNameInput/Output [Optional]. Only needed for per-entity tenant GCP resources. During Deprovision API, the on-demand deletion will only cover the tenant GCP resources with the specified entity name.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
kmsKeyReferenceInput/Output [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new GCS bucket. For existing GCS bucket, this field will be ignored because CMEK re-encryption is not supported.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
ttlDaysInput/Output [Optional]. Only needed when the content in bucket need to be garbage collected within some amount of days.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.integer
viewersInput/Output [Required]. IAM roles (viewer/admin) put on the bucket.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.list(String)
membersInput/Output [Required]. The member service accounts with the roles above. Note: placeholders are same as the resource above.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.list(String)
resourceInput/Output [Required]. The resource name that will be accessed by members, which also depends on resource_type. Note: placeholders are supported in resource names. For example, ${tpn} will be used when the tenant project number is not ready.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
resourceTypeInput/Output [Required]. Specifies the type of resource that will be accessed by members.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
roleInput/Output [Required]. The role for members below.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
createDatabaseOptionsInput [Optional]. The options to create a spanner database. Note: give the right options to ensure the right KMS key access audit logging and AxT logging in expected logging category.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions
kmsKeyReferenceInput [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new Infra Spanner databases. For existing Infra Spanner databases, this field will be ignored because CMEK re-encryption is not supported. For example, projects//locations//keyRings//cryptoKeys/CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
sdlBundlePathInput [Required]. The file path to the spanner SDL bundle.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerBorgServiceAccountInput [Optional]. The spanner borg service account for delegating the kms key to. For example, [email protected], for the nonprod universe.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerLocalNamePrefixCloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerNamespaceCloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerUniverseInput [Required]. Every database in Spanner can be identified by the following path name: /span//:CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
cmekCloudResourceNameThe cloud resource name for the CMEK encryption. For example, projects//locations/CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
cmekCloudResourceTypeThe cloud resource type for the CMEK encryption. For example, contentwarehouse.googleapis.com/LocationCloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
cmekServiceNameThe service name for the CMEK encryption. For example, contentwarehouse.googleapis.comCloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
serviceAccountEmailOutput only. The service account email that has been created.CloudAiPlatformTenantresourceServiceAccountIdentityThe identity to configure a service account.String
tagInput/Output [Optional]. The tag that configures the service account, as defined in google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. Note: The default P4 service account has the empty tag.CloudAiPlatformTenantresourceServiceAccountIdentityThe identity to configure a service account.String
billingConfigInput/Output [Required]. The billing account properties to create the tenant project.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.GoogleApiServiceconsumermanagementV1BillingConfig
folderInput/Output [Required]. The folder that holds tenant projects and folder-level permissions will be automatically granted to all tenant projects under the folder. Note: the valid folder format is `folders/{folder_number}`.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.String
policyBindingsInput/Output [Required]. The policy bindings that are applied to the tenant project during creation. At least one binding must have the role `roles/owner` with either `user` or `group` type.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.list(GoogleApiServiceconsumermanagementV1PolicyBinding)
servicesInput/Output [Required]. The API services that are enabled on the tenant project during creation.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.list(String)
cloudSqlInstancesThe CloudSQL instances that are provisioned under the tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceCloudSqlInstanceConfig)
gcsBucketsThe GCS buckets that are provisioned under the tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceGcsBucketConfig)
iamPolicyBindingsThe dynamic IAM bindings that are granted under the tenant project. Note: this should only add new bindings to the project if they don’t exist and the existing bindings won’t be affected.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceIamPolicyBinding)
infraSpannerConfigsThe Infra Spanner databases that are provisioned under the tenant project. Note: this is an experimental feature.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceInfraSpannerConfig)
tagInput/Output [Required]. The tag that uniquely identifies a tenant project within a tenancy unit. Note: for the same tenant project tag, all tenant manager operations should be idempotent.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantProjectConfigThe configurations of a tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10CloudAiPlatformTenantresourceTenantProjectConfig
tenantProjectIdOutput only. The tenant project ID that has been created.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantProjectNumberOutput only. The tenant project number that has been created.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantServiceAccountsThe service account identities (or enabled API service’s P4SA) that are expclicitly created under the tenant project (before JIT provisioning during enabled API services).CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceTenantServiceAccountIdentity)
p4ServiceAccountsA list of P4 service accounts (go/p4sa) to provision or deprovision.CloudAiPlatformTenantresourceTenantResourceA collection of tenant resources.list(CloudAiPlatformTenantresourceServiceAccountIdentity)
tenantProjectResourcesA list of tenant projects and tenant resources to provision or deprovision.CloudAiPlatformTenantresourceTenantResourceA collection of tenant resources.list(CloudAiPlatformTenantresourceTenantProjectResource)
serviceAccountEmailOutput only. The email address of the generated service account.CloudAiPlatformTenantresourceTenantServiceAccountIdentityThe identity of service accounts that have been explicitly created under tenant projects.String
serviceNameInput/Output [Required]. The service that the service account belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts)CloudAiPlatformTenantresourceTenantServiceAccountIdentityThe identity of service accounts that have been explicitly created under tenant projects.String
confidenceThe confidence of the tag, encoded to 14 bits (range [0, 16383]). Due to modeling details, a large number of tags become trustworthy with confidence greater than 0.001, so two bytes of precision are required.CommerceDatastoreDeepTagThe basic message that contains a single decision output of go/deeptagger.integer
tagA Deep Tag enum in uint32 form.CommerceDatastoreDeepTagThe basic message that contains a single decision output of go/deeptagger.integer
modelOutputsThe set of outputs for a series of model versions. The size of this field should not extend beyond 4 at any time: two versions for slow-update track dependencies, and two versions for fast-update track dependencies.CommerceDatastoreImageDeepTagsImage-level deep tags: essentially equivalent to the proto above but containing tags that are computed at the image level. These image signals are maintained by the Visual Shopping team (visual-shopping@). *** If you do use the signals, please add an entry in go/ShoppingImageAttributeClients to be notified for model upgrade. *** We recommend our clients against using the raw confidence value directly. Instead, the clients should use the library, cs/ads/shopping/visual/deeptags/public/single_tag.h and cs/ads/shopping/visual/deeptags/public/single_scored_tag.h to specify an operating point in terms of precision or recall. See the following code example: http://google3/shopping/visual/explore_looks/looks_offline_pipeline.cc?l=268&rcl=304165166 *** `model_outputs` is a repeated field. Please check `version` to get the model you desire to use, instead of indexing the model_outputs directly e.g. model_outputs(0). We will remove the old versions in the future and this will lead to incorrect model. *** Models: As of Q2 2020, we have two models running within Shopping: model one only has the overlay tag, which we are deprecating, and model two has the tags specified in go/VisualShoppingImageAttributes.list(CommerceDatastoreImageDeepTagsModelOutput)
backgroundTypeCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
collageCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
croppingWe are looking to deploy a model for the Ads team to identify images with bad cropping. The model will be for Ads only and we will not populate the cropping field in CDS.CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
modelTypeCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
nfsTag corresponds to the shopping non-family safe (nfs) image signal.CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
objectCountCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
overlayTag corresponding to unwanted text overlay (watermarks, logos, promotional elements, artifacts, etc).CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
selfieCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
textOverlayTag corresponding to the text overlay classifier (watermarks, logos, promotional elements, artifacts, etc).CommerceDatastoreImageDeepTagsModelOutputlist(CommerceDatastoreDeepTag)
versionCommerceDatastoreImageDeepTagsModelOutputinteger
localizedvariationsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocLocalizedVariations
localizedAlternateNameLocalized alternate names are similar to alternate names, except that it is associated with a language different from its canonical. This is the subset of webmaster-provided localized alternate names being in the dup cluster of this document. Used during serving for swapping in the URL based on regional and language preferences of the user.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(IndexingConverterLocalizedAlternateName)
forwardingdupCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocForwardingDup)
perDocDataCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194PerDocData
accessRequirementsContains necessary information to enforce row level Docjoin access control.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingPrivacyAccessAccessRequirements
propertiesCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194DocProperties
badSslCertificateThis field is present iff the page has a bad SSL certificate itself or in its redirect chain.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingBadSSLCertificate
extradupCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocExtraDup)
subindexidCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(String)
ptokenContains information necessary to perform policy decision on the usage of the data assosiated with this cdoc.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194PtokenPToken
richcontentDataIf present, indicates that some content was inserted, deleted, or replaced in the document’s content (in CompositeDoc::doc::Content::Representation), and stores information about what was inserted, deleted, or replaced.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingConverterRichContentData
scaledIndyRankto copy to per-docCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194integer
cseIdCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(QualityProseCSEUrlInfo)
indexingIntermediateSerialized indexing intermediate data.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
docVideosInfo about videos embedded in the document.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(ImageRepositoryVideoProperties)
indexinginfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocIndexingInfo
localinfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194LocalWWWInfo
storageRowTimestampMicrosRow timestamp in CDoc storage.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
partialUpdateInfoOnly present in partial cdocs.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocPartialUpdateInfo
additionalchecksumsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocAdditionalChecksums
anchorsMark as non-personal since no personal fields will be populated in `anchors.link_additional_info` and `anchors.additional_info`. For more details of Search personal data, see go/dma52-search-cdoc-fields.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Anchors
registrationinfoInformation about the most recent creation and expiration of this domain. It’s extracted from domainedge signal.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194RegistrationInfo
docAttachmentsA generic container to hold document annotations and signals. For a full list of extensions live today, see go/wde.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Proto2BridgeMessageSet
docinfoPassthroughAttachmentsThis message set is used for data pushed into the index using the signals framework that is never to be used in Mustang or TG Continuum scoring/snippeting code. Any protocol buffer stored in this message set is automatically returned in a docinfo response – it ends up in the “info” message set in the WWWSnippetResponse, so it can be used in post-doc twiddlers and for display in GWS with no code changes in Mustang or Teragoogle.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Proto2BridgeMessageSet
docImagesInfo about “selected” images associated with the document for which we (already) have ImageData. For each image URL, some fixed number of documents are selected as web referrers for the image URL, and within those selected documents, we say the image is “selected”. Within the remaining documents, we say the image is “rejected”. Note that this distinction is slightly different from selected for indexing. Only images within doc_images where is_indexed_by_imagesearch is true will be selected for indexing. You can find the rejected images at composite_doc.doc_attachments().get(). You can find images that are selected, but for which we have no ImageData (yet) at composite_doc.image_indexing_info().selected_not_indexed_image_link()CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(ImageData)
includedcontentCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocIncludedContent)
porninfoPorn related data used for image and web search porn classification as well as for diagnostics purposes.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194ClassifierPornDocumentData
urldateDate in the url extracted by quality/snippets/urldate/date-in-url.cc This is given as midnight GMT on the date in question.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
embeddedContentInfoData produced by the embedded-content system. This is a thin message, containing only embedded_links_info data for the embedder and JavaScript/CSS embedded links (the embedded-content bigtable also contains snapshots, compressed document trees and all embedded link types). Provided using the index signal API.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingEmbeddedContentEmbeddedContentInfo
richsnippetrich snippet extracted from the content of a document.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194RichsnippetsPageMap
qualitysignalsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocQualitySignals
anchorStatsMark as non-personal since it’s an aggregation of anchors. For more details of Search personal data, see go/dma52-search-cdoc-fields.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingDocjoinerAnchorStatistics
alternatenameCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocAlternateName)
dataVersionContains the tracking version of various data fields in CompositeDoc.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingDocjoinerDataVersion
syntacticDateCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194QualityTimebasedSyntacticDate
urlWARNING!!! “url” field in CompositeDoc is optional, and is usually missing: e.g., Docjoin CompositeDoc’s don’t have CompositeDoc::url. has_url() checking is often useful. So don’t rely on CompositeDoc::url unless you’re sure otherwise. Usually you want to use CompositeDoc::doc::url instead.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
docjoinsOnSpannerCommitTimestampMicrosThe commit timestamp of a CDoc update to Docjoins on Spanner.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
ContentChecksum96Visible content checksum as computed by repository::parsehandler::checksum::Checksum96bitsParseHandler. The value is a Fprint96 in “key format” (i.e., by Fprint96::AsKey()).CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
liveexperimentinfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocLiveExperimentInfo
labelDataThis field associates a document to particular labels and assigns confidence values to them.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194QualityLabelsGoogleLabelData
sitemapSitelinks: a collection of interesting links a user might be interested in, given they are interested in this document. WARNING: this is different from the crawler Sitemaps (see SitemapsSignals in the attachments).CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Sitemap
robotsinfolistCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocRobotsInfoList
docCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194GDocumentBase
csePagerankCutoffURL should only be selected for CSE Index if it’s pagerank is higher than cse_pagerank_cutoff.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194integer
NoTransientChecksum96Same as ContentChecksum96 but without transient boilerplate.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
SimHashDeprecated. Use simhash_v2 and simhash_v2_significance instead.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
SimHashIsTrustedCompositeDocAdditionalChecksumsAdditional checksums of the document.boolean
simhashV2Simhash-v2 is generated by SimHashParseHandler, designed as a complete replacement of simhash-v1 (a.k.a. the original simhash above) from ApproxDupsParseHandler. Simhash-v2 uses a revised algorithm so that it is expected to work better in most cases than simhash-v1. They coexist in current transition period, then simhash-v1 will be retired.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
simhashV2SignificanceSimhash-v2-significance is used to describe the confidence about the corresponding simhash-v2 value. It is defined as the average absolute difference from zero of all internal state components when finalizing a simhash-v2 value in HashMultiSetDotCauchy. We used to compare the significance against some pre-defined threshold (default: 20) to get a boolean value “trusted_simhash_v2”. However, it is possible that this field is missing while “simhash_v2” is present, in such case (1) Use “SimHashIsTrusted” instead if it is present, AND/OR (2) Assume “simhash_v2” is trusted if its value is non-zero.CompositeDocAdditionalChecksumsAdditional checksums of the document.float
UrlCompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.String
UrlEncodingSee webutil/urlencodingCompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.integer
ecnFpFp96 of webmirror equivalence class as of last time this was exported.CompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.String
ecnFpFp96 of webmirror equivalence class as of last time this was exported.CompositeDocExtraDupThe top non-forwarding dups of the canonical url.String
urlThe url of the non-forwarding dup.CompositeDocExtraDupThe top non-forwarding dups of the canonical url.String
ecnThe name of the url’s webmirror equivalence class.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
ecnFpCompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
purposesThe purpose(s) of the forwarding dup indicating if it is used for forwarding signal/anchors generally, or only for forwarding some specific signal (e.g. navboost), or for some other purposes (e.g., not for forwarding any data but for making “info:” complete). See indexing/dups/public/dups.h for more details.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
rawPagerankRaw pagerank of the url.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
repidThe webmirror repid of the forwarding dup.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
urlThe url of the forwarding dup.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
urlencodingThe encoding of the url (see webutil/urlencoding for details).CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
SourceTypeBitfieldIndicate how this content came to be included. Legal values are constructed by bitwise-OR-ing values from the included_content::SourceType enum. Default SourceTypeBitfield = included_content::INCLUDED_FRAMECompositeDocIncludedContentString
includedDocCompositeDocIncludedContentGDocumentBase
linkUrlCompositeDocIncludedContentString
perDocDataCompositeDocIncludedContentPerDocData
propertiesCompositeDocIncludedContentDocProperties
cdocBuildInfoTo hold extra info for building a final cdoc from raw cdoc and goldmine annotations.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.IndexingDocjoinerCDocBuildInfo
contentProtectedWhether current page is under content protection, i.e. a page has been crawled as an error page, but we preserve its last known good content and keep its crawl_status as converter.CrawlStatus::CONTENT.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.boolean
convertToRobotedReasonIf set, indicates that the crawl status was converted to ROBOTED for the reason specified by the enum value in converter.RobotedReasons.ConvertToRobotedReasons. See indexing/converter/proto/converter.proto for details. If unset, then the document was not converted to roboted, and if the document crawl status is ROBOTED, then the document is disallowed (at least to Google) in robots.txt.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
crawlStatusOne of the enum values in converter.CrawlStatus.State (see indexing/converter/proto/converter.proto for details). Default is converter.CrawlStatus::CONTENT. The document is roboted if the value is converter.CrawlStatus::ROBOTED.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
demotionTagsCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
errorTypeOne of the enum values in converter.ErrorPageType (see indexing/converter/proto/error-page-detector-enum.proto for detail). Default is converter::ERROR_PAGE_NONE.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
freshdocsCorporaCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
hostidThe host id of the document. Used chiefly to determine whether the document is part of a parked domain.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
ieIdentifierA short descriptive string to help identify the IE application or setup where this CDoc is generated. For example: websearch_m3 This field is for debuggability purposes.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
imageIndexingInfoIndexing info about images (i.e. image links missing image data, etc).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.ImageSearchImageIndexingInfo
indexingTsThe timestamp (the time since the Epoch, in microseconds) when the docjoin is exported from indexing. The main purpose of this field is to identify different versions of the same document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
noLongerCanonicalTimestampIf set, the timestamp in microseconds when the URL stopped being canonical. This should never be set for exported canonical documents. This field is used by dups during canonical flip, and by webmain when doc selection switched between desktop and mobile. Union respects this timestamp to prevent old doc being deleted until the new doc is picked upCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
normalizedClickScoreThis score is calculated by re-mapping the back onto the partition’s score distribution, such that the score represents the score of the equivalently ranked organically-selected document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.number
primaryVerticalVertical membership of the document. – `primary_vertical` is the vertical that initiated indexing of this document (or empty if the vertical was websearch). – `verticals` is the full list of verticals that contained this document (excluding websearch) at indexing time. `primary_vertical` may or may not be an element of `verticals` because of vertical membership skew between the ingestion time and indexing time. See go/one-indexing-for-web for more background.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
rawNavboostThe raw navboost count for the canonical url without aggregating the navboost from dup urls. This field is used when building forwarding map.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
rowTimestampThe timestamp (the time since the Epoch, in microseconds) to represent doc version, which is used in the downstream processing after Raffia. If it’s not set, indexing_ts will be used as row_timestamp. The timestamp is generally set by reprocessing to set slightly newer indexing_ts such that the system can respect the reprocessed version to overwrite old data in storage.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
selectionTierRankSelection tier rank is a language normalized score ranging from 0-1 over the serving tier (Base, Zeppelins, Landfills) for this document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.number
tracingIdThe tracing ids is to label the version of url for url status tracking. This repeated field will carry at most 10 tracing id. See more details in go/rich-tracing-design There will be less than 2% base+uz cdocs carrying this field. The major sources of tracing ids include: * Indexing API pushed urls * Index Metrics sampling urls The tracing ids will be written into cdocs by Webmain Ramifier. The consumer of the tracing ids is Union serving notification collector see more at go/serving-notification-from-unionCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
urlChangerateChangerate information for this doc (see crawler/changerate/changerate.proto for details).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.CrawlerChangerateUrlChangerate
urlHistoryUrl change history for this doc (see crawler/changerate/changerate.proto for details). Note if a doc has more than 20 changes, we only keep the last 20 changes here to avoid adding to much data in its docjoin.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.CrawlerChangerateUrlHistory
urlPatternSignalsUrlPatternSignals for this doc, used to compute document score in LTG (see indexing/signal_aggregator/proto/signal-aggregator.proto for details).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.IndexingSignalAggregatorUrlPatternSignals
verticalsCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
videoIndexingInfoIndexing info about videos.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.ImageRepositoryVideoIndexingInfo
perLiveExperimentInfoList of necessary information for each live experiments.CompositeDocLiveExperimentInfoContains information needed for end-to-end live experiments. For a cdoc generated by production pipeline, it includes experiment IDs that have selected current document. For a cdoc generated by experiment pipeline, it includes current experiment ID.list(CompositeDocLiveExperimentInfoPerLiveExperimentInfo)
experimentIdID of a live experiment.CompositeDocLiveExperimentInfoPerLiveExperimentInfoContains information for a live experiment.String
partialCdocPartial CDoc for a live experiment.CompositeDocLiveExperimentInfoPerLiveExperimentInfoContains information for a live experiment.CompositeDoc
dupsComputedAlternateNamesA subset of computed variations, only the members which are dups to the main url. Used during serving for swapping in the URL based on regional and language preferences of the user.CompositeDocLocalizedVariationslist(IndexingDupsComputedLocalizedAlternateNamesLocaleEntry)
webmasterAlternateNamesAll localized alternate names provided by the webmaster (canonical and dups, indexed and not-indexed). Used on the ranking side for swapping out results based on the webmaster preference.CompositeDocLocalizedVariationslist(IndexingConverterLocalizedAlternateName)
goldmineAnnotatorNamesList of goldmine annotator updates present in the enclosing partial cdoc.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
imagesSignalNamesList of images signal updates present in the enclosing partial cdoc. Images signal name for a images signal is the unique name for the signal according to SignalSpec.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
lastFullIndexingInfoContains last full indexing information for partial updates.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(CompositeDocPartialUpdateInfoLastFullIndexingInfo)
shouldLookupDocjoinsTierWhich tier we should do cdoc lookup to merge partial cdocs. This uses the integer value of indexing.selection.CorpusId. NOT intended for other usage.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.integer
shouldLookupDocjoinsVerticalCorpusWhich vertical docjoin corpus we should do cdoc lookup to merge partial cdocs. This uses the string value of table name in google3/indexing/docjoins/spanner/schema/global_tables_data.sdl. For example, Voce and ShortVideo. NOT intended for other usage.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.String
signalNamesList of signal updates present in the enclosing partial cdoc. Signal name for a signal is unique name for the signal according to SignalSpec.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
corpusThe corpus of last full updates.CompositeDocPartialUpdateInfoLastFullIndexingInfoLast full indexing information for the partial CDoc.String
lastFullIndexingTsMicrosLast full update indexing timestamp in microseconds.CompositeDocPartialUpdateInfoLastFullIndexingInfoLast full indexing information for the partial CDoc.String
lastSignificantUpdateContains a date used for the “Date Last Modified” toolbelt restrict mode. Note: this date is a combined date and is different from the pure shingle-based signal stored in contentage.last_significant_update field.CompositeDocQualitySignalsNote: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they’re not particularly sensitive.QualityTimebasedLastSignificantUpdate
pagetypeCompositeDocQualitySignalsNote: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they’re not particularly sensitive.QualityTimebasedPageType
newsRobotsInfoCompositeDocRobotsInfoListList of robots info parsed for the user-agents other than the default used to crawl this page.IndexingConverterRobotsInfo
ugcDiscussionEffortScoreUGC page quality signals. (Times 1000 and floored)CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPPromotePageCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalQstarDeltaSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new delta components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
productReviewPDemoteSiteProduct review demotion/promotion confidences. (Times 1000 and floored)CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalQstarSiteSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new site components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
exactMatchDomainDemotionPage quality signals converted from fields in proto QualityBoost in quality/q2/proto/quality-boost.proto. To save indexing space, we convert the float values in [0, 1] to integers in range [0, 1023] (use 10 bits). exact_match_domain_demotion: converted from QualityBoost.emd.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
nsrVersionedDataVersioned NSR score to be used in continuous evaluation of the upcoming NSR version and assess quality impact on various slices. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(NSRVersionedItem)
nsrConfidenceNSR confidence score: converted from quality_nsr.NsrData. This field is deprecated – use nsr_variance inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
lowQualityS2V low quality score: converted from quality_nsr.NsrData, applied in Qstar. See quality_nsr::util::ConvertNsrDataToLowQuality.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
navDemotionnav_demotion: converted from QualityBoost.nav_demoted.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pqDataEncoded page-level PQ signals.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
siteAuthoritysite_authority: converted from quality_nsr.SiteAuthority, applied in Qstar.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsNewUrlSignalsFor craps_[url|pattern]_signals, please avoid accessing these fields directly, even in minor ways like checking has_craps_*. Instead, please use methods from quality/navboost/craps/craps-lossy-compression.h or talk to craps-team@.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
babyPandaV2DemotionNew BabyPanda demotion, applied on top of Panda. This is meant to replace |baby_panda_demotion|.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
authorityPromotionauthority promotion: converted from QualityBoost.authority.boostCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPUhqPageThe possibility of a page being a high quality review page.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsAbsoluteHostSignalsImpressions, unsquashed, host level, not to be used with compressed ratios. Not to be used in Pattern Data.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPPromoteSiteCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
nsrOverrideBidNSR override bid, used in Q* for emergency overrides. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
babyPandaDemotionbaby_panda_demotion: converted from QualityBoost.rendered.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
serpDemotionserp demotion: applied in Qstar.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
anchorMismatchDemotionanchor_mismatch_demotion: converted from QualityBoost.mismatched.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsNewHostSignalsCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
experimentalQstarSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
pairwiseqScoringDataDeprecated and unused field.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43PairwiseQScoringData
topicEmbeddingsVersionedDataVersioned TopicEmbeddings data to be populated later into superroot / used directly in scorers.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(QualityAuthorityTopicEmbeddingsVersionedItem)
scamnessScam model score. Used as one of the web page quality qstar signals. Value range from 0 to 1023.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsUnscaledIpPriorBadFractionCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pandaDemotionThis is the encoding of Panda fields in the proto SiteQualityFeatures in quality/q2/proto/site_quality_features.proto. The encoding/decoding is performed using functions from quality_coati::coati_util.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
unauthoritativeScoreUnauthoritative score. Used as one of the web page quality qstar signals.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalNsrTeamWsjDataThis field is *not* propagated to shards, but it’s populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(QualityNsrExperimentalNsrTeamWSJData)
experimentalNsrTeamDataThis field is *not* propagated to shards, but it’s populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43QualityNsrExperimentalNsrTeamData
productReviewPReviewPageFields product_review_p_review_page and product_review_p_uhq_page are for promoting/demoting HQ/LQ review pages in NGS. See go/pr-boosts for details. The possibility of a page being a review page.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pqDataProtoStripped page-level signals, not present in the encoded field ‘pq_data’.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43QualityNsrPQData
pairwiseqVersionedDataVersioned PairwiseQ score to be used in continuous evaluation of the upcoming PairwiseQ versions and assess quality impact on various slices.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(PairwiseQVersionedItem)
crapsNewPatternSignalsCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
vlqNsrNSR for low-quality videos, converted from quality_nsr.NsrData.vlq_nsr. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPDemotePageCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
conceptIdConceptsConceptIdString
iduint64 bring lots of issues, and string a better practice.ConceptsConceptIdString
freshdocsOutgoingSelected outgoing attributions extracted on FreshDocs.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
offlineOutgoingSelected outgoing attributions extracted via offline MR jobs.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
onlineOutgoingSelected outgoing attributions extracted online on Alexandria.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
bestEvidenceTypeContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.String
docidContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.String
propertiesContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.integer
usableForClusteringContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.boolean
mustangBytesCompact representation for Mustang storage. See image/search/utils/packed_crops.h for details on the packing format.ContentAwareCropsIndexingString
mustangBytesVersionContentAwareCropsIndexinginteger
canonicalLexicalMidMid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be for “mother” in EN even if user referred to “mom”).CopleyLexicalMetadataContains lexical metadata for a given reference. For example, this proto will be used to store locale-specific Lexical mids for contact relationships (e.g. /g/11gv0vypg4 is the mid for mother in english and /g/11gmy_gv87 is for mother in french) as an extension to QRefAnnotation::other_metadata, when available.String
personalReferenceTypeThe manner in which the entity was referenced (e.g. “my hotel”, “the airport”).CopleyPersonalReferenceRepresents a reference made by a user that refers to some personal entity.String
referenceScoreThe strength of the personal reference. For example “my flight” may receive a high reference_score, whereas “the airport” may receive a low score.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.number
referencesA list of all references made. Empty if no personal references exist. Multiple references can be present when multiple references were made in a single query, or the type of reference was ambiguous.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.list(CopleyPersonalReference)
subreferenceMetadataSubreference metadata for all compound references on this span.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.CopleySubreferenceMetadata
sourceTypeMetadataCopleySourceTypeListlist(CopleySourceTypeMetadata)
contactAnnotationIdAnnotation ID of a contact annotation, e.g. a relationship set via Assistant. This ID is generated by People Write Server. It is used to delete Contact Annotations via People API.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
displayableNameCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
emailIdentifierOnly used if personal_data_provenance == PERSONAL_SOURCE_GMAIL. Used to create a link to the source email in the form: mail.google.com/mail/u/0/?extsrc=sync&client=h&plid={email_identifier}CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
eventIdPopulated for some footprints data sources; uniquely identifies the footprint that generated the personal data that this provenance is attached to.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13EventIdMessage
localDiscoverySettingsMetadataCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadata
personalDataProvenanceCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
personalDataTypeCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
provenanceCategoryCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13list(String)
sensitivitySensitivity applying to this copley annotation.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13KnowledgeAnswersSensitivitySensitivity
mostCompoundResolvedEntitiesResolved entities are sorted from highest resolution score to lowest.CopleySubreferenceMetadataRepresents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.list(CopleySubreferenceResolution)
mostNestedUnresolvedReferenceThis is a merged representation of the compound reference having the most_compound_resolved_entities as an argument.CopleySubreferenceMetadataRepresents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.CopleySubreferenceReference
personalReferenceTypesType of reference. There may be multiple for a single reference (e.g. relationship and contact).CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.list(String)
referenceScoreHighest reference score for any references merged in this span.CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.number
relationshipLexicalInfoOnly set for unresolved relationship references and can be used to get the canonical word for the relationship (e.g. “mother”) in TTS.CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.CopleyLexicalMetadata
midCan be used with PKG Service for looking up metadata about this entity at fulfillment/GenX time.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.String
nameName of the entity represented by this resolution.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.String
resolutionScoreA resolution score of 0 indicates that it did not resolve to a real entity.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.number
corpusCorpusSelectionInfoString
corpusScoreCorpus specific score for an imageCorpusSelectionInfonumber
isSelectedForIndexingWhether an image was selected for indexing.CorpusSelectionInfoboolean
referrerDocidSet of referrers indexed with the image.CorpusSelectionInfolist(String)
referrerUrlsSet of referrer urls indexed with the image.CorpusSelectionInfolist(String)
confidenceTo store confidence in the distribution in cases when total is not set.CountryClickDistributionfloat
itemCountryClickDistributionlist(CountryClickDistributionItem)
totalTo store total clicks on this page/domain.CountryClickDistributionfloat
doubleValueCountryClickDistributionItemfloat
nameCountryClickDistributionItemString
valueCountryClickDistributionIteminteger
debugA non critical field to store debug info for a country attachment. Used in experiments and for debugging.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
salientCountrySetCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44QualitySalientCountriesSalientCountrySet
provinceGeotokenListCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryProvinceGeotoken)
countryidFromUgcIs true if the country attachment was computed through the UGC pipeline.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
fromUrlPatternCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
weightAboveIdealForLocalnessIf result is global, store weight above ideal, as a confidence signal. Used in query localness, cleared in production CountryAttachment.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44float
existNextLevelCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
globalCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
urlPatternBasedCountryCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
fromLanguageFallbackBooleans to keep track of where the country-id of the page came from. These are used for debugging and/or unittests, and cleared in production.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
salientCountries[Experimental]: Top salient countries for a doc. If a country can not be found on this field it can be considered that this doc is not relevant to it.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountrySalientCountry)
fromRestrictsCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
relatedCountriestwo-letter(lower-case) countrycode, e.g. us countries that is related to, but not local toCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
relatedCountryCodesCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(integer)
sitenameDomain name of keys in filtering metro reducer class, used only by the intermediate mapreduces to produce filtered data.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromUgcCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
localCountryCodesFields that actually store the country id in docjoins. The format of this data is defined in //i18n/identifiers/stableinternalregionconverter.cc. Converter defined there can be used to convert it to RegionCode format.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(integer)
clickDistributionStore weighted click distribution for page level country-id classification.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44CountryClickDistribution
localCountriestwo-letter(lower-case) countrycode, e.g. us countries that is local toCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
geoLocationsNew MetroID: Now called GeoLocations since the locations could be sublocalities, cities or states. GeoLocations are always more fine grained than country. TODO (jayeshv): Once new MetroID/GeoLocations is launched everywhere, deleted old MetroID related fields.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44CountryGeoLocations
superGlobalSuper global pages get lesser demotion than global pages. A document can only be either global or super_global but not both.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
isValidForCountryRestrictSet to true if the local_countries field can be used for country restricts as well.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
documentLocationSourceSpecifies the origin of `geo_locations`. Right now, it can either come from deprecated Docloc system or the new Brainloc system when Docloc doesn’t have sufficient evidence.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromSgDomainsCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
fromWmxCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
userVisibleCountryFromLogsThis is used to store the visible country id computed from logs dataCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromTldCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
metroIdListMetro locations: list of NavBoost feature V2 associated with a doc, along with the enclosing province. Metro locations with new tags.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryMetroNBFeature)
restrictCountriesList of two-letter(lower-case) countrycodes(e.g. us) valid for restricts. Typically cloned out of local_countries if is_valid_for_country_restrict is set to true.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
debugSourceUrlSet to the signal source URLs when merging country signals in Alexandria during sitemoves. Essentially if sites A and B move to C, and we merge A and B’s signal to C, in the countryattachment signal C will have URL A and B as source_url. Only used for debugging and it doesn’t show up in docjoins.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
wmxCountryCountry specified for a web-site through webmaster console.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
metroNavboostMetro navboost: list of (NavBoost feature V2, navboost float) pairs.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryMetroNBFeature)
urlPatternBasedLanguageLanguage and country extracted using the URL pattern map.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
metroLocationIdMetro level data. metro_location_id stores geotokens for metro restricts.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
userVisibleLocalCountryThis is the country id we show to users on the result page. This is kept different from country demotion country id because we dont want to expose our backoff and url based detection algorithm – also we want to be ultra conservative in showing this.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
clickRadius50PercentThe radius (in miles) around the assigned location that the document gets 50% of its clicks.CountryGeoLocationStores one location and all meta-data associated with that location.integer
confidenceConfidence on the location. Ranges in [0.0, 1.0]. Cleared during index creation.CountryGeoLocationStores one location and all meta-data associated with that location.number
confidencePercentConfidence mapped to [0, 100]. Converted to integer for efficient storage. Populated during index creation.CountryGeoLocationStores one location and all meta-data associated with that location.integer
internalIdUsed for compressed docloc data. In compressed data, instead of location_info, only an integer ID for that LocationInfo is stored. A separate lookup table is used to get full LocationInfo from the internal ID.CountryGeoLocationStores one location and all meta-data associated with that location.integer
locationInfoCountryGeoLocationStores one location and all meta-data associated with that location.CountryLocationInfo
propagatedFromASubpageTrue if this location is assigned to one of the subpages, and not to the page itself. If the total number of locations assigned to all the subpages of a page is small (usually up to 5), then that page also gets assigned those locations, and this flag is set for those locations.CountryGeoLocationStores one location and all meta-data associated with that location.boolean
geoLocationCountryGeoLocationsList of locations assigned to a document.list(CountryGeoLocation)
isNonLocationSpecificThis will be set to true for documents which receive several clicks but are not assigned any location because the click distribution is flat. Typical examples are global sites like facebook.com, chains like walmart.com, informational sites like wikipedia.org etc. This flag is not propagated to deeper pages since this signal is meant to indicate that a website or a part of website is conclusively non-local, so propagating this information to deeper pages does not make sense. If this flag is set, then the only possible geo_location will be the ones which are propagated_from_a_subpage.CountryGeoLocationsList of locations assigned to a document.boolean
propagationDepthFromParentDepth of the URL from it’s nearest parent in GeoLocation data. Webpages inherhit locations from their parent pages. For example, if foo.com/a is assigned location L1, and foo.com/a/b is not assigned any location, then http://www.foo.com/a/b inherits location L1 from it’s nearest parent foo.com/a in GeoLocation data. This attribute is the distance from the nearest parent which is present in GeoLocation data. In this particular case, it will be 1.CountryGeoLocationsList of locations assigned to a document.integer
centerThe latitude and longitude of the conceptual center of the location. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. But there are no guarantees and this may be any random point inside the location.CountryLocationInfoThis represents one location.GeostorePointProto
cityCountryLocationInfoThis represents one location.String
countryHuman readable name hierarchy. Only the relevant fields will be present. For example for city GeoLocations, sub_locality field will not be present. Cleared during index creation.CountryLocationInfoThis represents one location.String
countyCountryLocationInfoThis represents one location.String
enclosingStateFeatureIdOyster feature ID of the enclosing state. Cleared during index creation.CountryLocationInfoThis represents one location.GeostoreFeatureIdProto
featureIdOyster feature ID of the location. Cleared during index creation.CountryLocationInfoThis represents one location.GeostoreFeatureIdProto
stateCountryLocationInfoThis represents one location.String
stateIdFprint32 bit fingerprint of the feature id of the state of this location. For cities and sub-localities it will be the enclosing state. For state locations, it will be fingerprint of the feture-id of the location itself. Populated during index creation.CountryLocationInfoThis represents one location.integer
subLocalityCountryLocationInfoThis represents one location.String
typeType of the location (sub-locality, city, state etc).CountryLocationInfoThis represents one location.String
enclosingProvinceGeotokenThe enclosing_province_geotoken is a 32 bit fingerprint of the state encosing the (metro) id. MetroId’s can span multiple states. Enclosing geotoken is filled in with the state name for disambiguation. ProvinceGeotoken field is different as it indicates an “interest”. Format: 32 bit fingerprint(__state__country).CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.integer
idA 32 bit navboost v2 feature id encoding (country, language, metro). NavBoosterUtils class (google3/quality/navboost/nav_booster_utils.h) provides functions to decode this feature.CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.integer
navboostThis is the multiplier to apply to the result for this locale & query. NOTE: This is for serving purposes only and should not be populated in the index.CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.number
geotokenCountryProvinceGeotokenA 32 bit fingerprint of a state level geotoken. The geotoken is in the following format: __state__country. These indicate a page is of interest to these states/regions of a country. The use of message is to enable easy additions of probabilities or weights per metro id in the future.integer
compressedSalienceCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countryinteger
countryCodeCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countryinteger
salienceCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countrynumber
componentsCrawlerChangerateMultipleComponentDistributionProto contains parameters for a multiple component distributions, where each component has non-negative weight and the sum of component weights is 1.list(CrawlerChangerateSingleComponentDistribution)
logScalingScaling factor to ensure the approximated posterior to have the same scale as the product of prior and likelihood. This value is used to compute posterior weights. Uses log scale to provide a wider range. This field is for internal use only.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.number
typeThe type indicates the type of the distribution.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.String
weightThe weight is only used in multiple component scenarios.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.number
additionalChangesMergedDuplicate UrlChanges crawled within a specified time range will be merged together. UrlChanges are considered duplicates if the simhash, simhash_is_trusted, simhash_v2, simhash_v2_is_trusted, and shingle_simhash are the same. additional_changes_merged indiciates the number of duplicate UrlChanges merged into this UrlChange.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
fractionalTileChangeDeprecated fields. The fraction of tiles (0 to 1) that changed.CrawlerChangerateUrlChangeNEXT_TAG: 13float
intervalThe length in seconds of the change.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
offDomainLinksChangeWhether the content of the off-domain links changed.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
offDomainLinksCountThe new count of off-domain links, if they changed.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
onDomainLinksCountThe new count of on-domain links, if the count changed.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
onDomainLinksCountChangeWhether the number of on-domain links changed.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
shingleSimhashThe old simhash value obtained from shingles.CrawlerChangerateUrlChangeNEXT_TAG: 13IndexingConverterShingleFingerprint
simhashThe simhash-v1 value. Use of simhash-v1 is deprecated, and newer UrlChange should only contain simhash-v2. During this transition period, UrlChange can contain either simhash or simhash_v2. It is possible that previous UrlChange only contain simhash-v1 and the next UrlChange only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]CrawlerChangerateUrlChangeNEXT_TAG: 13String
simhashIsTrustedWhether the simhash-v1 should be trusted.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
simhashV2The simhash-v2 value.CrawlerChangerateUrlChangeNEXT_TAG: 13String
simhashV2IsTrustedWhether the simhash-v2 value should be trusted.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
approximatedPosteriorThe approximated posterior distribution.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.CrawlerChangerateMultipleComponentDistribution
averageChangeSignificanceThe “significance” of the average change we saw of this document (from 0 to 1). Influenced by content changes. This can be used for prioritizing the crawl (higher significance first).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
changeperiod//////////////////////////////////////////////////////////////////////////// The classic changerate estimation. //////////////////////////////////////////////////////////////////////////// The classic estimate of change period (in seconds). It is computed by inserted a “fake” change and no-change interval as a prior distribution. This field is generally not used and should NOT be accessed directly. See above for correct method for determining the change period estimate.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
confidenceThe confidence (between 0 and 1) in the changeperiod guess.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedChangePeriod//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the global prior. //////////////////////////////////////////////////////////////////////////// The global-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is computed using the new prior method based on global_based_prior_period and the global_based_prior_strength specified below. This is used for computing pattern priors. Use pattern_based_change_period or changeperiod fields for all other purposes.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
globalBasedChangePeriodConfidenceThe ‘confidence’ of the global-based changeperiod. This is the n-th root of the posterior evaluated at MAP point, where n is the number of history intervals. For now, it is hard to interpret the meaning of the absolute values of ‘average’ posterior cross different sets of data.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedPriorPeriodThe 2 parameters below specify the prior employed in calculating the global_based_change_period. These values are precomputed through an offline analysis and specified via flags.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedPriorStrengthCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
lastChangeSignificanceThe “significance” of the last change we saw of this document (from 0 to 1). Influenced by content changes, etc. This can be used for prioritizing the crawl (higher significance first).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
lastChangedThe last time (unix timestamp) we saw a changed copy of the document. Provided iff we have seen the page change.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
lastFetchedThe last time (unix timestamp) we saw a fetched copy of the document.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
numIntervalsThe number of intervals we’ve seen for this document (where an interval is two different versions).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedChangePeriod//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the pattern prior. //////////////////////////////////////////////////////////////////////////// The pattern-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is calculated based on the pattern_based_prior_period and pattern_based_prior_strength below. This quantity will eventually replace the old changeperiod calculation.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedChangePeriodConfidenceThe same as global_based_change_period_confidence, except it is computed using pattern based priors.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternBasedLowerChangePeriodThe lower edge of a confidence interval for the pattern-based change period.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedPriorPeriodThe 2 parameters below specify the prior employed in calculating the pattern_based_change_period. These values are calculated in a separate process and looked up based on the URL pattern.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternBasedPriorStrengthCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternChangePeriodVersionThe version number of the algorithm, refer to ChangePeriodVersion for more information.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
type//////////////////////////////////////////////////////////////////////////// Basic information of a document. //////////////////////////////////////////////////////////////////////////// The type of the document determined by crawl histories, refer to TYPE for more information.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
ugcChangePeriod//////////////////////////////////////////////////////////////////////////// The UGC changerate estimation. //////////////////////////////////////////////////////////////////////////// Information on change period generated from user generated content (UGC) change history.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
ugcChangePeriodConfidenceCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
changeAll the changes we’ve seen for this URL.CrawlerChangerateUrlHistorylist(CrawlerChangerateUrlChange)
latestVersionThe latest version we’ve seen.CrawlerChangerateUrlHistoryCrawlerChangerateUrlVersion
urlThis field in only set in ‘url_history’ column of Union repository to avoid having to read CompositeDocs.CrawlerChangerateUrlHistoryString
additionalChangesMergedSame as the field in UrlChange. This allows us to merge identical UrlVersions into a single UrlVersion.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
contentTypeThe content type of the page.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
isImsNotModifiedWhether this is an IMS response (a 304, not modified).CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
lastModifiedThe date from the LastModified header, if present.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
shingleSimhashThe simhash value obtained from shingles.CrawlerChangerateUrlVersionNEXT_TAG: 15IndexingConverterShingleFingerprint
simhashThe simhash-v1 value. The simhash-v1 is now deprecated and new UrlVersions should only populate simhash-v2. During migration phase from using simhash-v1 to simhash-v2, it is possible that previous UrlChange only contain simhash-v1 and the next UrlChange / UrlVersion could only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]CrawlerChangerateUrlVersionNEXT_TAG: 15String
simhashIsTrustedWhether the simhash-v1 should be trusted.CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
simhashV2The simhash-v2 value.CrawlerChangerateUrlVersionNEXT_TAG: 15String
simhashV2IsTrustedWhether the simhash-v2 value should be trusted.CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
timestampThe timestamp we crawled the page.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
newsclusterCrowdingPerDocDatalist(CrowdingPerDocDataNewsCluster)
ClusterIdFingerprint combination of all urls in a clusterCrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.String
ClusterSizeThis is the X in the “and X related >>” link on headlines and search resultsCrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.integer
ClusterTimeStampWhen was this clustered (needed for keeping last X iterations around and discarding earlier ones)CrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.integer
cropBytesCompact representation for indexing, see creatism::CropBitmap for details on the packing format.DeepCropIndexingString
x0Pixels version of the DeepCropIndexing bytes, this corresponds to the crop box for a given image (based input image size and desired aspect ratio).DeepCropPixelsinteger
x1DeepCropPixelsinteger
y0DeepCropPixelsinteger
y1DeepCropPixelsinteger
avgTermWeightThe average weighted font size of a term in the doc bodyDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
badTitleMissing or meaningless titleDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().boolean
badtitleinfoDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(DocPropertiesBadTitleInfo)
languagesA Language enum value. See: go/language-enumDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(integer)
leadingtextLeading text information generated by google3/quality/snippets/leadingtext/leadingtext-detector.ccDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().SnippetsLeadingtextLeadingTextInfo
numPunctuationsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
numTagsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
numTokensThe number of tokens, tags and punctuations in the tokenized contents. This is an approximation of the number of tokens, tags and punctuations we end up with in mustang, but is inexact since we drop some tokens in mustang and also truncate docs at a max cap.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
proseRestrictThe restricts for CSE structured search.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(String)
restrictsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(String)
timestampThe time CDocProperties::StartDocument() is called, encoded as seconds past the epoch (Jan 1, 1970). This value is always refreshed and not reused.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().String
titleExtracted from the title tag of the content. This is typically extracted by TitleMetaCollector defined at google3/segindexer/title-meta-collector.h. Please see its documentation for the format and other caveats.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().String
scoreDocPropertiesBadTitleInfoBad title information.number
typeDocPropertiesBadTitleInfoBad title information.String
featureNameDrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
inRangeBitstreamin_range_bitstream is the string produced by range coder, while out_of_range_bitstream corresponds to the overflow stream, which is used whenever a quantized value is out of range. See https://cs.corp.google.com/piper///depot/google3/research/vision/piedpiper/brain/python/layers/entropy_models.py?l=225&cl=234825412DrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
outOfRangeBitstreamDrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
extraIf extra is present it must be of the same length as value.DrishtiDenseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiDenseFeatureDataDrishtiFeatureExtra
valueDense data.DrishtiDenseFeatureDatalist(number)
extraIf extra is present it must be of the same length as value.DrishtiDenseTokenDataProtocol buffer for storing dense token data.list(DrishtiFeatureExtra)
generalExtraDrishtiDenseTokenDataProtocol buffer for storing dense token data.DrishtiFeatureExtra
valueDrishtiDenseTokenDataProtocol buffer for storing dense token data.list(integer)
extraExtra information for this particular FeatureSetData (example timestamp of this frame in the video). (Almost never used).DrishtiFeatureSetDatalist(DrishtiFeatureExtra)
featureThe following can have multiple FeatureSetElement(s) Each of these FeatureSetElement correspond to the various feature groups. One concrete example is the way these features are generated – example audio, video or OCR.DrishtiFeatureSetDatalist(DrishtiFeatureSetDataFeatureSetElement)
labelLabels for this particular FeatureSetData. (Almost never used). Only interesting when you have (for example) frame level labels.DrishtiFeatureSetDatalist(DrishtiLabelSetElement)
compressedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiCompressedFeature
denseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiDenseFeatureData
indexedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiIndexedFeatureData
nameA name for the feature group: example “AUDIO”, “VIDEO”, “OCR”, etc.DrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.String
quantizedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedDenseFeatureData
quantizedByteDenseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedByteDenseFeatureData
quantizedByteIndexedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedByteIndexedFeatureData
sparseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiSparseFeatureData
tokenDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiDenseTokenData
elementFeatureSetData contains the features. In most scenarios, you only have one element. However, multiple elements are appropriate in case of videos where each element may correspond to a frame in the video.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiFeatureSetData)
extraSome extra information about this FeatureSetDataSequence. (Almost never used).DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiFeatureExtra)
labelGlobal (video-level) labels. In most cases, you only have one LabelSetElement. All the labels will be stored in this single LabelSetElement. Scenarios where you may have multiple LabelSetElement(s) is (for example) when you want to differentiate the labels into various sub-groups – eg, central vs relevant, kg-ids vs queries, etc.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiLabelSetElement)
timestampIf set, must be same length as element. Each entry is the timestamp in microseconds where the FeatureSetData element was extracted.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(String)
extraIf extra is present it must be of the same length as index and value.DrishtiIndexedFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiIndexedFeatureDataDrishtiFeatureExtra
indexIndexed data. index and value must be of the same length.DrishtiIndexedFeatureDatalist(String)
valueDrishtiIndexedFeatureDatalist(number)
extraDrishtiLabelSetDatalist(DrishtiFeatureExtra)
generalExtraDrishtiLabelSetDataDrishtiFeatureExtra
targetClassDrishtiLabelSetDatalist(String)
targetClassNameDrishtiLabelSetDatalist(String)
targetValueDrishtiLabelSetDatalist(number)
targetWeightDrishtiLabelSetDatalist(number)
weightWeight assigned to this set of labels.DrishtiLabelSetDatanumber
labelDrishtiLabelSetElementDrishtiLabelSetData
nameDrishtiLabelSetElementString
extraIf extra is present it must be of the same length as value.DrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.list(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.DrishtiFeatureExtra
valueQuantized values for the feature.DrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.String
extraIf extra is present it must be of the same length as value.DrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.list(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.DrishtiFeatureExtra
indexDrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.list(String)
valueQuantized values for the feature.DrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.String
extraIf extra is present it must be of the same length as value.DrishtiQuantizedDenseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedDenseFeatureDataDrishtiFeatureExtra
valueQuantized Dense data.DrishtiQuantizedDenseFeatureDatalist(String)
extraIf extra is present it must be of the same length as label and value.DrishtiSparseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiSparseFeatureDataDrishtiFeatureExtra
labelIndexed data. label and value must be of the same length.DrishtiSparseFeatureDatalist(String)
valueDrishtiSparseFeatureDatalist(number)
byteSizeImage size in bytes. Meaningful when contents are not stored inline (e.g., via `image_blob_id`).DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
crc32cCRC-32 checksum of the image bytes. Can be used for data integrity check.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
encodingQualityJPEG/WEBP quality factor in range [0,100].DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
encodingTypeImage encoding type.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
heightDrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
imageBlobIdThe Blob ID of the thumbnail image in the Blobstore. We recommend absolute IDs with universe prefix if this field is passed across systems. The owner of this blob is also responsible for data Wipeout compliance.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
imageBytesEncoded thumbnail bytes. Prefer this over `image_string` as we are not supposed to store image bytes in a proto string field.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
imageStringPlease migrate to `image_bytes`.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
widthThumbnail resolution.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
beginTimestampMsThe begin timestamp in milliseconds.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
durationMsThe duration of the moving thumbnail in milliseconds. Note that the duration may not be the difference between begin_timestamp_ms and end_timestamp_ms, esp when the moving thumbnail covers multiple clips from the video.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
encodedGifAnimationDrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
encodedVideoStringThe encoded video string.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
encodedWebpAnimationThe encoded WebP animation.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
endTimestampMsThe end timestamp in milliseconds.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
heightPixel height of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
idMovingThumbnail id (e.g., the video id).DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
movingThumbnailerVersionIf set, this is the algorithm version used to generate this moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
nameMovingThumbnail name.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
scoreThe score of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.number
scoreComponentsDrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.DrishtiVesperMovingThumbnailScoreComponents
thumbnailsA set of single frame thumbnails in the MovingThumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.list(DrishtiVesperThumbnail)
typeMovingThumbnail type.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
webpQualityLevelThe actual quality of the Webp animation. Note this value may not be equal to the quality value requested in the animation creator’s options. This is because other requirements, such as the max file size, may force the creator to lower the actual quality value.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.number
widthPixel width of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
audienceRewindRatioScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
iconicFaceScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
matchingScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
motionScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
titleMatchingScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
videoThumbQualityScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
denseFeaturesThumbnail dense featuresDrishtiVesperThumbnailThe attributes of a video thumbnail.list(number)
encodedImageStringThumbnail image as an encoded image. Deprecated, use encoded_thumbnails instead.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
encodedImageStringSmallThumbnail image as an encoded image with smaller resolution. Deprecated, use encoded_thumbnails instead.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
encodedThumbnailsEncoded thumbnail images.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperEncodedThumbnail)
idThumbnail id.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
ocrTextText in video thumbnails that was detected by OCR.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
qualityScoresThumbnail quality scores.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperThumbnailQualityScore)
shouldUpdateDefaultThumbnailIf true, this thumbnail should update default thumbnail.DrishtiVesperThumbnailThe attributes of a video thumbnail.boolean
thumbnailerModelVersionThumbnailer Version.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
timestampMsThumbnail timestamp in milliseconds.DrishtiVesperThumbnailThe attributes of a video thumbnail.integer
typeThumbnail type.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
userReportedThumbnailDrishtiVesperThumbnailThe attributes of a video thumbnail.DrishtiVesperUserReportUserReportedThumbnail
userReportedThumbnailsAll user reported thumbnails of interest.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperUserReportUserReportedThumbnail)
versionThumbnail version, i.e., the unix time in seconds when the thumbnail was created.DrishtiVesperThumbnailThe attributes of a video thumbnail.integer
scoreDrishtiVesperThumbnailQualityScorenumber
typeDrishtiVesperThumbnailQualityScoreString
racyLevelDrishtiVesperUserReportHumanLabelProto holding values for details about human labels.String
modelNameDrishtiVesperUserReportModelScoreProto holding values for details about score and the source model.String
scoreDrishtiVesperUserReportModelScoreProto holding values for details about score and the source model.number
denseFeaturesDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12list(number)
durationNumber of days in which volume is calculated.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
humanLabelDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportHumanLabel
impressionsDaily aggregared impressions for the reported video.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
needHumanLabelWhether the thumbnail needs a human label.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12boolean
rawHumanLabelsDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12list(DrishtiVesperUserReportHumanLabel)
reportScoreDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportModelScore
reportTypeDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12String
scoreDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportModelScore
useCaseDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12String
volumeNumber of reports.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
idVideo id.DrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.String
movingThumbnailsDrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.list(DrishtiVesperMovingThumbnail)
thumbnailsDrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.list(DrishtiVesperThumbnail)
appIdApplication ID (or project ID) from Google API Console.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
clientThe data for a Google API Console client is entered by a developer during client registration and is stored in PackagingService.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.list(EmbedsPackagingServiceClient)
deepLinkIdThe ID for non-URL content. Embeds may either have no analogous web presence or prefer a native mobile experience if supported. In the case of no web presence, instead of setting the “url” field of an embed, such developers will set this field and other content fields, e.g. thumbnail, title, description. If set, this field is used to construct the deep-link URI. Note that the native experience is preferred over the web link and the web link is used as a fallback.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
urlAnalogous web presence. Used as desktop fallback or when no native link data is present.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
canonicalIdThe canonical ID of the embed. If absent, the canonical ID is equal to the ID; if present, then the canonical ID represents an “equivalence class” of embeds which really refer to the same object. (For example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same object) This field may be updated periodically by background processes.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
deepLinkDataDeep-linking data to take the user to the right place in a mobile app. This is only used for preview and attribution. Links that are specific to a given embed type should live on that specific embed’s proto by using Link. See http://goto.google.com/mariana-design.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsDeepLinkData
idThe ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
provenanceThe provenance of the embed, populated when the embed originated from a web fetch. The provenance captures information about the web page the embed had originated, like the URL that was retrieved and the retrieved URL’s canonical form. This is useful in the case where the URL shared by the URL redirects (e.g., in the case of a shortened URL).EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsProvenance
renderIdThe ID used to identify the embed during rendering. This field will match ID, if set, otherwise it will be the ID of the parent activity. This field is only populated on the server for client use and is not persisted to storage.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
signatureSignature of the embed, used for verification.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
transientDataTransient generic data that will not be saved on the server.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsTransientData
typeThe first value in `type` determines which extension field will be set. When creating an EmbedClientItem, you only need to set the first (primary) type in this field. When the server receives the item, it will populate the full type list using the parent annotations in the ItemType enum.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.list(String)
androidPackageNameAndroid app’s package name to generate the deep-link URI.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
iosAppStoreIdiOS app’s App Store ID to generate the App Store URL when app is not installed on device.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
iosBundleIdiOS app’s bundle ID to generate the deep-link URI.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
typeType of Google API Console client.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
annotationBlobAnnotation blob from Annotation Service.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
canonicalUrlCanonical url of the retrieved_url, if one was resolved during retrieval, for example, if a rel=”canonical” link tag was provided in the retrieved web page.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
inputUrlThe url originally passed in the PRS request, which should be used to re-discover the content. Note that this URL may be a forwarding service or link shortener (bit.ly), so it should not be assumed to be canonical, but should be used for navigation back to the original source of the itemscope.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
itemtypeContains exact types as parsed, whether or not we recognized that type at parse time. If an itemscope is created by merging SchemaOrg markup and open graph markup then the first itemtype would be schemaorg type, the second would be open graph and so on. example: http://schema.org/VideoObject, og:video.movie Plain text; usually a URLEmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.list(String)
retrievedTimestampMsecThe server retrieved timestamp (in msec).EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
retrievedUrlThe final URL that was the actual source of the itemscope, after any redirects.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
processIdprocess_id is an integer that identifies the process on this machine that generated this event. This id is calculated once when the server generates its first event, and may change if the process is migrated to a different host. This field has a very specific format mandated by the logs collection infrastructure, which is subject to change WITHOUT NOTICE. As of 2013-01-09, this format is: uint32 process_id = (time(NULL) << 24) + (getpid() & 0xFFFFFF); If you are generating an extended_pid directly, you MUST use one of the maintained library implementations in order to generate it properly: C++ //borg/borgletlib:extended_pid; call borg::ExtendedPid() Python //borg/borgletlib/python:pyextendedpid; call ExtendedPid() Go //borg/borgletlib/go:extendedpid; call Get() Java //java/com/google/common/logging; call EventId.getPid() If you think that you need to parse the values of this field, please contact logs-collection-dev@ to discuss your requirement.EventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlinteger
serverIpserver_ip is the IPv4 address or http://go/ghostid of the machine running the server that created this event message. This allows us to distinguish between events that occur at the same time on different servers. Format: 10.1.2.3 is stored as 0x0a010203, and GHostId 1 as 0x00000001.EventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlinteger
timeUsectime_usec is the number of microseconds since the epoch (i.e., since 1970-01-01 00:00:00 UTC) as an int64: 1e6 * (unix time) + microseconds. Applications must ensure that EventIdMessages have increasing times, artificially increasing time_usec to one greater than the previous value if necessary. Alternate implementations were considered: 1. storing unix time and microseconds separately would require a bit more storage, and the convenience of having a single value representing the time seemed more useful than having trivial access to a unix time. 2. storing unix time in the upper 32 bits would allow for more precision – up to 4G events/second, but it wouldn’t print nicely as a decimal value and it seems unlikely that any single server would ever sustain more than 1M events/second. 3. Java-compatible time uses millis – this would limit servers to 1000 events per second – too small. Other names for this field were considered, including time, time_stamp, and utime. We felt that including the units in the name would tend to produce more readable code. utime might be interpreted as user time. unix timestamp * 1e6 + microsecondsEventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlString
matchinfoExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentsExtraSnippetInfoResponseMatchInfo
querysubitemExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentslist(ExtraSnippetInfoResponseQuerySubitem)
tidbitExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentslist(ExtraSnippetInfoResponseTidbit)
titleMatchesbitvector of query items matching the titleExtraSnippetInfoResponseMatchInfoString
urlMatchesbitvector of query items matching the urlExtraSnippetInfoResponseMatchInfoString
weightedItemsbitvector of query items considered by chooserExtraSnippetInfoResponseMatchInfoString
isHighlightedAdditional information from the SnippetQuery.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
isOptionalExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
isOriginaltrue iff this subitem was an original query term or phrase. Can only be false if want_all_query_subitems == true in the request.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
itemsa bitvector of the query items corresponding to this subitem. Typically only one bit is set, but see comment above.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].integer
texttext associated with this query itemExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].String
weightthe weight of this query item, as calculated by SubitemWeight(): https://qwiki.corp.google.com/display/Q/SnippetWeightsExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].integer
anchorinfoExtraSnippetInfoResponseTidbitExtraSnippetInfoResponseTidbitAnchorInfo
beginFor tidbits only: position of tidbit in the document. More specifically, tidbit is found at [begin, end) in the document’s tokens.ExtraSnippetInfoResponseTidbitinteger
endExtraSnippetInfoResponseTidbitinteger
itemsa bitvector of each query term within this tidbitExtraSnippetInfoResponseTidbitString
scorethe score for this tidbit if there was one this is returned for Snippets and Tidbits and is only meaningful for comparing between objects of the same type (snippet to snippet, tidbit to tidbit)ExtraSnippetInfoResponseTidbitnumber
textthe tidbit text, with search terms already highlightedExtraSnippetInfoResponseTidbitString
typeExtraSnippetInfoResponseTidbitString
offdomainCountExtraSnippetInfoResponseTidbitAnchorInfothis information is specific to anchors and is only returned if type == ANCHORinteger
ondomainCountExtraSnippetInfoResponseTidbitAnchorInfothis information is specific to anchors and is only returned if type == ANCHORinteger
mustangBytesAlways use image/search/utils/face_proto_util.h for packing and unpacking these values.FaceIndexingString
mustangBytesVersionFaceIndexinginteger
binaryClassifierEither binary_classifier will be set, using the enum above, or binary_classifier_name will be set, if it is not one of the classifiers in the enum – never both.FatcatCompactBinaryClassificationString
binaryClassifierNameFatcatCompactBinaryClassificationString
discreteFractionA CompactDocClassification will not usually have a weight. For a CompactSiteClassification, this value will be 0…127 corresponding to 0.0…1.0, indicating fraction of the site that this label applies toFatcatCompactBinaryClassificationinteger
binaryFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.list(FatcatCompactBinaryClassification)
clustersFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.FatcatCompactRephilClusters
epochFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
langCodeFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
rephilModelIdThe id of the Rephil model used to generate the Rephil clusters. If it is absent, Rephil 4 is assumed.FatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.integer
taxonomicFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.list(FatcatCompactTaxonomicClassification)
urlnot needed if the url is the sstable / bigtable key used during intermediate processing onlyFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
weightThe relative weight of this doc within a site, typically something like pagerank or navboost impressions. May be a large number (like an actual pageviews estimate), not limited to a small range.FatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
clusterFatcatCompactRephilClusterslist(FatcatCompactRephilClustersCluster)
discreteWeight0…127 corresponds to 0.0 – 1.0FatcatCompactRephilClustersClusterinteger
idFatcatCompactRephilClustersClusterinteger
categoryFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationlist(FatcatCompactTaxonomicClassificationCategory)
classifierVersionFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
taxonomyEither taxonomy will be set, using the enum above, or taxonomy_name will be set (if the taxonomy is not one of the ones in the enum) – never bothFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
taxonomyNameFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
discreteWeightgo/petacat-faq#how-should-i-interpret-classification-weights Discrete to reduce size. Range is [0,127], corresponding to [0.0,1.0].FatcatCompactTaxonomicClassificationCategoryA taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.integer
idThe category’s ID, e.g. 20 for /Sports in the go/verticals4 taxonomy.FatcatCompactTaxonomicClassificationCategoryA taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.integer
typeFocusBackendContactDetailHashhttp://go/contact-detail-hash.String
valueThe hash here will be a 16-bit weak hash to avoid reverse engineering for decoding the actual contact detail. The hash value is computed by the fingerprint of the raw contact detail mod 2^16.FocusBackendContactDetailHashhttp://go/contact-detail-hash.integer
annotationIdThe annotation ID. Annotations are only allowed to point to annotations that do not themselves have a pointer (avoids any possibilty of loops). Cast this field to string in javascript to make it compile in js.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).String
deviceRawContactIdThe raw contact ID from an active mobile device of the user.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendDeviceRawContactId
focusContactIdThe contact ID from the Focus backend. Cast this field to string in javascript to make it compile in js.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).String
otherContactIdAdditional contact ids that are not actively used to match contact pointers to contacts.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendOtherContactId
secondaryIdThe secondary identifier of contact. It will be used when the primary ID doesn’t match any contact.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendSecondaryContactId
ContactIdDeviceContact Id.FocusBackendDeviceContactId//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
DeviceIdDevice Id.FocusBackendDeviceContactId//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.FocusBackendDeviceId
AndroidDeviceIdThe GServices id on Android. See go/android-id.FocusBackendDeviceId//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
HashDeviceId.Hash is a SHA256 of some attribute of the user and device. For Android devices: Hash = SHA256(gaia_account_name + “:” + “1” + “:” + (android id – LSB)); For iOS devices: Hash = TOLOWER(HEX(GMCSComputeUserDeviceToken(userId, iOsDeviceId)) For more details see go/client-instance-id.FocusBackendDeviceId//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
DeviceIdFocusBackendDeviceRawContactId//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.FocusBackendDeviceId
RawContactIdRaw ID assigned by the device. Cast this field to string in javascript to make it compile in js.FocusBackendDeviceRawContactId//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.String
deviceContactIdDevice contact ID, when available: – The annotation points to a device contact, and the device contact id was correctly populated when the annotation was created. Note that the device contact id is populated once per device contact on a device. It is distinct from RawContactId – a single device contact may have multiple raw contact ids. – The annotation points to a Focus contact that was merged with device contact information in Starlight. When the annotation was created, a device contact id was available on the merged person object. – The contact annotation was created from April 2021 onwards. All prior annotations do not populate this field. ContactPointer creation relies on the client caller to correctly populate the device contact id, and does not enforce any assumptions on availability of this field. This field is repeated because in rare cases Starlight may merge device contact information across different devices into a single merged person object. WARNING: Use with extreme caution! This ID is not stable. For more details see go/fbs-support-for-device-contacts.FocusBackendOtherContactIdAdditional contact ids that are not actively used to match contact pointers to contacts. There may be overlap with primary or secondary contact ids.list(FocusBackendDeviceContactId)
contactDetailHashThe hashes of the contact details (e.g. phone number and email address).FocusBackendSecondaryContactIdThe secondary ID of a contact.list(FocusBackendContactDetailHash)
contactNameThe contact’s full name, not hashed.FocusBackendSecondaryContactIdThe secondary ID of a contact.String
contactNameHashThe hash of contact’s full name, generated using Fingerprint2011(). Cast this field to string in javascript to make it compile in js.FocusBackendSecondaryContactIdThe secondary ID of a contact.String
datasetMid of the dataset.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
isAttributionRequiredIf set to true, the citation is required to be displayed when the data is used.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.boolean
projectName of the project of the data’s origin.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
providerThe name of the provider of this information.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
statementA human readable statement of attribution.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
uriUri link associated with this data.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
id“id” may be a human readable ID (HRID) or a MID. Originally it was intended to always be a human readable ID, but that convention was not always followed so clients should be wary. Not every topic has an id.FreebaseIdAn Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: – “mids” (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), – “ids” are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, – “guids” are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).String
midThe “mid” should be used whenever a globally unique, primary key into the Knowledge Graph is needed. These keys are always prefixed with the “/m” and “/g”, (and more rarely the “/x” and “/t”) namespaces, and are alphanumeric strings consisting of lowercase letters excluding vowels, numbers and the underscore character. (Applications should not assume a constant length for these strings as Livegraph reserves the right to extend the number of characters to accommodate more topics.)FreebaseIdAn Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: – “mids” (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), – “ids” are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, – “guids” are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).String
latDegFreebaseLatLongRepresents a geopoint, which is one of the possible Value types.number
longDegFreebaseLatLongRepresents a geopoint, which is one of the possible Value types.number
magnitudeFreebaseMeasurementRepresents a measurements, which is one of the possible Value types. A measurement value like “5.2 meter^2 / second” would be represented as: magnitude: 5.2 unit { unit_mid: “/m/mid_for_meter” power: 2 } unit { unit_mid: “/m/mid_for_second” power: -1 }number
unitRepeated units are interpreted as a product. i.e. (meter ^ 1) * (second ^ -2)FreebaseMeasurementRepresents a measurements, which is one of the possible Value types. A measurement value like “5.2 meter^2 / second” would be represented as: magnitude: 5.2 unit { unit_mid: “/m/mid_for_meter” power: 2 } unit { unit_mid: “/m/mid_for_second” power: -1 }list(FreebaseMeasurementUnit)
powerFreebaseMeasurementUnitinteger
unitFreebaseMeasurementUnitFreebaseId
unitMidDeprecated fields.FreebaseMeasurementUnitString
propertyValueFreebaseNestedStructList of { predicate, { object } } to be processed as a Nested Struct. Nested Struct can be recursive. NestedStruct.property_value(i).value(j) may have nested_struct field.list(FreebasePropertyValue)
propertyThe id of the property.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.FreebaseId
totalValueCountIndicates the total values that exist for this property, even if they aren’t all present in the value field, due to truncation.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.String
valueThe value associated with the property for the containing topic.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.list(FreebaseValue)
valueStatusIf ValueStatus is not set at all, the implication is that there are well-known value(s), specified in the “value” field. (It should be considered malformed data to have value_status set when len(values) > 0.)FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.String
idThe id (mid and human-readable id) of the topic. The id will always be present and will contain a mid value for topics in the topic sstable.FreebaseTopicA Topic represents a Knowledge Graph entity with its associated properties and their values.FreebaseId
propertyValueThe property-value bindings associated with the topic. Note that in the case where a property is relevant to a topic based on its type, but no values of that property are present for the topic, the PropertyValue will simply not appear, rather than being present with a null value, or empty repeated value list.FreebaseTopicA Topic represents a Knowledge Graph entity with its associated properties and their values.list(FreebasePropertyValue)
boolValuePresent when value is bool.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).boolean
citationCitation data for this value. See: http://go/kg-clapFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseCitation
compoundValueCompound values are those that contain either a number of simple valued facets (such as a latitude/longitude pair), or “mediator” topics representing multi-dimensional relationships between topics. In both cases we represent them here with an embedded topic, although the topic’s identity is somewhat secondary to the property/value pairs it contains. (The identity is still made available so that it can be used to perform updates to that mediator on the Knowledge Graph.)FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseTopic
deletionProvenanceDeletion provenance for this value.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(StorageGraphBfgTripleProvenance)
displayLangThe lang of the display_value field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
displayValueThe display value of this value. This is a i18n-aware formatted value if present.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
expectedProtoAn optional name for a proto field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
floatValuePresent when value is float.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).float
idValuePresent when value is an id.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseId
indexIndex of the value relative to the containing property (if any). Knowledge Graph supports a loose notion of indexing: some non-unique properties may have indices, while others may not. Furthermore, for a single property, some values may have indices (such as the top 5 actors in a film), while others may not (the film’s supporting cast). Un-indexed values will appear at the end of the repeated value list. This field contains the index value only when is present in the Knowledge Graph.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
intValuePresent when value is int.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
langWhenever the value is text with TYPE_TEXT, the lang field is populated with the III LanguageCode associated with the string_value field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
latLongValueFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseLatLong
measurementValueFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseMeasurement
nestedStructPopulated if this value holds NestedStruct. ‘type’ field needs to be set to TYPE_NESTED_STRUCT.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseNestedStruct
provenanceProvenance for this value.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(StorageGraphBfgTripleProvenance)
rawValueSimilar to string_value/etc but contains raw bytes.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
stringValuePresent when value is text, enum,FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
subgraphIdFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(String)
timestampThe ISO-8601 timestamp corresponding to when this value was created (when it was written to the Knowledge Graph). Deprecated in favor of timestamp_usec.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
timestampUsecThe microsecond timestamp corresponding to when this value was created.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
typeFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
ContentExpiryTimeunix secs from epochGDocumentBaseNext id: 127integer
DisplayUrlSometimes the URL displayed in search results should be different from what gets indexed (e.g. in enterprise, content management systems). If this value is not set, we default to the regular URL.GDocumentBaseNext id: 127String
DocId64-bit docid of the document (usually fingerprint of URL, but not always). WARNING: This does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field ‘id().key()’ listed above.GDocumentBaseNext id: 127String
ExternalFeedMetadataGDocumentBaseNext id: 127String
ExternalHttpMetadataEnterprise-specific external metadata. See http://engdoc/eng/designdocs/enterprise/enterprise_indexing_metadata.htmlGDocumentBaseNext id: 127String
FilterForSafeSearchDeprecated, do not use, this field is not populated since 2012.GDocumentBaseNext id: 127integer
IPAddrIP addr in binary (allows for IPv6)GDocumentBaseNext id: 127String
NoArchiveReasonGDocumentBaseNext id: 127integer
NoFollowReasonGDocumentBaseNext id: 127integer
NoImageIndexReasonGDocumentBaseNext id: 127integer
NoImageframeOverlayReasonGDocumentBaseNext id: 127integer
NoIndexReasonWhen these reasons are set to a non zero value, the document should not be indexed, or show a snippet, or show a cache, etc. These reasons are bit maps of indexing.converter.RobotsInfo.RobotedReasons enum values reflecting the places where the restriction was found: //depot/google3/indexing/converter/proto/converter.protoGDocumentBaseNext id: 127integer
NoPreviewReasonGDocumentBaseNext id: 127integer
NoSnippetReasonGDocumentBaseNext id: 127integer
NoTranslateReasonGDocumentBaseNext id: 127integer
PagerankThis field is long-deprecated in favour of Pagerank_NS, it is no longer maintained and can break at any moment.GDocumentBaseNext id: 127integer
PagerankNSPagerank-NearestSeeds is a pagerank score for the doc, calculated using NearestSeeds method. This is the production PageRank value teams should use.GDocumentBaseNext id: 127integer
Repidis the webmirror representative id of the canonical url. Urls with the same repid are considered as dups in webmirror. WARNING: use this field with caution! The webmirror duprules change frequently, so this value only reflects the duprules at the time when the canonical’s docjoin is built.GDocumentBaseNext id: 127String
ScienceMetadataCitation data for science articles.GDocumentBaseNext id: 127ScienceCitation
URLWARNING: the URL does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field ‘id().key()’ listed above. Reason: foo.bar:/http and foo.bar:/http:SMARTPHONE share the same URL, but the body of the two documents might differ because of different crawl-context (desktop vs. smartphone in this example).GDocumentBaseNext id: 127String
URLAfterRedirectsGDocumentBaseNext id: 127String
URLEncodingSee webutil/urlencodingGDocumentBaseNext id: 127integer
contentGDocumentBaseNext id: 127GDocumentBaseContent
directoryGDocumentBaseNext id: 127list(GDocumentBaseDirectory)
ecnFp96-bit fingerprint of the canonical url’s webmirror equivalence class name as of when this cdoc was exported.GDocumentBaseNext id: 127String
idThe primary identifier of a production document is the document key given in the ServingDocumentIdentifier, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. In your production code, please always assume that the document key is the only way to uniquely identify a document. ## Recommended way of reading: const string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); More background information can be found in google3/indexing/crawler_id/servingdocumentidentifier.proto The ServingDocumentIdentifier uniquely identifies a document in serving and also distinguishes between experimental vs. production documents. The SDI is also used as an input for the union/muppet key generation in serving.GDocumentBaseNext id: 127IndexingCrawlerIdServingDocumentIdentifier
localsearchDocInfoLocalsearch-specific data.GDocumentBaseNext id: 127LocalsearchDocInfo
oceanDocInfoOcean-specific data.GDocumentBaseNext id: 127OceanDocInfo
originalcontentGDocumentBaseNext id: 127GDocumentBaseOriginalContent
userAgentNameThe user agent name used to crawl the URL. See //crawler/engine/webmirror_user_agents.h for the list of user-agents (e.g. crawler::WebmirrorUserAgents::kGoogleBot). NOTE: This field is copied from the first WEBMIRROR FetchReplyClientInfo in trawler_fetch_info column. We leave this field unpopulated if no WEBMIRROR FecthReplyClientInfo is found. As the submission of cl/51488336, Alexandria starts to populate this field. However, docjoins from freshdocs (or any other source), won’t have this field populated, because we believe no one needs to read this field from freshdocs docjoins.GDocumentBaseNext id: 127String
AuthMethodGDocumentBaseContentMain content sectioninteger
ContentLengthThe actual length of the content: If Representation is compressed, this equals to Content.UncompressedLength; otherwise it is the length of the representation string.GDocumentBaseContentMain content sectioninteger
ContentTypeSee enum ContentType in //depot/google3/webutil/http/content-type.proto.GDocumentBaseContentMain content sectioninteger
CrawlTimeSeconds since Unix epoch.GDocumentBaseContentMain content sectionString
EncodingSee //depot/google3/i18n/encodings/public/encodings.h Encoding of representationGDocumentBaseContentMain content sectioninteger
HasHttpHeaderSet to false if Representation does not contain HTTP headers.GDocumentBaseContentMain content sectionboolean
LanguageA Language enum value. See: go/language-enum Default is englishGDocumentBaseContentMain content sectioninteger
OriginalEncodingIf OriginalEncoding is present, the body part of the Representation was converted to UTF-8, Encoding was set to UTF8, and OriginalEncoding was set to the original encoding before conversion. However, the HTTP headers part of the content might not be valid UTF-8. -1=an invalid valueGDocumentBaseContentMain content sectioninteger
RepresentationPossibly compressed for old documents. It is not compressed for docjoins produced by Raffia after ~2012.GDocumentBaseContentMain content sectionString
UncompressedLengthHistorically present if Representation is compressed.GDocumentBaseContentMain content sectioninteger
VisualTypeWhether the content was visual right-to-left, and if so, what type of visual document it is. Must be one of the values in enum VisualType from google3/repository/rtl/visualtype.h Default is NOT_VISUAL_DOCUMENT. See http://wiki/Main/RtlLanguages for background.GDocumentBaseContentMain content sectioninteger
crawledFileSizeCrawled file size of the original document.GDocumentBaseContentMain content sectioninteger
encodedGeometryAnnotationsGeometryAnnotations, encoded with GeometryUtil::DeltaEncode() to reduce disk space usage. Use GeometryUtil::DeltaDecode() to decode this field.GDocumentBaseContentMain content sectionString
Categoryencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
Descriptionencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
DescriptionScoreGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.number
Identifier“gwd”, etc.GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
Languagego/language-enumGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.integer
Titleencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
TitleScoreDeprecated; do not use. There is no code populating these fields as of Oct 2017.GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.number
URLGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
RepresentationGDocumentBaseOriginalContentThe original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike “Content”, this does not contain any HTTP headers. The content may be compressed using the same method as “Content”. In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed–which is currently never and unlikely to change for performance reasons.String
UncompressedLengthpresent iff rep is compressedGDocumentBaseOriginalContentThe original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike “Content”, this does not contain any HTTP headers. The content may be compressed using the same method as “Content”. In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed–which is currently never and unlikely to change for performance reasons.integer
debugInfoPer-doc debug information.GenericSnippetResponseThe generic version of a snippet responselist(String)
infoServlet-specific response info.GenericSnippetResponseThe generic version of a snippet responseProto2BridgeMessageSet
rankingSnippetThe experimental ranking snippet field. This will be populated only when `fastwa_want_ranking_snippet` is set in the request.GenericSnippetResponseThe generic version of a snippet responseString
snippetLines of the snippet HTML. Typically gws concatenates these and lets the browser wrap. The values include trailing spaces, so inserting additional spaces is not necessary. However, for very old browsers, gws may insert break tags after each snippet line. This field is confusing and poorly named; “snippet_line” would be better. In particular, note that this does not return multiple snippets for a result. Nor are these fields the individual tidbits of the snippet.GenericSnippetResponseThe generic version of a snippet responselist(String)
titleThe title HTML. It may contain tags to denote query term matches. It may be already truncated and “…” is put instead (note that truncation does not always happen at the very end of the title text). However the existence of “…” does not guarantee that the snippet generation algorithm truncated it; e.g. webmasters themselves can write “…”.GenericSnippetResponseThe generic version of a snippet responseString
wwwSnippetResponseSnippet-specific members (tag ids 16+, must be optional!) Example: optional NewContentResponse new_response;GenericSnippetResponseThe generic version of a snippet responseWWWSnippetResponse
allowsGuestCheckoutWhether this local entity allows guest checkout for reservations.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.boolean
isAsynchronousRestaurantReservationWhether or not this local entity supports asynchronous restaurant reservations, through the above restaurant_reservation_url.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.boolean
restaurantReservationUrlURL for the Madden restaurant reservation flow, e.g. for display in a WebView. Not populated if restaurant reservations are not supported for the local entity.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.String
canEnterRESERVEDGeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsboolean
canExitRESERVEDGeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsboolean
featureIdThe ID of the feature that defines the access point. The bounding box of the feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. For access points to TYPE_SEGMENT features, this may be re-derived if necessary by looking up the nearest segment to existing geometry.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFeatureIdProto
featureTypeThe type of the feature. Required, to allow handling the access point differently based on feature type. For access points to non-TYPE_SEGMENT features, this cached type also makes things easier for clients that aren’t running a bucketing map-reduce. For access points to TYPE_SEGMENT features, this is used to find to find the nearest segment of the given type.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsinteger
levelFeatureIdFor indoor access points, this should be set to the level that the access point is on. The feature_id should point to the indoor segment, but when it is missing or invalid, and we need to derive it from geometry, only segments on this level will be considered. For non-indoor access points, level should remain unset, and when we derive feature_id from geometry, only segments not on any level (non-indoor segments) will be considered. The bounding box of the level feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. (Though in general the feature should reside on the level already anyway..)GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFeatureIdProto
metadataField-level metadata for this access point.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFieldMetadataProto
pointFor access points to non-TYPE_SEGMENT features, the location of the access point. For access points to TYPE_SEGMENT features, this can be supplied as a fuzzy access point that is not guaranteed to be on the correct side of road. It should not be used by end clients in case of TYPE_SEGMENT access points.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
pointOffSegmentIf the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point displaced slightly to the correct side of the segment. This offset is in a direction perpendicular to the direction of travel along the segment. The actual offset distance is unspecified. It would typically be relatively small (approximately 1 meter). You can subtract the “off segment” point from the “on segment” point to get a vector of unknown length pointing from “on segment” point to the “off segment” point. You can then scale that vector to whatever length you want. Note that extending this displacement vector a large distance (10s of meters) may result in a new point that is in the middle of some other feature (park, street, intersection). This is the preferred basic geometry field for incoming data from editing clients and importers, if side-of-road is well-established.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
pointOnSegmentIf the access point is defined by a TYPE_SEGMENT feature, this is the point on the centerline of the segment that is closest to the actual access point. May be re-derived if necessary to maintain precise placement on segment.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
priorityLINT.ThenChange(//depot/google3/geostore/cleanup/callbacks/\\ ID_DUPLICATE_ACCESS_POINT.cc)GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsString
segmentPositionIf the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point expressed as a fractional distance along the segment. The value runs from 0 to 1 inclusive. May be re-derived if necessary to maintain precise placement on segment.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsnumber
unsuitableTravelModeThis list represents the travel modes for which this access-point should be avoided. If this list is empty, the access-point is suitable for any travel mode. If all access points are unsuitable for the current travel mode, client should revert to other heuristics (e.g. feature center). This is only used for access points to TYPE_SEGMENT features; access points to non-TYPE_SEGMENT features, e.g. TYPE_ESTABLISHMENT_POI features with gcid:transit_station GConcepts are just identified by feature_type and feature_id.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionslist(String)
featureIdThe id of the corresponding Feature, if such a feature is defined. As discussed above for feature_type, components of TYPE_FEATURE or TYPE_LANDMARK may have a corresponding feature id.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccGeostoreFeatureIdProto
featureTypeFor components of TYPE_FEATURE or TYPE_LANDMARK, this is the feature type (TYPE_COUNTRY, TYPE_LOCALITY, TYPE_ESTABLISHMENT_POI etc.). Note that some features may not actually exist in the geostore (e.g. a village that we’ve never heard of), in which case the feature_id will be missing but the feature_type is still specified. Please refer to IsValidAddressComponentFeatureType() in google3/geostore/base/public/addresscomponent.h for the definitive list of feature types allowed for the type (either TYPE_FEATURE or TYPE_LANDMARK) of components.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccinteger
indexThe order of this address component relative to the ones that share the same feature_type in the AddressProto. For now, the primary use of this index field is to handle ordering issue of multiple occurrences of AddressComponentProto with feature_type of TYPE_ROUTE (and subtypes), or TYPE_POLITICAL, where the order of the address components matters as there are dependences. 0 is the smallest valid index value, representing the most specific address component. Index value of 1 represents a relatively less specific address component of the same feature_type on which the 0-indexed address component depends.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccinteger
parsedNameThe parsed_name field contains one or more names of an address component. Its actual contents depends on where in the Geo/Google stack you are reading a feature: 1. When an address is initially parsed via a feed or other raw input and structured as an AddressProto, parsed_name should contain the set of names that corresponds to the (possibly normalized) raw text from the raw input. 2. In MapFacts, the address component may be linked to an actual feature via feature_id. Any address formatting directly from MapFacts should follow links to retrieve names when possible. The parsed_name contents may be formatted directly if the address component is unlinked following the same rules as selecting and formatting the name of a feature. The cached parsed_name is regularly refreshed from the linked feature with the minimal set of names for address components (usually just a single, preferred name, in the local language, plus a Latin-script name: go/story-of-ac-names). 3. In serving systems, the names of linked features may be denormalized into the parsed_name field to facilitate quicker address formatting or for simple data filtering (e.g. finding all geocodes in California by name). If reading a feature from such a system, the parsed_name field could contain multiple names in multiple languages that reflect a cached copy of the names associated with the linked features. Formatting of such names should follow the same rules as selecting and formatting the name of a feature itself.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cclist(GeostoreNameProto)
rangeAny numerical address component may optionally be specified as a range. For example if a component of TYPE_STREET_NUMBER has the optional “range” attribute, then it represents a range of addresses rather than a single address (see AddressRangeProto for details).GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccGeostoreAddressRangeProto
temporaryDataA place for clients to attach arbitrary data to an address component. Never set in MapFacts.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccProto2BridgeMessageSet
textAffixAdditional text to append before and/or after the parsed_name, when the address is formatted. Multiple instance should represent translations. Currently, this is only permitted on TYPE_LANDMARK components, and only one instance is permitted.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cclist(GeostoreTextAffixProto)
typeEvery address component has a type. Most address components correspond to one of the feature types defined in FeatureProto, so rather than defining a separate category system here, instead we mark them as TYPE_FEATURE and store the FeatureProto type in the feature_type() field. This is how we handle countries, cities, streets, etc. However, there are a few types of address components that do not have a corresponding feature type (e.g. PO boxes). These components have their type defined here. An address component of TYPE_STREET_NUMBER may correspond to a physical entity that defines a street number, such as a geocoded address or a land parcel. In this case, the address component may have a link to the corresponding feature. A good reference for what types of address components are possible is the xAL standard, which is a published XML schema: http://www.oasis-open.org/committees/ciq/download.shtml. This standard is the basis of the PostalAddress protocol message.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccString
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreAddressLinesProtoRepresents the unparsed portion of an address with an associated language.String
lineThese lines are in display order.GeostoreAddressLinesProtoRepresents the unparsed portion of an address with an associated language.list(String)
addressLinesThe unparsed portion (lines) of the address. An address can have multiple unparsed portions. Multiple unparsed portions sharing the same language should be modeled as one address_lines instance having multiple lines. Historically, we also supported unparsed portions in different languages, but we no longer do. Consequently, only one value is allowed for this field despite the fact that it is repeated. See go/address-lines-multi-language for information about why we made this change. If any components are filled in, this is supplemental to (i.e. disjoint from) them. Furthermore, this must be the most specific portion of the address (except for the portion, if any, stored in the name field of feature.proto). Unparsed lines are always formatted together in a block. Other address components are never formatted between the address lines. This doesn’t imply that the address lines are always either the first or the last part of the formatted output.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressLinesProto)
componentA list of parsed address components, e.g. the street, city, etc. An address range is one type of component.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressComponentProto)
crossStreet** DEPRECATED ** This field is now deprecated (see b/33268032). If you want to store cross street information as part of an address, use the address_lines field.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressComponentProto)
metadataField-level metadata for this address.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.GeostoreFieldMetadataProto
partialDenormalizationreservedGeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.GeostoreAddressProto
templateIdThe opaque ID of the address template that contains rules for structuring this address. The id of the address template can be retrieved using google3/geostore/address_templates/public/address_templates.hGeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.String
temporaryDataA place for clients to attach arbitrary data to an address. Never set in MapFacts.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.Proto2BridgeMessageSet
numberTwo or more address numbers. Each number represents an address that was mentioned by the data provider.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cclist(integer)
parameterFor address range definitions: Two or more interpolation parameter values. The length of this array must match the length of the number array, and each parameter number specifies the position of the corresponding address number. Each value is an interpolation between 0.0 and 1.0 inclusive. The value is proportional to the distance traveled along the segment’s polyline starting at its origin. The parameters must be provided in increasing order and the values in the number array must be in strictly increasing or decreasing order. We make an exception for singleton addresses, which are represented as two copies of a (number, parameter) pair, for backwards compatibility. For address range references: This array must be empty.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cclist(number)
prefixIf specified, the prefix or suffix is applied to all numbers in the range. For example, this can be used to indicate that addresses B1 through B99 are on one side of the street, while A1 through A99 are on the other side of the street.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccString
sameParityIf ‘same_parity’ is true, then all ‘number’ values must have the same parity (even or odd), and this address range only includes addresses whose parity is the same as the given ‘number’ values.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccboolean
suffixGeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccString
temporaryDataA place for clients to attach arbitrary data to an address range. Never set in MapFacts. Here are some examples: Example #1: Single non-numeric address (e.g., “Twelve”) At the moment this can only be represented as a street number (with the value in the parsed_name field of the AddressComponentProto). We have future plans to make other changes so we can handle this case. Example #2: Single semi-numeric address (e.g., “12bis”) The number array contains two copies of the single numeric value (12). The prefix is empty and the suffix contains “bis”. The parameter array has two identical values specifying the position of the single address. Example #3: Simple address range (e.g., “100 to 198, even numbers only”) The number array contains the two values “100” and “198”. The prefix and suffix strings are empty in this example. The parameter array has two values, one for each number. The same_parity flag is set in this example.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccProto2BridgeMessageSet
geometryIdThe ID to be used to fetch the feature’s geometry from the 3D Geometry Store.GeostoreAnchoredGeometryProtoA feature’s geometry that is populated from the 3D Geometry Store. Please see go/a3d-and-mapfacts for design details.String
speedLimitThe actual speed limit value.GeostoreAppliedSpeedLimitProtoA container for speed limits that allows tagging with a correctness trust level.GeostoreSpeedLimitProto
trustLevelThe level of trust we have in this speed limit value.GeostoreAppliedSpeedLimitProtoA container for speed limits that allows tagging with a correctness trust level.String
attachmentIdattachment_id distinguishes messages of the same type_id associated with the same feature. It can not be set to 0x0.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
clientNameSpaceThis field specifies a namespace identifier that can be used to track the sources of attachments in a human friendly format. Name spaces must be at most 64 characters long and must be composed entirely of alphanumeric characters, hyphens, and underscores. No other characters are allowed.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
commentcomment is a human-readable string that is logged whenever this attachment is processed by the framework.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
messagesmessages contains the structured data for this attachment. It should contain a single message with a type ID matching the value of the type_id field below.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.Proto2BridgeMessageSet
typeIdtype_id determines the type of the actual attachment that should be set in the messages MessageSet. It can not be set to 0x0.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
idThe id of the attribute. Stored as a stripped format of the gcid (e.g. “foo” instead of “gcid:att_foo”).GeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
providerIdSet because it’s required, but not really meaningful in geostore (always set to “Geo”).GeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
typeGeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
applicationDataGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.Proto2BridgeMessageSet
attributeDisplayGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.list(GeostoreAttributeValueDisplayProto)
booleanValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.boolean
canonicalAttributeIdThe canonical attribute for this attribute instance.GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
doubleValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.float
enumIdValueFor those attribute ids that expect their values to be taken from an enumeration-style set of values, that value’s gcid should be stored here, e.g. “gcid:attval_yes”.GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
floatValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.number
int64ValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
integerValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.integer
itemClassIdGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
metadataField-level metadata for this attributeGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreFieldMetadataProto
protoValueFully qualified package name because genprotohdf uses genproto for this proto2 syntax: https://wiki.corp.google.com/twiki/bin/view/Main/Proto2WithGenprotoGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.Proto2BridgeMessageSet
stringValueThe attribute value falls into one of these fields, based on value_type:GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
uint32ValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.integer
valueDisplayUsed to store language-specific names of this attribute’s value (e.g. a translation into another language).GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.list(GeostoreAttributeValueDisplayProto)
valueSpaceIdGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
valueTypeGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
languageGeostoreAttributeValueDisplayProtoUsed to help display language-specific names of attributes.String
synonymGeostoreAttributeValueDisplayProtoUsed to help display language-specific names of attributes.String
materialGeostoreBarrierLogicalMaterialProtolist(String)
localeThe ID of the best-match TYPE_LOCALE feature for this feature.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.GeostoreFeatureIdProto
localizationPolicyIdThe ID of the localization policy to apply when selecting a name for a feature. This field should always be set. If feature_id is also defined, this field should have the same localization policy ID as the referenced locale feature. Localization policy IDs are arbitrary identifiers (up to some number of bytes; see geostore/base/public/constants.h) that uniquely distinguish a set of language-selection rules.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.String
metadataField-level metadata for this best locale.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.GeostoreFieldMetadataProto
idListing id. Used in queries to BizBuilder backend for listing access.GeostoreBizBuilderReferenceProtoThe reference to a BizBuilder listing. For details on BizBuilder see http://g3doc/commerce/bizbuilder/backend/g3doc/index.mdString
featureIdLeftThe ids of the area features to the left and right of the border, relative to the start and end of this borders’ polyline geometry. These features should have the same type as the “type” attribute above. These ids are not required because the corresponding features may be nonexistent or difficult to obtain.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.GeostoreFeatureIdProto
featureIdRightGeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.GeostoreFeatureIdProto
logicalBorderThe logical borders which this border is a part of.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.list(GeostoreFeatureIdProto)
overrideStatusList of border status overrides. Due to legal reasons, we may be required to display some borders differently on some domains for instance.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.list(GeostoreOverrideBorderStatusProto)
statusThe border status identifies the legal status of the border line.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.String
typeThe type of the features this border separates. Should always be a subtype of TYPE_POLITICAL. NOTE: as of December 2019, we currently require this to be equal to TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1. In the future, we may support TYPE_BORDER for lower types of political features.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.integer
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane or lane connection.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeGeostoreFeatureIdProto
boundingMarkerTokenA token that can be used to identify the version of the data about this bounding marker.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeString
flowlineAdjacencyBeginFractionWhich part of the flowline does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of this feature.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
flowlineAdjacencyEndFractionGeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
markerAdjacencyBeginFractionWhich part of the marker track does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of the marker feature.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
markerAdjacencyEndFractionGeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
sideWhich side of the flowline does the marker occur on.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeString
baseHeightMetersAglThe height of the base of this building, in meters above ground-level, if known.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.number
defaultDisplayLevelThe level in this building that should get displayed by default. If present, the default display level must be one of this building’s levels that are listed in the level[] field, and if a level is set as a default level of one building, all buildings sharing the level should have that same level as their default level. If not present, clients should not display any level by default for that building.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFeatureIdProto
floorsThe number of floors above the base of the building, if known. For example a regular 1-story building would set this to “1”. Use a value of GeostoreConstants::kDefaultHeightPerFloor when converting “floors” to “height_meters”.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.integer
floorsMetadataGeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFieldMetadataProto
heightMetersThe height of the building above its base, in meters, if known.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.number
heightMetersMetadataGeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFieldMetadataProto
levelThe levels in this building, in no particular order. These levels refer back to the building via another strong reference (the LevelProto.building field).GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.list(GeostoreFeatureIdProto)
structure“Structure” denotes a physical architecture of the building that is readily visible. This attribute is useful in that rarer structures can make good landmarks.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.String
canonicalGconceptsCanonical GConcepts describe the ideal state of the GConcepts of this business chain’s members.GeostoreBusinessChainProtoThis holds data specific to business chain features.list(GeostoreCanonicalGConceptProto)
dataThe actual hours represented by this BusinessHoursProto.GeostoreBusinessHoursProtoA BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.BusinessHours
metadataField-level metadata for these hours.GeostoreBusinessHoursProtoA BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.GeostoreFieldMetadataProto
ctaTypeRequired.GeostoreCallToActionProtoMessage containing calls to action specified by the business owner.String
urlGeostoreCallToActionProtoMessage containing calls to action specified by the business owner.GeostoreUrlProto
gconceptGeostoreCanonicalGConceptProtoThis proto represents a canonical gconcept of a business chain’s members.GeostoreGConceptInstanceProto
isRequiredWhether the gconcept must be on a member. This must be true for a primary gconcept.GeostoreCanonicalGConceptProtoThis proto represents a canonical gconcept of a business chain’s members.boolean
cellIdArray of S2 cell ids that represent the covering. There is no preset limit on how many cells can be used.GeostoreCellCoveringProtoThis protocol buffer holds S2 cell covering for the feature. See util/geometry/s2cell_union.h for more information on S2 cells. See geostore/base/public/cellcovering.h for utility functions.list(String)
appearanceAdditional information that can be used to describe the appearance of CityObjects in this CityJsonProto.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangeGeostoreCityJsonProtoAppearance
cityObjectsCity objects associated with this CityJsonProto.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangelist(GeostoreCityJsonProtoCityObject)
flattenedVerticesVertices as local coordinates represented as a flattened list: [x1,y1,z1,x2,y2,z2,x3,y3,z3]. Vertices are relative to a local coordinate system and rounded to their nearest integer value. See `transform` for how vertices can be transformed from a local coordinate system into an Earth-centered, Earth-fixed coordinate system. Vertices are flattened for space efficiency, memory locality, and processing performance. To access the x,y,z coordinates of vertex N, read the values at indices 3N, 3N+1, and 3N+2.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangelist(integer)
transformSpec for converting vertices from a local coordinate system in arbitrary units to ECEF coordinates in meters (https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system).GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangeGeostoreCityJsonProtoTransform
materialsPredefined materials that may be referenced from geometric primitives.GeostoreCityJsonProtoAppearanceContains additional ways to describe the appearance of a CityObject, e.g. definitions of materials and textures that can apply to geometry surfaces.list(GeostoreCityJsonProtoAppearanceMaterial)
diffuseColorThe color that this material shows under pure white light when incoming light is reflected in all directions equally.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.GeostoreCityJsonProtoAppearanceMaterialRgbColor
isNullis_null=true is used to represent ‘null’ material references. There may only be one is_null=true Material per CityJsonProto, and it must not have any other fields set.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.boolean
isSmoothWhether this material has an even, regular surface or consistency.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.boolean
nameThe name of this material.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.String
shininessThe degree to which this material reflects light; value is [0,1].GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.number
transparencyThe degree to which this material allows light through; value is [0,1], with 1.0 being completely transparent.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.number
blueGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
greenGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
redGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
geometriesGeometries associated with this object.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.list(GeostoreCityJsonProtoCityObjectGeometry)
idThe ID of this CityObject, which must be unique within this CityJsonProto. The ID does not have a meaning outside this CityJsonProto.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.String
typeType of object represented, e.g. building.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.String
lodLevel-of-detail (LoD) indicates how intricate the geometric representation is. May be a single digit per CityGML standards or X.Y per TU Delft (visual depiction at https://3d.bk.tudelft.nl/lod/). `CityObject`s may have multiple geometries with the same LoD.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.String
multipointFor geometries consisting of a single point, line, or loop.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometryMultiPoint
multisurfaceFor geometries consisting of a collection of surfaces.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometryMultiSurface
semanticsPredefined semantics that may be referenced from geometric primitives.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.list(GeostoreCityJsonProtoCityObjectGeometrySemantic)
solidFor geometries consisting of a watertight 3D shape.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometrySolid
materialsIndexIndex into CityJsonProto.appearance.materials.GeostoreCityJsonProtoCityObjectGeometryMaterialSpecUsed to reference a predefined material from a geometric primitive.integer
xIndicesA collection of references to vertices in `CityJsonProto.flattened_vertices`. `CityJsonProto.flattened_vertices` is a flattened list of vertex coordinates. A value in `x_indices` should be the index of the x-coordinate of the desired vertex V; the full coordinates of vertex V can then be found at indices [V,V+1,V+2]. For example, an `x_indices` containing 3, 0, and 12 references three vertices, whose complete x,y,z coordinates can respectively be found at `CityJsonProto.flattened_vertices` indices [3,4,5], [0,1,2], and [12,13,14].GeostoreCityJsonProtoCityObjectGeometryMultiPointA single line, loop, or set of points.list(integer)
surfacesAll surfaces are standalone entities with no relationship to each other.GeostoreCityJsonProtoCityObjectGeometryMultiSurfaceA collection of arbitrary surfaces that have no prescribed topological relationship.list(GeostoreCityJsonProtoCityObjectGeometrySurface)
typeThe type of semantic entity this geometric primitive is.GeostoreCityJsonProtoCityObjectGeometrySemanticRepresentation of semantic information that can be used for reasoning about geometric primitives.String
shellsThe first shell is exterior; any additional are interior.GeostoreCityJsonProtoCityObjectGeometrySolidA 3D shape, composed of a watertight exterior shell with optional interior watertight shells.list(GeostoreCityJsonProtoCityObjectGeometryMultiSurface)
loopsThe first loop is exterior; any additional are interior.GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.list(GeostoreCityJsonProtoCityObjectGeometryMultiPoint)
materialSpecsThe materials this surface is made of. Either all or none of the Surface protos must have this field set (even for ‘null’ references). Otherwise, this field must not be set. IMPORTANT: This field must not contain more than one MaterialSpec unless CityJSON’s material “theme” is incorporated into CityJsonProto (see discussion in go/cityjson-for-hand-modeled-landmarks).GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.list(GeostoreCityJsonProtoCityObjectGeometryMaterialSpec)
semanticsIndexThe semantics of this surface (e.g. what part of a building it is) represented as an index into the containing Geometry’s `semantics` field. Either all or none of the Surface protos must have this field set (even for ‘null’ references). Otherwise, this field must not be set.GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.integer
scaleRelative scale of the vertices in the new coordinate system relative to the old coordinate system. Applies to all three x,y,z coordinates.GeostoreCityJsonProtoTransformInformation for transforming a point from an “old” to “new” coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translatefloat
translateOffset of each vertex in the new coordinate system relative to the old coordinate system.GeostoreCityJsonProtoTransformInformation for transforming a point from an “old” to “new” coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translateGeostoreCityJsonProtoTransformTranslate
xGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
yGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
zGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
callToActionCall to action for the individual product.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostoreCallToActionProto
jobMetadataGeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostoreJobMetadata
mediaAny photos describing this item.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field is for price list sections listed in multiple languages. At least one name_info containing id must be specified. There should be at most one name_info for any given language. When representing a job item, there should be exactly one name_info specified.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.list(GeostorePriceListNameInfoProto)
offeredRepresents if an item is offered at a business. For TYPE_JOB, this represents if this job is offered by the corresponding businessGeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.String
pricePrice of the item. There should be at most one price for any given currency.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostorePriceRangeProto
priceFormatRepresents which price format is being used by this item, which determines the usage/meaning of the “price” field above. Optional – the default value is legal and safe (represents no price if the “price” field is unset).GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.String
rankingHintNumerical score which can be provided by data sources to indicate preferred item ordering. This is purely a hint – we are not required to followed it if we have a different order we think is better. Higher scores represent items that should be shown more prominently/earlier. Optional.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.number
comparisonOperatorGeostoreCountComparisonProtoA count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.String
countGeostoreCountComparisonProtoA count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.integer
borderLineGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.GeostorePhysicalLineProto
borderPatternGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.String
colorColors found on this crossing.GeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.list(GeostorePaintedElementLogicalColorProto)
stripePatternGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.String
pointCurvatureCurvature values at points along the flowline. A linear interpolation between two successive points will yield the curvature value at intermediate points.GeostoreCurvatureProtolist(GeostorePointCurvatureProto)
bezierParamsGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.GeostoreCurveConnectionProtoBezierParams
circleParamsGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.GeostoreCurveConnectionProtoCircleParams
typeGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.String
controlPointInternal Bezier handles. One can be used for a quadratic curve, two for cubic Beziers.GeostoreCurveConnectionProtoBezierParamslist(GeostoreCurveConnectionProtoBezierParamsControlPoint)
angleDegreesWe use this parameterization to make curves change predictable when endpoints move. Each point P is defined in terms of the straight edge [S, E] between the start point of the curve S and its end point E. *P / / / S *————* E Counter-clockwise angle between vector SE and vector SP.GeostoreCurveConnectionProtoBezierParamsControlPointfloat
distanceMultiplierDistance(S, P) in units of Distance(S, E).GeostoreCurveConnectionProtoBezierParamsControlPointfloat
radiusArc radius. Must be greater than half-distance between two endpoints.GeostoreCurveConnectionProtoCircleParamsfloat
attributionUrlThis is the URL of a website representing this DataSource as a whole. If this DataSource feature is specific to a particular dataset or product, the page may contain information relevant to that dataset or product or may be the main page of the organization.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.list(GeostoreUrlProto)
copyrightOwnerA UTF8 string that will be inserted in copyright messages to refer to this copyright owner, e.g. “Tele Atlas”.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
copyrightYearThe copyright year of this data (which may be different than the year of the release date), e.g. 2005.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.integer
descriptionA free-form description of this data source. Ideally the description should include: – Where the data was obtained (URL, company name, individual, etc). – Where to find detailed documentation. – A brief summary of the licensing terms. – As much internal and external contact information as possible (e.g. who to ask about licensing questions, interpreting the data, updating the data, fixing bugs in the importer, etc).GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerBuildInfoThe build information of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerBuildTargetThe build target of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerClientInfoThe Perforce client information of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerMpmVersionIf the importer was built as an MPM, the version number can be stored in this field. As with build_info, this can be useful when tracking down issues that may be due to the use of a particular binary.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerTimestampThe timestamp of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
providerThe provider type of this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
rawMetadataFor every key that is used in raw_data from this source, there must be a corresponding entry in raw_metadata that describes this key.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.list(GeostoreRawMetadataProto)
releaseA release string that doesn’t have to be a date. This is provided so that we can preserve provider release strings that aren’t based on dates. If you don’t set it, the release_date will get formatted into this field for debugging purposes.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
releaseDateThe release date of this data.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.GeostoreDateTimeProto
sourceDatasetA data provider defined string describing the source dataset from which the features of this data source were generated. For example, the MultiNet “fra” dataset produces features for both France and Monaco.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
precisionThis attribute describes the precision of the date and time. It would be unusual for a data provider to provide a precision along with their date. It is more likely that the precision of a date will be inferred from the date format. For example “19th century” is likely to be correct to the century, while “1800” is probably correct to the year. The precision should be semantically interpreted as a cast, so a DateTimeProto object with a seconds value corresponding to 2018-03-28 18:40:00 UTC and a precision of MONTH should be interpreted as “March 2018”. The enums above are only some of the possible precision levels for dates and times. Clients may wish to add more precision enums in the future. However, these enums must be ordered by decreasing duration. Clients should be able to write date formatting code that looks like this: if (datetime.precision() <= DateTimeProto::PRECISION_CENTURY) { date = FormatCenturyDate(proto.seconds()); } else if (proto.precision() <= case DateTimeProto::PRECISION_DECADE) { date = FormatDecadeDate(proto.seconds()); } else { ... } See geostore/base/public/datetime.h for date formatting utility functions.GeostoreDateTimeProtoWARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil’s civil time types.String
secondsNumber of seconds since (or before) the UNIX epoch (January 1, 1970). This is also the standard epoch for Java and Python time representations. If it is important for this time be displayed correctly for different time zones, convert the time to Coordinated Universal Time (UTC).GeostoreDateTimeProtoWARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil’s civil time types.float
comparisonOperatorGeostoreDimensionComparisonProtoA dimension value tagged with a comparison operator. This can be used for height, width, or length.String
dimensionWithUnitGeostoreDimensionComparisonProtoA dimension value tagged with a comparison operator. This can be used for height, width, or length.GeostoreDimensionProto
dimensionGeostoreDimensionProtoA dimension with a numerical value and unit. This can be a height, width, or length.number
unitGeostoreDimensionProtoA dimension with a numerical value and unit. This can be a height, width, or length.String
displayLocationThe location where this feature should be rendered.GeostoreDisplayDataProtoThis holds data specific to rendering a POI on a map. It’s derived from data already in MapFacts, e.g. containing features and the feature’s point field. If empty, this proto should be ignored for rendering. See go/maps-render-alignment for motivation and more details.GeostorePointProto
administeredByIf present this feature is administered by the power present in the field. In most cases this will be a two letter ISO-3166 region code, but may be a descriptive string if no region code is available.GeostoreDisputedAreaProtoThis protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.String
claimantFeature IDs (usually a country feature ID) of all parties who claim this feature. No claimants means the claim by the country that contains it (based on country polygon) is not disputed.GeostoreDisputedAreaProtoThis protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.list(GeostoreFeatureIdProto)
typeThe type of this feature — see comments above.GeostoreDoodleProtoThis protocol buffer holds the doodle-specific attributes for features of type TYPE_DOODLE.String
isFreeIf true, represents that the rate is free; i.e. the price is 0 in any currency. If this is true, price must be empty.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.boolean
periodicitySecondsThe billable unit of the rate; i.e. after having utilized the service for exactly periodicity_seconds, the total cost should increase by ‘price’. For example, if the rate expresses a price per hour, then periodicity_seconds should be set to 3600. If this is unset, then the rate does not vary based on duration, and price represents a flat cost. May only be set if price is nonempty.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
priceThe total price, in each applicable currency, of utilizing the service for periodicity_seconds, or for the entire duration expressed by range_start_seconds and range_end_seconds if periodicity_seconds is 0. Each entry should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency. May only be set if is_free is false.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.list(FreebaseTopic)
rangeEndSecondsUpper bound for durations to match, exclusive. Unset implies indefinite.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
rangeStartSecondsLower bound for durations to match, inclusive. Required; a value of 0 expresses that the price applies from the start of the utilization period.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
blendOrderDefines the relative order in which terrain data should be rendered. Features with higher blend_order should be blended on top of features with lower blend_order. NOTE: this is backwards from the way BlendRank works in Magrathean.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
dataLevelThe zoom level at which this data is defined. Level 0 is world level data, and each increase in zoom level corresponds to a factor of 2 increase in scale.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
dataMaxlevelThe maximum (finest) level at which this terrain data has sufficient resolution to be displayed.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
elevationDataA place to store an elevation data protocol buffer. Currently, this must be a keyhole::AssetTileCompressed (see google3/keyhole/common/proto/magrathean.protodevel).GeostoreElevationModelProtoRepresents raster digital elevation model data.Proto2BridgeMessageSet
fullChildDataAvailableIf true, all of the data contained in this feature is available at the next highest (more detailed) level. If this is true, partial_child_data_available should also be true.GeostoreElevationModelProtoRepresents raster digital elevation model data.boolean
partialChildDataAvailableIf true, at least part of the data contained in this feature is available at the next highest (more detailed) level.GeostoreElevationModelProtoRepresents raster digital elevation model data.boolean
averageElevationMetersThe average elevation of the feature in meters above the local mean sea level.GeostoreElevationProtoThis protocol buffer holds elevation and related data.float
peakAdditional details for TYPE_PEAK and TYPE_VOLCANO features.GeostoreElevationProtoThis protocol buffer holds elevation and related data.GeostorePeakProto
allowanceGeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.String
canEnterDEPRECATED. Please use enter_or_exit instead.GeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.boolean
canExitWhether the target can be entered through this entrance. Whether the target can be exited through this entrance.GeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.boolean
featureIdFeature ID of the related entrance. References should refer to TYPE_ENTRANCE or TYPE_COMPOUND features that are entrances or exits of the referencing feature.GeostoreEntranceReferenceProtoModels a relationship between a feature and its entrance or exit.GeostoreFeatureIdProto
bizbuilderReferenceReference to BizBuilder data for this establishment. The bizbuilder_reference field indicates that a feature is claimed in CBDB (with the canonical state in MapFacts). The bizbuilder_reference is different from the social_reference’s claimed_gaia_id because some BizBuilder clients will not have +Pages. All claimed businesses should have a bizbuilder_reference.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreBizBuilderReferenceProto
hoursRegular opening hours for the establishment (weekly schedule).GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreTimeScheduleProto
openingHoursOpening hours for this establishment, including regular weekly hours and exceptional hours (e.g. on holidays). NOTE: in practice, only the exceptional hours are filled in this message. A schema migration for regular weekly hours was planned back in 2015 (see b/23105782) but was not completed and is (as of May 2018) not prioritized. Clients should continue getting regular opening hours from the `hours` field above. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreOpeningHoursProto
priceInfoPricing for products and services offered. Example: menus for restaurants.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostorePriceInfoProto
serviceAreaGeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreServiceAreaProto
telephoneTelephone number and related information.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.list(GeostoreTelephoneProto)
type** DEPRECATED ** This is deprecated in favor of the top-level (in FeatureProto) set of GConcepts. The type of establishment — see comments above.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.String
hoursThe weekly schedule to be applied for the dates that fall within the range. The schedule may contain hours only for days of the week that occur during the date range specified in the range field.GeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreBusinessHoursProto
metadataField-level metadata for this exception.GeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreFieldMetadataProto
rangeThe dates for which this exception applies, expressed as a half open interval. For example, an exception that applies for the entire month of December 2015 should have a range December 1, 2015 to January 1, 2016. Any regular hours that start on days in this range are ignored and replaced by the exceptional hours for that day. The TimeIntervalProto for the range must be a fully specified, non-empty, and non-inverted range of dates. Concretely, the requirements are: * the range must be a TYPE_RANGE interval * the interval may not be inverted * the endpoints of the interval must specify a year, month, and day * the day_type of each endpoint must be type DAY_OF_MONTH * the endpoints may not specify hour, minute, second, week, or week_type * the begin endpoint must predate the end endpointGeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreTimeIntervalProto
closeReasonStructured reason for the permanent closure (if any).GeostoreExistenceProtoString
closedIndicates whether the place is closed (permanently or temporarily), i.e., not operational in the present, but was in the past. WARNING: New code should prefer go/geo-schema-reference:operational-status.GeostoreExistenceProtoboolean
endAsOfDateThe earliest known date of this feature’s “end” (e.g. an establishment’s permanent closure), if the actual date is unknown; i.e. the best known upper bound of the day end_date would represent. end_as_of_date must be in local (civil) time and of PRECISION_DAY. WARNING: Not necessarily consistent yet with `closed` or the ClosureAttachmentProto. If you believe you need to use this field directly, please go/contact-geo-schema.GeostoreExistenceProtoGeostoreDateTimeProto
endDateGeostoreExistenceProtoGeostoreDateTimeProto
featureBirthTimestampSeconds** DEPRECATED ** This field is now deprecated (see b/22878252). Please use the Geo Schema GetFeatureBirthTimestamp() API to extract the birth timestamp of a feature. The timestamp in seconds since the UNIX epoch (January 1, 1970) when this feature becomes live in the Geo repository. This was the birth date of the place’s representation in Google whereas start_date is the birth date of the place’s operations in the physical world.GeostoreExistenceProtoString
removedIndicates whether the feature is marked as removed in the Geo repository. Removed features are still present in the Geo repository but are considered to be in an inactive state (not valid for lint purposes, not retrievable except explicitly by feature ID, etc.). NOTE: If you have access to a complete FeatureProto, do NOT read this bit directly to find out whether a feature is removed. Instead, rely on the IsFeatureRemoved() API, available in C++ (geostore/base/public/feature.h) and Java (geostore/base/Feature.java).GeostoreExistenceProtoboolean
removedReasonStructured reason why the feature is marked as removed. Relevant only when removed == true.GeostoreExistenceProtoString
startDate(Initial) start and (permanent) end dates of operations, such that start_date is the first day operational and end_date is the first day when operations have permanently ended. The only allowed precisions are PRECISION_DAY, PRECISION_MONTH, PRECISION_YEAR. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: The start_date and end_date are stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreExistenceProtoGeostoreDateTimeProto
fieldProvenanceGeostoreFeatureFieldMetadataProtoProvenance information for sub-fields of this feature – go/subfield-provenance.list(GeostoreFeatureFieldMetadataProtoFieldProvenance)
fieldPathRepresents all fields for which this SourceInfo is valid. NOTE: Field paths are rooted at FeatureProto level.GeostoreFeatureFieldMetadataProtoFieldProvenancelist(GeostoreStableFieldPathProto)
provenanceGeostoreFeatureFieldMetadataProtoFieldProvenanceGeostoreProvenanceProto
featureBirthTimestampUsThe timestamp (in microseconds since the UNIX epoch) when this feature first went live in the Geo repository. Note that this has no relation to the birth data of that geographical entity in the real world.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
lastModificationTimestampUsThe timestamp (in microseconds since the UNIX epoch) of the last modification to the feature. Note this includes attachment modifications. The feature’s initial creation is also considered as a modification. This is useful for those that consume features via both listening to notifications and reading from repository snapshots. This timestamp can be used to decide whether a feature in the snapshot was already seen in a more recent state through the notifications.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
removalTimestampUsThe timestamp (in microseconds since the UNIX epoch) of the deletion time of the feature. If the feature is currently removed, this field gets populated with the timestamp the feature first became removed after being live (or being removed from beginning). This field won’t be set if the feature is live.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
duplicateOfIf the feature has been marked as a DUPLICATE of another feature, this is the feature ID of that other feature. Note that the other feature may itself be removed. This field is always set.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
forwardedIdThe feature ID of the forwarded feature. This field is only set in case (3).GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
inactiveDuplicateIf other features have been marked as DUPLICATE of this feature, this is the set of all such feature IDs. All feature IDs in this set should be for removed (aka inactive) features. Note that in the context of historical read requests against MapFacts (when ReadRequest.version_selection.timestamp is set), this field won’t be set.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.list(GeostoreFeatureIdProto)
replacedByDEPRECATED – Use feature.metadata.feature_replacement_info instead. This field was never populated.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdListProto
transitivelyDuplicateOfIf the feature has been transitively marked as a DUPLICATE of another feature (via a chain of size >= 1), this is the feature ID of that other feature which is the end of the chain. The field is always set even if the chain is of size 1. Note that the other feature may itself be removed. This field is only set in case (3).GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
idThe list of feature IDs. While the exact semantics of these IDs are usage-dependent, the list should never be empty or contain duplicates.GeostoreFeatureIdListProtoA simple list of feature IDs.list(GeostoreFeatureIdProto)
cellIdThe S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.String
fprintA 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.String
temporaryDataA place for clients to attach arbitrary data to a feature ID. Never set in MapFacts.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.Proto2BridgeMessageSet
bulkUpdatableThis field indicates whether the feature is subject to bulk updates. Caution must be exercised while editing such features since the changes made by the edits will be overwritten by the bulk update (if the feature is bulk updated). See go/mapfacts-abu for more information.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
coreVersionTokencore_version_token is an opaque token representing the version of the core fields of the feature. This field is not updated when attachments are changed.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
featureReplacementInfoMetadata for tracking when a feature is derived from or replaced by another feature or set of features.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureReplacementInfoProto
fieldMetadataMetadata about certain repeated fields and their subfields, for which field type is not granular enough.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureFieldMetadataProto
forwardingsFeature ID forwardings, if applicable.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureIdForwardingsProto
historyMetadata related to the history.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureHistoryMetadataProto
versionTokenversion_token is an opaque token representing the version of this feature. It can be used as a concurrency token when sending edits.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
attachmentTypeIdRequired when field_type == ATTACHMENT.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
attributeIdRequired when field_type == FEATURE_ATTRIBUTE.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
fieldTypeGeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
kgPropertyIdRequired when field_type == KNOWLEDGE_GRAPH_PROPERTY.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
nameLanguageRESERVEDGeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
geopoliticalGeometryGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeopoliticalGeometryProto
doodle** DEPRECATED **GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDoodleProto
nameThe name(s) of this feature. A feature may have different names in different languages, colloquial or “vanity” names, etc.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreNameProto)
relatedTimezoneContains time zones known to be associated with a feature. Most features are associated with the single time zone that contains them. However, some larger features (countries, continents, etc.) are associated with all of the time zones they contain. Most features can have any number of related time zones, but TYPE_SEGMENT and TYPE_ESTABLISHMENT_POI features can have at most 1.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreTimezoneProto)
storefrontGeometryModelGeometry Store ID and materialized geometry for a POI feature’s storefront(s). IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
centerThe conceptual center of the feature, used for routing. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. Most feature types will not have a conceptual center – by default, routing will use the centroid of the feature’s geometry. If you need a feature center point consider using GetFeatureGeometryCenter() function from geostore/base/public/feature.h rather than reading from this field directly.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePointProto
displayDataData used to render this feature on a map.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDisplayDataProto
detailed3dModelGeometry Store ID and materialized geometry representing the feature’s physical presence in the world. Like geometry_3d above, but with additional semantic or renderable details, e.g. labeled surfaces (“door”, “window”), material specifications, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
buildingGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBuildingProto
skiTrailGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiTrailProto
elevationModelCaptures elevation data used on TYPE_DIGITAL_ELEVATION_MODEL features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreElevationModelProto
syntheticGeometryWe prefer features that have geometry over those that do not. In some cases we synthesize geometry (e.g., polygons for postal codes). This flag is set to indicate features that have such synthetic geometry.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.boolean
polygonForDisplayProvide version of the geometry suitable for display. This has been subject to water removal and (possibly) moderate simplification.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePolygonProto
logicalBorderGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLogicalBorderProto
polylineGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePolyLineProto)
laneMarkerGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLaneMarkerProto
entranceGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreEntranceProto
geometryPrecisionMetersIf set, the feature’s actual location can be assumed to be somewhere within a circle of this radius, centered on the feature’s location. More information on this field at go/gpm-definition-update. NOTE: Only applicable to features with ‘point’ geometry. Please contact geo-schema-team@ if you have non-point use cases for which this field would be useful.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.float
accessPointOptional access point information. Access points hold detailed information about routing endpoints. For example, the main Google office is at “1600 Amphitheatre Parkway”. The feature representing that office has a polygon, a center, and an address with components for the street number, route, locality, etc. The access point information, on the other hand, identifies the specific segment, the latitude/longitude of the driveway, and so forth.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAccessPointProto)
rankDetailsThe rank field is computed as a weighted sum of several signals. This field contains a protocol buffer whose fields give those signals and their weights. Clients should try very hard not to depend on these individual signals and use the single rank field instead. At some point in the future, this field will not be exposed anymore.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRankDetailsProto
metadataMetadata about this particular feature. Metadata is managed internally by the Geo Data Infrastructure and in general should not be set by clients. Features that don’t ultimately come from the Geo repository (MapFacts) won’t have any metadata set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureMetadataProto
kgPropertyProperties that apply to this feature whose schema is defined in the Knowledge Graph schema (see https://hume.google.com/graph/schema). Not all properties that exist in the KG schema can be asserted via this mechanism. The set of properties that are allowed to be set on a feature depends on the feature’s GConcepts (and feature type). For instance, only gcid:country features may have the /geo/type/country/president property (made up example, since that property doesn’t actually exist in the KG schema). GConcept hierarchy is taken into account for deciding the set of allowed properties. Additionally, the specific properties allowed are further constrained by the list specified at go/kg-property-allowlist. NOTE: not all types of properties are allowed to appear in the Geo Schema. For now, we limit ourselves to properties whose value type is TYPE_BOOL, TYPE_COMPOUND, TYPE_DATETIME, TYPE_FLOAT, TYPE_ID, TYPE_INT, TYPE_NESTED_STRUCT, TYPE_TEXT, or TYPE_URI. NOTE(b/35039936): We are in the process of changing how a KG property with multiple values is stored in this field. Currently, such a KG property is stored in a single instance of the kg_property field. However, we will be changing this so that each value will be stored in its own instance of kg_property. Any client that wants to read from this field should be prepared to read data represented in either format. See b/35039936 or the announcement at http://g/geo-schema-announce/7IXR3Fex8to/7yFyT5UoAwAJ for an example and more details. The mechanism to assert that a KG property has no value is via the property_value_status field below. freebase.PropertyValue.value_status is not allowed be set here for consistency reason.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(FreebasePropertyValue)
relatedFeatureGeographic or logical relationships to other features. Importers don’t need to fill a geographic relationship in – it is handled by related feature processing by a standalone pipeline. Adding “contained by” country relations is however encouraged (and required for TYPE_ROUTE features). WARNING: Updates to this field handled by standalone pipelines are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreRelationProto)
visualizationAreaGeometry Store ID and materialized geometry representing a bounding box of the feature’s geometry (or the building/grounds a POI occupies) for stylized rendering, UX experiences, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
inferredGeometryGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreInferredGeometryProto
attachmentThe collection of attachments for this feature. Documentation: http://go/geo-attachmentsGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAttachmentsAttachmentProto)
associatedEvChargingStationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
localeGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLocaleProto
skiLiftGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiLiftProto
intersectionGroupGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreIntersectionGroupProto
polygonGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePolygonProto)
signGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRoadSignProto
skiBoundaryGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiBoundaryProto
relatedTerminalPointTerminal points associated with this feature. For instance, an airport terminal may have specifically designated pickup and drop-off points.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
sourceInfoA list of the data sources that were used to construct this feature, together with optional “raw data” in the provider’s format. Raw data should not be used by production clients but may be useful for exploring data that is not currently converted to a canonical form.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreSourceInfoProto)
restrictionGroupGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRestrictionGroupProto
futureGeometryForSpecifies the feature that this feature’s geometry will replace. If this field is populated, the referenced feature must have a future_geometry reference back to this feature. This field is only allowed (and required) for TYPE_FUTURE_GEOMETRY features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
transitLineGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitLineProto
segmentGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSegmentProto
trackDefines the geometry of a feature as a sequence of 6D poses, including lat, lng, altitude, roll, pitch, and yaw. Only lat and lng are typically required. Each track has an index so that they can be viewed in a stable order.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreTrackProto)
businessChainData specific to business chain features, e.g., Canonical GConcepts.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBusinessChainProto
geopoliticalGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeopoliticalProto
geometry3dGeometry Store ID and materialized geometry representing the feature’s physical shape in the world. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
pointDefines the geometry of the feature. The geometry may be specified as an arbitrary union of points, poses, polylines, tracks, and polygons. Points, poses, polylines, and tracks are assumed to represent regions of unspecified size or width rather than regions of zero area. Most features should have some sort of geometry. Geometry may be synthesized if none is available (e.g., polygons for postal codes). The synthetic_geometry flag should be set in that case. Point is currently enforced as a non-repeating field for all feature types, though it is defined as repeating in case future modeling requires multiple points. The number of allowed polylines, tracks, or polygons vary based on feature type. A feature can have at most one pose (it is an optional field).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePointProto)
transitLineVariantRESERVEDGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitLineVariantProto
interiorCoveringS2 interior covering that consists of cells completely enclosed within the feature’s geometry (for features with polygonal geometry).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreCellCoveringProto
roadMonitorGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRoadMonitorProto
bestLocaleDescribes the best-match locale for this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBestLocaleProto
childFeatures can define themselves as a collection of other features. For example, a route is a collection of road segments, and a feature for the “Great Lakes” could be defined as lakes Superior, Michigan, Huron, Erie, and Ontario. It is not recommended to design a multi level tree using the child field to build up a feature because it requires fetching many features to see the details of the feature. In practice this is used to model archipelago, route, transit (agencies, lines, trips, departures), and river features. The geometry of a feature is implicitly defined by its children, so if a feature has children then it should not have any points, polylines, or polygons. In general, this field should not be used to represent political or postal hierarchies. For example, a county would not list its cities as children, because the county is not defined in terms of its cities (it also contains unincorporated areas, etc.).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
establishmentAlso allowed on TYPE_BUSINESS_CHAIN and TYPE_TRANSIT_AGENCY features, to model the feature’s phone number(s). Other fields within EstablishmentProto are not permitted on non-TYPE_ESTABLISHMENT features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreEstablishmentProto
storefrontGeometryRepresents information about the store front geometry. Only TYPE_ESTABLISHMENT_POI should have this field set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAnchoredGeometryProto)
websiteThe official website of this feature. Stored as a repeated field to allow for multilingual official websites (see comments in url.proto).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreUrlProto)
propertyValueStatusThe value status of properties on this feature. For example, this specifies whether the feature is known to have no name (this is the value status of the ‘FEATURE_NAME’ property). Only property IDs which have no specific value are allowed to have a value status. Note: not all field types will be supported, please contact geo schema team if you want to enable this field for a field type that is not currently supported.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePropertyValueStatusProto)
socialReferenceAll establishments must have a social reference. WARNING: Aside from creating new establishments, please do NOT introduce new uses; treat social references as if they were deprecated. For alternatives and more, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-types/establishments/social-reference.md.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSocialReferenceProto
tollPathRepresents information about /geo/type/toll_path features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTollPathProto
routeAdditional details on the feature types below can be found in the individual protocol buffer definitions. These extensions capture data that is specific to a set of feature types and which makes no sense for other feature types.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRouteProto
parkingDescribes parking details for the feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreParkingProto
knowledgeGraphReferenceRESERVEDGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreKnowledgeGraphReferenceProto
borderGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBorderProto
tollClusterRepresents information about TYPE_TOLL_CLUSTER features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTollClusterProto
politicalGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePoliticalProto
transitStationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitStationProto
rawGconceptInstanceContainerGeo Ontology GConcept Instances – Design doc linked off http://go/geo-ontology – In order to shield clients from changes in GConcept representation we provide an accessor library: geostore/base/public/gconcept_instance.hGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreOntologyRawGConceptInstanceContainerProto
internalData for this feature that is less about the feature and more about other data in the feature. For example, it might be data about the rights we have to other data in this FeatureProto, or MapFacts-internal shape IDs for this feature’s polygons.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreInternalFeatureProto
threeDimModelCaptures full model representing the feature’s 3D geometry. Should only be found on TYPE_COMPOUND_BUILDING features for now, but not part of the BuildingProto extension for possible future extensions.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreThreeDimensionalModelProto
temporaryDataA place for clients to attach arbitrary data to a feature. Never set in MapFacts.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.Proto2BridgeMessageSet
originalIdThis field is used internally by the pipeline for id stability. It should not be set by individual importers, nor should it be read by consumer clients. In particular, this field will not be present in features read or snapshotted from the Mapfacts Repository.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
relatedBorderFor TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features, this field defines the associated TYPE_BORDERs which reference this feature. The linked TYPE_BORDERs must have the feature.border set, pointing to this feature. TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features must have this field set for each TYPE_BORDER referencing them.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
preferredViewportThe preferred viewport for this feature. If present, this latitude-longitude rectangle holds the preferred viewport for the feature. For example, it might hold the bounds of the “central” portion of a large city. There are no aspect ratio requirements. This is an optional field: if no viewport is supplied, interested clients can use heuristics to determine a viewport. Calling the standard GetFeatureGeometryBound() function would be a good way to start but note that it can return an empty bounding box (e.g., if the feature has no geometry). The preferred viewport is not necessarily fully contained by the above bounding box.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRectProto
futureGeometrySpecifies the TYPE_FUTURE_GEOMETRY whose geometry will replace this feature’s geometry. If this field is populated, the referenced future geometry must have a future_geometry_for referencing this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
intersectionGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreIntersectionProto
segmentPathGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSegmentPathProto
exemptRegulatedAreaA list of feature ids of polygon based restrictions that do not apply to this feature. This may only include features of TYPE_REGULATED_AREA that also have a feature.regulated_area.restriction field defined. Setting this field opts the feature out of all restrictions set on that regulated area.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
disputedAreaRepresents information about disputed areas. Only TYPE_DISPUTED_AREA features should have the field set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDisputedAreaProto
levelRepresents information about TYPE_LEVEL features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLevelProto
operationsInformation about this feature’s operations, e.g. when this feature is temporarily closed. NOTE: for legacy reasons, some closure-specifc information (e.g. permanent closure reason) lives in ExistenceProto instead. In the future, such information should move here in OperationsProto.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreOperationsProto
waterRemovedPolygonA version of the geometry which has water removed but is not simplified (thus having equal or more vertices than polygon_for_display).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePolygonProto
dataSourceGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDataSourceProto
typeThe type of this feature — see comments above.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.String
poseDefines the geometry of a feature as a 6D pose, including lat, lng, altitude, roll, pitch, and yaw along the WGS-84 ellipsoid. Only the lat and lng are strictly required.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePoseProto
attribute** DEPRECATED ** A list of attributes that describe defined aspects of this feature. An attribute must be a concrete, high quality, and editable piece of information about a feature, and must be used on some general consumer facing Google property. The data types used for attributes must be primitive types or reusable in a generic manner.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAttributeProto)
coveringS2 cell coverings for this feature. See util/geometry/s2cell_union.h for more information about S2 cells. Coverings are useful for quick containment or intersection tests. S2 covering that consists of cells that intersect with the feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreCellCoveringProto
schoolDistrictGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSchoolDistrictProto
statusAll features can have “existence” information associated with them.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreExistenceProto
parentGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
addressAddress for this feature. A Geo Schema address is designed to model a mailing address, so only features that have mailing addresses in the real world may have addresses. Each feature should have only one address. If you want to describe the geographic location of a feature which does not have a mailing address with respect to other well-known features, some other schema constructs should be used. Note that the field is defined as repeated though features that use this field with its intended semantics are constrained to have a single address even if they may have multiple mailing addresses in the real world. The “single address” rule is enforced by lint. Current exceptions to the single address rule and mailing address rule are described in the g3doc. Bear note that the schema team is actively working on eliminating these exceptions. http://go/geo-addresses Note the following conventions: – Addresses follow the postal hierarchy, not the political hierarchy. Addresses may have components that refer to political entities when those entities also appear in the postal hierarchy. – As stated previously, but it bears repeating, addresses on features are mailing addresses. In many cases the physical address and the mailing address are the same but the address stored on a feature represents the mailing address of the feature. An example of a non-physical mailing address would be a PO Box. – These addresses are commonly defined and verifiable by a governmental authority (e.g. the United States Postal Service in the United States, Royal Mail in the United Kingdom, Correios in Brazil, etc.) and should follow conventions and rules defined by those authorities.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAddressProto)
rankWARNING: Please do NOT introduce new uses of this field; treat it as if it were deprecated. For appropriate ranking contacts, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-properties/rank.md. A floating-point number between 0.0 and 1.0 indicating how “important” we think this feature is. This can be used to decide which features to render on maps, and how to rank results when the user does a search. The rank can depend on any number of factors such as the number of references to this feature in web pages, geographic size, population, number of referring geographic entities, “priority” information encoded in the source data, etc.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.number
idThe globally unique id for this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
anchoredGeometryRepresents information about the feature’s anchored geometry.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreAnchoredGeometryProto
htmlText** DEPRECATED ** Features can have zero or more HTML texts associated with them. These might be HTML balloons used by Google Earth, for example.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreHtmlTextProto)
regulatedAreaGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRegulatedAreaProto
relatedEntranceLogical relationship to other features that are entrances or exits to this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreEntranceReferenceProto)
boundA latitude-longitude rectangle used by bucketing MapReduces. See the documentation on bucketing MapReduce for details. This field can be a source of confusion. Because it is called “bound”, it is often assumed that it is a tight bound on the geometry but it can be (and often is) much larger. If a tight bound is needed then use the standard GetFeatureGeometryBound() function instead. To be more explicit, if you are using this field for *anything* else than a bucketing MapReduce, you are doing the wrong thing. Not all features are required to have bounding boxes. See geostore::IsBoundRequiredForFeatureType() for the list of feature types required to have a bounding box. This bound field will be updated when a feature changes in MapFacts to include its geometry. Also, a GeoSchema pipeline, go/geo-schema-pipelines-docs#expand-bounds runs periodically to update the field for strong references from other features. Therefore, most editors don’t need to edit this field explicitly. See go/geo-changes:no-edit-for-feature-bound for the details.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRectProto
elevationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreElevationProto
verticalOrderingRepresents vertical ordering for this feature relative to other geometrically-overlaping features. See go/aboutgrades for more information about distinction among different levels.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreVerticalOrderingProto
derivedFromThis feature was created to replace other features that are referenced by this field.GeostoreFeatureReplacementInfoProtoMetadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).list(GeostoreFeatureIdProto)
replacedByThis feature was replaced by other features that are referenced by this this field.GeostoreFeatureReplacementInfoProtoMetadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).list(GeostoreFeatureIdProto)
internalGeostoreFieldMetadataProtoInternal field metadata. This part is not exposed to downstream consumers of the repository (read-only clients) but is available to upstream providers to the repository (read-write clients).GeostoreInternalFieldMetadataProto
attributeId**DEPRECATED** Never set.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.String
featurePropertyIdThe feature property id for which this entry tracks rights.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.GeostoreFeaturePropertyIdProto
fieldType**DEPRECATED** The field type for which this entry tracks rights. There may be multiple entries for the same field type – prefer feature_property_id to uniquely identify a particular entry.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.integer
minRightsLevelThe minimum rights level among all current values for this feature property id.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.String
curvatureRESERVEDGeostoreFlowLineProtoWrapper to hold data related to a lane’s track, extendable for future data.GeostoreCurvatureProto
trackGeostoreFlowLineProtoWrapper to hold data related to a lane’s track, extendable for future data.GeostoreTrackProto
allergenAbsentGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
allergenPresentGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
caloriesGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.integer
ingredientsIngredients of the food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostoreFoodMenuItemOptionProtoIngredient)
mediaPhotos of the food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field here is for item options with names or descriptions listed in multiple languages. When an item option has no names or descriptions, the size of the repeated field name_info may be 0. For example, when a food menu item does not have multiple options, the item option proto is used only to specify price and nutritional information, so it will not have a name_info field. There should be at most one name_info for any given language.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostorePriceListNameInfoProto)
nutritionFactsNutrition facts of the food dish option. Note that it also includes calories information with a finer defined unit information.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostorePriceInfoFoodNutritionFacts
portionSizeSize of the order, represented in units of items. (e.g. 4 “skewers”, 6 “pieces”)GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostoreFoodMenuItemOptionProtoPortionSize
preparationMethodsMethods on how the food dish option is prepared.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
priceWe use PriceRangeProto here but we expect the lower_price and upper_price to be both set to equal numbers because an option should have a single price. This field is not required because food item prices may be variable depending on season.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostorePriceRangeProto
restrictionGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
servesNumPeopleNumber of people can be served by this food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.integer
spicinessGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.String
nameInfoThe repeated name_info field is for the ingredient in multiple languages.GeostoreFoodMenuItemOptionProtoIngredientThis message denotes an ingredient information of a food dish.list(GeostorePriceListNameInfoProto)
quantityRequired.GeostoreFoodMenuItemOptionProtoPortionSizeThis message denotes the serving portion size of a food dish.integer
unitRequired. The repeated name_info field is for the unit in multiple languages.GeostoreFoodMenuItemOptionProtoPortionSizeThis message denotes the serving portion size of a food dish.list(GeostorePriceListNameInfoProto)
itemOptionGeostoreFoodMenuItemProtoA food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.list(GeostoreFoodMenuItemOptionProto)
nameInfoThe repeated name_info field is for items listed in multiple languages.GeostoreFoodMenuItemProtoA food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.list(GeostorePriceListNameInfoProto)
gconceptIdThe unique identifier of a GConcept (e.g. “gcid:railway”).GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).String
metadataField-level metadata for this GConcept.GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).GeostoreFieldMetadataProto
prominenceThe relative prominence of this category to this feature according to the data provider, as one of the values from the enum above. Prominence is a measure of how well the given GConcept describes the feature. An example is a gas station with convenience store and ATM. All three GConcepts are very relevant, but the gas_station GConcept is the most prominent. If the prominence of this GConcept is unknown, this field should not be set.GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).String
excludesGeometryOfFeatures whose geometry to exclude while composing the geometry of this feature.GeostoreGeometryCompositionEncapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_oflist(GeostoreFeatureIdProto)
includesGeometryOfFeatures whose geometry to include while composing the geometry of this feature.GeostoreGeometryCompositionEncapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_oflist(GeostoreFeatureIdProto)
footprintGeometry (in STGeography format) materialized from the footprint field of the Geometry Store record associated with the geometry_id referenced above.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.String
geometryGeometry materialized from the full_fidelity_proto field of the Geometry Store record associated with the geometry_id referenced above.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.GeostoreCityJsonProto
geometryIdThe ID of a record in the Geometry Store.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.String
restOfWorldPolygonThe unsimplified, water-subtracted polygon representing the feature’s geometry as viewed by the rest of the world, which may differ from its default polygon, for example by excluding certain regions.GeostoreGeopoliticalGeometryProtoGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.GeostorePolygonProto
selfPolygonThe unsimplified, water-subtracted polygon representing the feature’s geometry as viewed by the country that administers it, which may differ from its default polygon, for example by including disputed areas.GeostoreGeopoliticalGeometryProtoGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.GeostorePolygonProto
conveysAttributionToIf present, some aspect of this feature (usually name or geometry) can signify ownership of the area by the region specified. The string, if present, will be a region code. E.g., suppose a TYPE_POSTAL_CODE feature has a Russian format in Crimea (which is disputed by Ukraine), then this field would be set to “RU”.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.String
regionSpecificNameAny specific handling of this feature’s name from different regions’ POVs. This field can only contain up to one name per region/language combination (each of which would be a separate RegionSpecificNameProto).GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreRegionSpecificNameProto)
regionalPolygonAdjustmentAdjustments to the base polygon of this feature to construct a region-specific view. In general, this field is edited only by go/mf-triggers based on the data written to regional_polygon_composing_claims. This field should only be directly edited if there are region-specific adjustments that cannot be represented using the geometry of this feature’s claims, but note that anything written to this field will be overwritten by go/mf-triggers if regional_polygon_composing_claims is ever edited. See go/geopolitical-geometry-schema for more information.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto)
regionalPolygonComposingClaimsFeature’s claim(s) which compose the region-specific polygon. This composition will be used by go/mf-triggers to compose the specified region’s view of this feature’s geometry. The difference between that polygon and this feature’s base polygon will be stored in regional_polygon_adjustment below. Edits to this field will overwrite anything already stored in regional_polygon_adjustment. See go/geopolitical-geometry-schema for more information.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto)
polygonToAddPolygon to add to the feature’s base polygon to get the view for the given region. Applied after polygon_to_subtract, such that any region contained in both polygons WILL be part of the final result.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.GeostorePolygonProto
polygonToSubtractPolygon to subtract from the feature’s base polygon to get the view for the given region.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.GeostorePolygonProto
regionCodeRegion code (or other identifier) for the region.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.String
regionCodeRegion code (or other identifier) for the region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.String
regionExcludedClaimsTYPE_DISPUTED_AREAs claimed by this feature excluded from this region’s view of the feature’s geometry. (The TDAs must have polygonal geometry and be referenced in this feature’s political.claim field.) The polygons of these claims will be subtracted to this feature’s base polygon when this feature is viewed from the specified region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.list(GeostoreFeatureIdProto)
regionIncludedClaimsTYPE_DISPUTED_AREAs claimed by this feature and included in this region’s view of the feature’s geometry. (The TDAs must have polygonal geometry and be referenced in this feature’s political.claim field.) The polygons of these claims will be added to this feature’s base polygon when this feature is viewed from the specified region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.list(GeostoreFeatureIdProto)
indexThe index of the point along the segment, where 0 is the starting point. This means that the index of a point along a segment and its sibling will be different.GeostoreGradeLevelProtoThe grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.integer
levelThe grade level of the indexed point. The grade level can be thought of as a relative vertical ordering with respect to other segments at the same point, where larger/more positive numbers are “higher”. Negative grade level values are allowed and are typically used for points below grade level (0 is a common choice to represent the level of points at the ground level). For vertical segments, the height, i.e. the vertical length, is represented by difference of levels in millimeters. For example, feature.segment().grade_level(0).level() == 0 and feature.segment().grade_level(1).level() == 5000, then the length of the vertical segment feature is 5000 millimeters (5 meters).GeostoreGradeLevelProtoThe grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.integer
textZero or more texts of the specified type, in various languages. If this is a HTML_DESCRIPTION blob then these texts would hold the description in English, German, and so forth. The text is an HTML fragment, not a full page. The fragment should be suitable for including in a DIV. It must have balanced HTML tags. It may use HTML’s “class” attributes to assign classes to HTML elements. This allows the HTML to be formatted by an (external) style sheet. The HTML should not have embedded style sheet definitions, nor should it have embedded JavaScript.GeostoreHtmlTextProtoRepresents HTML text associated with a feature.list(GeostoreLanguageTaggedTextProto)
typeGeostoreHtmlTextProtoRepresents HTML text associated with a feature.String
definesGeometryForFeatures whose geometry depends on this feature’s geometry.GeostoreInferredGeometryProtoInferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a “composite feature”, while the countries are its “composing features”. A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via `geometry_composition`, while the composing features must refer back to the composing feature via `defines_geometry_for`. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.list(GeostoreFeatureIdProto)
geometryCompositionFeatures whose geometry defines the geometry of this feature (i.e. “composing features”).GeostoreInferredGeometryProtoInferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a “composite feature”, while the countries are its “composing features”. A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via `geometry_composition`, while the composing features must refer back to the composing feature via `defines_geometry_for`. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.GeostoreGeometryComposition
polygonShapeIdA unique identifier for this feature’s polygon data which is being held externally in Shapestore (see go/shapestore).GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
restOfWorldPolygonShapeIdA unique identifier for this feature’s rest-of-world view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature’s geopolitical geometry.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
rightsStatusPer-field rights for this feature. See http://g3doc/geostore/g3doc/developers-guide/inputs/rights-tracking for more information.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).GeostoreRightsStatusProto
selfPolygonShapeIdA unique identifier for this feature’s self view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature’s geopolitical geometry.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
trustTrust signals/annotations for the feature. In an input feature, these signals are computed at the beginning of the pipeline and are immutable during the processing. In output features, this proto may define the rules/criteria that a newer edit should meet, in order to be applied.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).GeostoreTrustSignalsProto
waterRemovedPolygonShapeIdA unique identifier for this feature’s water-removed polygon data which is being held externally in Shapestore (see go/shapestore).GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
isAutoWhether or not the piece of data has been generated automatically (i.e., by a bot/automated process based on heuristics/algorithms rather than coming as a fact set by some human user or data provider based on their knowledge). Note that this does NOT imply that the value was set as a result of a bot operation on the repository, since it is conceivable to use a bot/automated process simply as a way of convenience to ingest large amount of canonical/ground truth data.GeostoreInternalFieldMetadataProtoboolean
sourceSummaryInformation about the source providing the piece of data this metadata is attached to.GeostoreInternalFieldMetadataProtoGeostoreInternalSourceSummaryProto
disallowedConnectionsA list of lane connections that are explicitly not allowed to be added. NOTE: This should never reference existing lane connections on this segment.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreInternalSegmentProtoLaneConnectionReference)
disallowedPrimaryConnectionA list of lane connections which cannot have the primary_connection bit set.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreInternalSegmentProtoLaneConnectionReference)
travelAllowanceThe set of restrictions that apply to this segment; these are actually *POSITIVE* restrictions, i.e. they are known to be allowed.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreRestrictionProto)
fromLaneNumberThe lane number on this segment.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.integer
segmentThis reference to the other segment is weak, since strong would blow up bounds of all segments.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.GeostoreFeatureIdProto
toLaneNumberThis is the lane number on the target segment.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.integer
datasetWithin the above provider, the dataset from which this piece of data was generated. For fields that are auto-generated the “dataset” is likely to be some algorithm’s or program’s name. Similar to SourceInfoProto.dataset but with the difference that it is required to always be set. Providers that don’t have a concept of dataset may use “default”.GeostoreInternalSourceSummaryProtoString
providerThe data provider from which this piece of data was generated. Equivalent to SourceInfoProto.provider in the public schema.GeostoreInternalSourceSummaryProtoString
childGroupAll artifact intersection groups that are in this logical group.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.list(GeostoreFeatureIdProto)
groupTypeGeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.String
intersectionThe list of TYPE_INTERSECTION features that form this intersection group, but are NOT in any of this group’s child groups. This could be an empty list, though that is sub-optimal. Even an empty list would allow the paint team to draw a label for a named intersection, but a non-empty list would, for example, enable PathFinder to generate better directions. Each of the TYPE_INTERSECTION feature referred here must refer back to this feature in its IntersectionProto.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.list(GeostoreFeatureIdProto)
parentGroupParent logical intersection group. An artifact group that does not have an associated parent logical group is assumed to be both an artifact and logical group.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.GeostoreFeatureIdProto
intersectionGroupThe artifact or logical intersection group to which this intersection belongs. If present, the intersection group must also refer back to the intersection. If an intersection is within both the artifact and logical group, then this reference should be to the artifact group.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.GeostoreFeatureIdProto
outSegmentRESERVEDGeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.list(GeostoreFeatureIdProto)
segmentThe list of segments that terminate at this intersection, in any order. Note that all segments are directed towards the intersection, i.e. their endpoints indicate what sort of intersection this is. This should not be empty because an intersection with no associated segment is meaningless.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.list(GeostoreFeatureIdProto)
tollClusterThe toll cluster to which this intersection belongs. If present, the toll cluster must also refer back to the intersection. To set this field, the intersection must be a gcid:toll_intersection feature.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.GeostoreFeatureIdProto
durationDescribes how much time the service is going to take, e.g. how long it takes to do a haircut. Value of seconds must be from +60 (1 min) to +31,536,000 (365 days) inclusive. Value of nanos must be zero.GeostoreJobMetadataString
jobRelatedCategoriesRepresents the name of a potential grouping of items. For TYPE_JOB, this is the category names of the categories that a user picked this job type from at the time of input.GeostoreJobMetadatalist(GeostoreJobRelatedCategory)
jobTypeIdUnique identifier for a job. This is required for standard jobs and blank for free-form jobs. Job type ids are prefixed with “job_type_id:”. Notice this is a unique string representation of a job across languages. E.g., “job_type_id:air_duct_repair”. The existence of a job_type_id means the job type is a standard one, and has a corresponding entry in the Standard Jobs Taxonomy.GeostoreJobMetadataString
jobTypeMidRepresents the MID corresponding to the job_category entity in the Knowledge Graph. For example, job_type_id=”job_type_id:install_faucet”, job_type_mid=”/g/11hzzxjv3f”.GeostoreJobMetadataString
gcidGeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
languageGeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
nameCategory name in the primary language of the feature. Generally intended to be used as a fallback when we are unable to fetch the name in the user’s language.GeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
idKG Identifier (MID). For details, see http://go/ke-bg-knowledge-graph#mids.GeostoreKnowledgeGraphReferenceProtoThe reference to an entity in the KnowledgeGraph. For details on the KnowledgeGraph see http://goto/kg.String
featureTypeThe type of the landmark feature. Allowed types: – TYPE_CARTOGRAPHIC e.g. a putting green or water hazard – TYPE_COMPOUND e.g. – the Empire state building (TYPE_COMPOUND_BUILDING) – a park (TYPE_COMPOUND_GROUNDS) – a section of a retail store (TYPE_COMPOUND_SECTION) – TYPE_ESTABLISHMENT e.g. – the Eiffel Tower (TYPE_ESTABLISHMENT_BUILDING) – a sports field (TYPE_ESTABLISHMENT_GROUNDS) – Starbucks (TYPE_ESTABLISHMENT_POI) – TYPE_INTERSECTION_GROUP e.g. a major intersection – TYPE_NATURAL_FEATURE e.g. a river – TYPE_SEGMENT e.g. a bike trail or train tracksGeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).integer
landmarkThe feature ID of the landmark feature.GeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).GeostoreFeatureIdProto
travelModeThe mode(s) of travel for which this landmark is useful.GeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).list(String)
barrierMaterialsIf this is a physical barrier marker, represent materials found on the marker.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreBarrierLogicalMaterialProto
crossingPatternPattern border and color for crossing markers. These include crosswalks, stop, and yield lines.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreCrossingStripePatternProto
linearPatternStripe pattern, spacing, and color for longitudinal markers.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreLinearStripePatternProto
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreBoundingMarkerProto)
conjoinedCategoryIf the current lane is part of a merge/split area, indicates the type (split or merge) and whether the current lane is on the left or right or in the middle of the merge/split area, as seen in the direction of traffic. See go/lane-split-merge-schemaGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
distanceToNextLaneGap between this lane and the next in meters. This is relevant when the divider is physical, or a wide painted area. For regular painted single or double lines, there is no gap. This distance is duplicated between the innermost lanes for each side. Note that this is not used to describe smallish islands – this is only for long-running gaps. In particular, this models the median width, the gap between HOV lanes/regular lanes on freeways, and the road verge between a curb and sidewalk. Note on split roads: We can model any split road with a median as a single sibling pair with this distance set to the width of the median, or as two one-way sibling pairs.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
flowThe most logical path for the center of an object to travel along within the lane. Typically, this is the lane’s center line, but doesn’t have to be.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.GeostoreFlowLineProto
laneConnectionConnections to lanes of other segments at the end of this segment. These connections model the connectivity where you don’t have to do a lane change maneuver. If any lane connection is present, assume that all others are forbidden. Also note that segment level restrictions do apply if present, and can disallow some turn even if the lanes are connected. For instance, this can happen with timed or vehicle type based restrictions on the segment. If lane connectivity implies a segment-level restriction (can’t transition to some target segment), that restriction will also exist as a segment level restriction. In effect – PathFinder does not have to look at lane connectivity to figure out segment connectivity. Example: Typically, lanes are just connected to one other lane. Example: A splitting lane is connected to the two resulting lanes. Example: At an intersection, a lane is connected to crossing lanes according to how lanes are painted across the intersection. In the common case, the target segment will be connected to the same intersection as this segment. That will however NOT be true for complex intersections where there is an intersection group. The connections will be across the whole group, connecting to one of the outgoing segments from the group. This is analogous to how we do turn restrictions around intersection groups.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreLaneProtoLaneConnection)
laneDividerCrossingclang-format on Whether the divider to the inside of this lane can be crossed. Note that we assume this is symmetric, and that this also describes whether someone in the next inside lane can cross to this one. The “inside” lane is the one with a lower lane_number. Note on lane markers: We do not model the painting, but only the resulting legality. There are many painted marker styles and colors that lead to the same legality. We expect Paint or Driveabout to render lanes stylized, with solid meaning “can’t cross”, and dashed meaning “can cross”. Note on varying legality along segment: ALLOWED takes precedence – even if some small portion has a restriction (such as right before an intersection) , the lane change will be ALLOWED.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
laneFollowsSegmentBeginFractionThese indicate for what portion of the segment the lane’s flowline exactly follows the segment, and the lane is of constant width. This will be set to not include the whole segment where there is a split/turn/merge at either end of the lane. The painting of the lane should completely synthesize the lane geometry outside of this portion, connecting it to neighboring lanes to make graphical nice.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
laneFollowsSegmentEndFractionGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
laneNumberLanes are numbered from inside of the road outward, i.e. the lane next to the center line is lane 0. The lanes then stack outwards, towards the side that one drives on this segment (right or left). NOTE: do NOT use the lane_number as index for lookup. Lane_number is not guaranteed to match the segment.lane repeated field index.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.integer
laneTokenA token that can be used to identify the version of the data about this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
metadataField-level metadata for this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.GeostoreFieldMetadataProto
restrictionRestrictions that apply to this lane only. Examples include HOV lanes. If a lane restriction implies a segment-level restriction (can’t route on the segment at all), that restriction will also exist as a segment level restriction. In effect – PathFinder does not have to look at lane restrictions to figure out segment restrictions.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreRestrictionProto)
sharedTrue if this lane is usable in both directions (left-turn lane, reversing lane, one-lane road, etc). To get the total number of lanes for a road, add up the lanes in each direction counting 0.5 for each shared lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.boolean
stopLineReferences to any gcid:physical_lane_marker features that intersect this lane, with the implication that a moving vehicle should stop there.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreFeatureIdProto)
surfaceclang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/segment.proto) Unlike the surface in SegmentProto, this field does not have a default value. This is because the lane-level surface overrides the segment-level surface. The lane’s surface should be unset unless explicitly overriding the segment’s surface.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
typeclang-format onGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
widthWidth of this lane in meters. In many cases, we will collect this data by dividing the total road width by the number of lanes. On accuracy: This is a rough average width along this segment. If and when we wanted to be more accurate, we’d extend this schema to have full polygons for segments/lanes rather than just this average width.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane connection.GeostoreLaneProtoLaneConnectionlist(GeostoreBoundingMarkerProto)
connectionTokenA token that can be used to identify the version of the data about this lane connection.GeostoreLaneProtoLaneConnectionString
curveSpecifies how the flowline should be synthesized in this connection region. If unspecified, heuristics may be used to pick a sweep shape based on retraction values or neighboring curves.GeostoreLaneProtoLaneConnectionGeostoreCurveConnectionProto
flowThe most logical path for the center of an object to travel along within the lane connection. Typically, this is the lane connection’s center line, but doesn’t have to be.GeostoreLaneProtoLaneConnectionGeostoreFlowLineProto
laneNumberThis is the lane number on the target segment. This field is not set if the target segment doesn’t have lanes, or we don’t know the exact connectivity.GeostoreLaneProtoLaneConnectioninteger
primaryConnectionTrue if this connects to the unique, natural continuation of the current lane. At most one LaneConnection per lane can have this field set true. This attribute is of interest to ADAS providers as a hint to which lane a vehicle is likely to follow, in the absence of other information about the vehicle’s planned path.GeostoreLaneProtoLaneConnectionboolean
segmentThis reference to the other segment is weak, since strong would blow up bounds of all segments.GeostoreLaneProtoLaneConnectionGeostoreFeatureIdProto
yieldToOtherConnectionsThe inverse of the primary connection bit that provides a hint that this connection is part of a merge and a vehicle following this connection should yield to vehicles following other incoming connections.GeostoreLaneProtoLaneConnectionboolean
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreLanguageTaggedTextProtoRepresents a piece of text with an associated language.String
textThe text (UTF-8 encoding).GeostoreLanguageTaggedTextProtoRepresents a piece of text with an associated language.String
buildingThe building(s) to which this level belongs. A level will typically belong to a single building, but it is valid for a single level to be shared by multiple buildings (for example, a large underground parking lot). These buildings refer back to the level via another strong reference (the BuildingProto.level field).GeostoreLevelProtoA feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name – Levels should have names according to the following: * Short, elevator-style names, such as “L” for “Lobby” and “2” for “Second floor”, must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous “best” abbreviated name. * Longer names such as “Ticketing” or “Upper Level” may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name “Observation Deck 2” for the abbreviated name “OD2” is a good additional name. In contrast, the name “Level 2” for the abbreviated name “2” is not desired. address – This should always be empty. point, polyline, polygon, center – These should never be set (since we are representing a logical entity). preferred_viewport – This should be the approximate extent of the level. child – This should always be empty.list(GeostoreFeatureIdProto)
numberThe elevation of this level relative to the ground level, in levels. 0 = ground floor (even in locales that call the ground floor “1st floor”); 0.5 = between ground and first floor, eg mezzanine; 1 = first floor (one level above ground floor); -3 = three levels below ground floor.GeostoreLevelProtoA feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name – Levels should have names according to the following: * Short, elevator-style names, such as “L” for “Lobby” and “2” for “Second floor”, must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous “best” abbreviated name. * Longer names such as “Ticketing” or “Upper Level” may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name “Observation Deck 2” for the abbreviated name “OD2” is a good additional name. In contrast, the name “Level 2” for the abbreviated name “2” is not desired. address – This should always be empty. point, polyline, polygon, center – These should never be set (since we are representing a logical entity). preferred_viewport – This should be the approximate extent of the level. child – This should always be empty.number
lineA linear marker may consist of one or more parallel physical lines. These are ordered left to right along the direction of the marker core polyline.GeostoreLinearStripePatternProtolist(GeostorePhysicalLineProto)
languageThe language associated with this preference. The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.String
officialFlag to indicate if the associated language is “official” within a locale.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.boolean
preferenceThis value represents the preference of the associated language within a locale. It must be between 0.0 and 1.0.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
speakingPercentPercentage of population that can speak the associated language within a locale. It must be between 0 and 100.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
writingPercentPercentage of population that can write the associated language within a locale. It must be between 0 and 100.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
languageThis holds the list of languages spoken within a locale.GeostoreLocaleProtoA locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don’t have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.list(GeostoreLocaleLanguageProto)
localizationPolicyIdThe ID of the localization policy (from googledata/geostore/localization/localization_policies.textpb) to apply to features that have this locale as their best match locale. Localization policy IDs are arbitrary identifiers that uniquely distinguish a set of language-selection rules.GeostoreLocaleProtoA locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don’t have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.String
borderSegmentAll the border segments which make up this logical border. Border segments must be TYPE_BORDER features which have the same left/right features. This is a many-to-many bidirectional relationship, so any border segment within this list might be part of another logical border.GeostoreLogicalBorderProtoA logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. “US – Mexico Border”, “Kosovo – Serbia Border (Disputed)”).list(GeostoreFeatureIdProto)
statusThe logical border status identifies its legal status. This is similar to the BorderStatus present within border segments, but applies to the group as a whole.GeostoreLogicalBorderProtoA logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. “US – Mexico Border”, “Kosovo – Serbia Border (Disputed)”).String
googleUrlThe FIFE url associated with the media. NOTE: This FIFE URL must be PII-free, see go/product-catalogue-photo-storageGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaFormatGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaKeyThe mediaKey associated with the media. NOTE: This media key must be PII-free, see go/product-catalogue-photo-storageGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaSizeGeostoreMediaItemProtoMedia item attached to an element of price list.GeostoreMediaItemProtoMediaSize
originalHeightPxGeostoreMediaItemProtoMediaSizeWidth and height of the original photo in pixels.integer
originalWidthPxGeostoreMediaItemProtoMediaSizeWidth and height of the original photo in pixels.integer
flagclang-format on The set of flags that apply to this name.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.list(String)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. This field may be missing if the name does not have a concept of language but should be set if the language is unknown.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
metadataField-level metadata for this name. NOTE: there are multiple NameProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.name[].GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.GeostoreFieldMetadataProto
rawText** DEPRECATED ** The name text provided in the original source data (UTF-8 encoding). This is the text provided in the source data unmodified with the exception of being converted to UTF-8 and stripping extra leading, trailing and duplicate whitespaces (if necessary).GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
shortTextThe short name text (UTF-8 encoding). Acronyms/abbreviations should be consistently used, for example “NE 57th St” rather than “Northeast 57th Street”, “N.E 57th St.” or some other variant. This field should be populated with the chosen canonical version of the shortened name, based on per-term transformations. For feature specific abbreviations (such as ‘CA’ for ‘California’), one should define a separate name with FLAG_ABBREVIATED set. For other variants of the shortened name that are not the canonical one, devise client based logic (ex: query rewriting rules).GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
temporaryDataA place for clients to attach arbitrary data to a name. Never set in MapFacts.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.Proto2BridgeMessageSet
textThe name text (UTF-8 encoding). Acronyms/abbreviations should be fully expanded, for example “Northeast 57th Street” rather than “NE 57th St”. They can be shortened at display or geocode time. This decision prevents ambiguity over such issues as whether “St” represents “Street” or “Saint”. However, it pushes language-specific knowledge into code. We will have libraries and data files to contract acronyms/abbreviations at run-time.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
instanceGeostoreOntologyRawGConceptInstanceContainerProtoThe container for all GConceptInstances associated with a feature.list(GeostoreOntologyRawGConceptInstanceProto)
instanceThis is the ‘public’ section of the GConceptInstance.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.GeostoreGConceptInstanceProto
isAddedByEdit** DEPRECATED ** Was this GConcept explicitly added by an edit? Examples of gconcepts not added by edits include those inferred through geo ontology and those mapped from legacy category forms by the feature updater. Note that it is possible for both is_added_by_edit and is_inferred to be true – it means this gconcept is added by an edit and there is also another more fine-grained gconcept added by an edit.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.boolean
isInferredRESERVEDGeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.boolean
provider** DEPRECATED ** These two fields combined describe the source of a GConceptInstance. They are based on geostore/base/proto/datasourceprovider.proto. Their use has been deprecated. Use the FieldMetadataProto inside instance instead.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.String
sourceDatasetGeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.String
exceptionDate delimited exceptions to the typical recurring opening hours. May only be present if regular weekly hours are also specified.GeostoreOpeningHoursProtoMessage to represent opening hours including regular weekly hours and a set of exceptions.list(GeostoreExceptionalHoursProto)
regularHoursTypical recurring opening hours, expressed as a weekly schedule. NOTE: this field was introduced to have a more client-friendly format for representing weekly hours but, as of November 2018, it’s not used for the main opening hours of TYPE_ESTABLISHMENT features (instead, the data is stored in the `EstablishmentProto.hours` field, see b/23105782 tracking the possible schema migration). It is however used in other contexts where `OpeningHoursProto` appears in the Geo Schema. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto.GeostoreOpeningHoursProtoMessage to represent opening hours including regular weekly hours and a set of exceptions.GeostoreBusinessHoursProto
temporaryClosureRecords temporary status changes of the feature, such as remodel, vacation, etc.: the feature is temporarily (but not permanently) unavailable. See go/geo-schema-reference:operational-lifecycle#temporary-closure for guidance on interpreting this data and constraints on writing it. NOTE: Order of the TemporaryClosureProtos is *not* guaranteed to be chronological.GeostoreOperationsProtoInformation about a feature’s operations, e.g. when the feature is temporarily closed.list(GeostoreTemporaryClosureProto)
countryCodeThe two-letter ISO 3166-1 country code corresponding to the domain this status override applies to, when rendering the border polyline.GeostoreOverrideBorderStatusProtoThis message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for “CN” set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.String
statusThe override status, from the BorderStatus enumeration. The value here must be different from the main status (otherwise there’s no point in providing the override).GeostoreOverrideBorderStatusProtoThis message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for “CN” set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.String
colorGeostorePaintedElementLogicalColorProtoPainted element logical color. Most legal definitions only specify a color category (like “yellow”) and don’t specify an exact hue, rather stating that the colors must be distinguishable from each other. We refer to this as the “logical” color.String
allowanceTypeThe type of parking for this allowance. Allowance details only apply to the type of parking specified.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.String
isDiscountIf true, this allowance represents a discount rather than an individual rate; any rate values specified in this allowance describe a discount to be applied to the non-discount allowances in the ParkingProto.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.boolean
minPurchaseForValidationIf this rate requires validation, this expresses the minimum purchase required for validation in each applicable currency. Should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency (from the /finance/currency type). A value of 0 suggests that no purchase is required. If empty, this suggests that no validation is required for this rate.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(FreebaseTopic)
permitTypeAny additional details about the permit type; e.g. “Zone A”. In any local languages. Should only be set if allowance_type is PERMIT.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(GeostoreLanguageTaggedTextProto)
serviceTypeThe types of services that this parking allowance applies to. For instance, some cities have streets that only allow traditional taxis to pick up passengers.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(String)
timeBasedRateDescribes the rate structures. Each TimeBasedRateProto defines a rate which may apply based on a particular arrival, departure or utilization time; for example, one rate might apply if arriving before 9am, and another might apply regardless of arrival or departure time.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(GeostoreTimeBasedRateProto)
vehicleTypeRestrictions on which vehicle type(s) the allowance applies to. By default, the allowance applies to any vehicle types.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.String
allowanceDescribes the parking allowances for the feature, which are the situations and requirements under which one is permitted to park at the feature’s parking facilities, or discounts that a user may be eligible for.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreParkingAllowanceProto)
openingHoursHours in which the parking facility is open; that is, permits both arrivals and departures of the facility. Should only be set on compounds (i.e. parking lots or garages); roads are considered to always be “open,” though parking at certain times may be prohibited via restrictions. If unset on a compound, this suggests we don’t know the opening hours, or they are the same as the hours of the entity for which this feature offers parking facilities.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.GeostoreOpeningHoursProto
parkingAvailableIndicates whether long-term parking is available at the feature; if true, long-term parking is available at the feature and parking allowances may be present on this feature, or parking_provider_feature may indicate deferred parking feature(s). If false, this is an explicit statement that there is no long-term parking associated with this feature. If unset, we don’t know whether there is long-term parking associated with this feature. If false or unset, only additional restrictions or short-term allowances will be populated.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.boolean
parkingProviderFeatureIf empty, indicates that the feature containing this ParkingProto provides parking facilities, which are described by this proto. If nonempty, indicates that the feature with this ParkingProto does not contain parking facilities itself, but visitors of this feature may use the parking available to the referent feature(s). The referent feature(s) may themselves contain parking facilities or defer to other features. A ParkingProto may defer parking details to another feature, but still include its own data. This suggests that a visitor of the referrer feature is eligible for different rates or discounts. The data in these fields applies transitively, and any fields in a referrer may be applied to the referent (for a visitor of the referrer).GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreFeatureIdProto)
restrictionDescribes any parking restrictions that apply to this feature. Should only be set on road segments for which parking is explicitly prohibited for some or all times; for roads which do not prohibit parking and for all other facilities, the ability to park should be expressed using allowances. In the instance that both a restriction and an allowance applies at a given time, restrictions always have precedence over the same parking allowances. However, explicit short-term allowances (PICKUP_GOODS, PICKUP_PASSENGERS) take precedence over general NO_PARKING, NO_STANDING, or NO_STOPPING restrictions.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreParkingRestrictionProto)
restrictedHoursTimes at which parking is prohibited.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.GeostoreTimeScheduleProto
restrictionTypeclang-format on The type of restriction that applies at this time.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.String
serviceTypeThe types of services that this parking restriction applies to. We expect most parking restrictions to apply to all services, but some airports have specific rideshare parking or taxi parking zones.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.list(String)
vehicleTypeThe types of vehicles that this parking restriction applies to. For instance, some streets may allow motorcycles to park but not automobiles or trucks.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.list(String)
prominenceMetersTopographic prominence in meters: the height of the peak’s summit above the lowest contour line encircling it and no higher summit.GeostorePeakProtoThis protocol buffer holds related data for features of type TYPE_PEAK and TYPE_VOLCANO.float
angleDegreesThis value specifies the angle of the crosswalk. Zero degrees represents a crosswalk perpendicular to the direction of travel, towards the right side of the segment. The crosswalk angle, winds clockwise. Range [-90, 90]. The following crosswalk would have a 15 degree angle: / / <--/-------------------------------- / /GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.float
crossAnywhereThis value enables crossing anywhere (not just at the segment’s endpoint), typically used on long, low-traffic residential streets. This attribute is only respected for trivial segment -> sibling routes. All other routes can cross at a MapFacts intersection.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.boolean
crossingTypeCrossing type is used as a restriction and can also be used for rendering.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.String
offsetThe crossing offset defines a fraction between the distance from the segment endpoint to the centerline of the crosswalk and the length of the segment. For example, the segment length is 20 meters and the distance from segment end to center of crosswalk is 2 meters, the value of offset will be 0.1.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.number
restrictionRestrictions for this crossing (such as constructions on the crosswalk). They must not have subpath or travel_mode.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.list(GeostoreRestrictionProto)
widthThis value defines the full width of the crossing in the direction perpendicular to the direction which pedestrians walk on the crossing (in meters). The crossing is allowed to “spill” into the next segment (0.5 * width can be greater than the offset). Cannot be a negative value.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.number
dashLengthMetersApplicable for DASHED and DOTTED_DASHED lines.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangenumber
gapColorThis should be rarely needed, but can represent patterns of alternating colors.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeGeostorePaintedElementLogicalColorProto
gapLengthMetersApplicable for DASHED, DOTTED, and DOTTED_DASHED lines.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangenumber
materialGeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangelist(String)
paintColorColor for the painted elements. Applicable to all types.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeGeostorePaintedElementLogicalColorProto
patternGeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeString
physicalLineTokenA token that can be used to identify the version of the data about this marker line.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeString
curvatureStatusGeostorePointCurvatureProtoString
radiansPerMeterCurvature in radians per meter. Negative is a curve to the left and positive is a curve to the right.GeostorePointCurvatureProtonumber
startPointFractionHow far along the line this curvature value starts to apply, in the format of decimal between 0 and 1.GeostorePointCurvatureProtonumber
latE7GeostorePointProtointeger
lngE7GeostorePointProtointeger
metadataNOTE: If removing metadata, remove ‘option objc_class_prefix = “GS”;’ together. See cl/189921100. Field-level metadata for this point. NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.point[] and FeatureProto.center.GeostorePointProtoGeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a point. Never set in MapFacts.GeostorePointProtoProto2BridgeMessageSet
altitudeMetersAltitude of this point is assumed to be relative to the ground level.GeostorePointWithHeightProtoPointWithHeightProto encodes lat/lng through PointProto and contains altitude information.number
pointGeostorePointWithHeightProtoPointWithHeightProto encodes lat/lng through PointProto and contains altitude information.GeostorePointProto
capitalMany political regions have a conceptual center (capitals of a country or a top-level division are examples). If set, the target feature must be a TYPE_LOCALITY feature.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.GeostoreFeatureIdProto
claimFeature IDs of the features claimed by this feature’s government that are not necessarily included in the feature’s geometry.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.list(GeostoreFeatureIdProto)
grossDomesticProductUsdMillionsThe Gross Domestic Product of the political region measured in millions of current United States dollars. It must not be negative.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.float
literacyPercentPercentage of population that are literate within a political region. It must be between 0 and 100.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.number
populationThe number of people in this political region. This field is intended to store accurate population, not an estimation such as representative value for population range. It must not be negative.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.String
baseMetersThe polygon loops above are basically flat: each point has a latitude and a longitude but no altitude. We don’t want to build real 3D models here, but we do want to be able to generate 2.5D models. A 2.5D model is built by translating the flat polygon upward some distance (base) then extruding it upward some additional distance (height). The elevation of the bottom of the extruded polygon (above ground level).GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.number
cellId** DEPRECATED ** This is part of a splitting strategy for large polygons, which was never fully launched and we decided not to pursue. For features with very complex polygonal geometry, we break up the polygon into pieces that align with S2 cells at various levels. We do this for performance reasons as some geometry operations have quadratic complexity with regards to the total number of vertices. In these cases, we store the S2 cell ID corresponding to the piece of the overall polygon that is described by this specific PolygonProto message. Each polygon piece is expected to be fully contained by the S2 cell corresponding to this cell ID. However, note that the S2 cell ID is not required to correspond to the smallest S2 cell that fully contains the polygon (and often won’t be). In addition, polygon pieces are required to not have any overlap (which translates to having entirely disjoint S2 cell IDs, i.e. one can not be parent (or grand parent, etc.) of another).GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.String
encodedEncoding of the polygon using S2Polygon::Encode()’s compressed representation.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.String
heightMetersThe distance from the bottom of the extruded polygon to the top.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.number
loop** DEPRECATED ** We have switched to using exclusively the encoded form in the wire format to and from MapFacts, so this field should never be populated there. See go/encoded-polygons for more info. “Classic” polygon representation, defined by one or more loops. The last vertex of each polyline is implicitly connected to the first vertex. All loops should be specified in CCW order.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.list(GeostorePolyLineProto)
metadataField-level metadata for this polygon.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.GeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a polygon. Never set in MapFacts.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.Proto2BridgeMessageSet
unsuitableForDisplaySome polygons are known to be rough proxies for a feature’s “real” polygonal representation. Such polygons are generally unsuitable for display. Rendering clients should not show these in most cases. Polygons unsuitable for display do have other uses, such as user location or containment analysis, or as an input to learning algorithms. This is an orthogonal concept to FeatureProto.synthetic_geometry, which only pertains to the method by which a polygon was created, rather than its fidelity to ground truth. For features that have multiple polygons, this bit should be consistently set to the same value on all polygons.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.boolean
metadataField-level metadata for this polyline. NOTE: there are multiple PolyLineProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.polyline[].GeostorePolyLineProtoGeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a polyline. Never set in MapFacts.GeostorePolyLineProtoProto2BridgeMessageSet
vertexA sequence of vertices connected by geodesics (the equivalent of straight lines on the sphere). Adjacent vertices are connected by the shorter of the two geodesics that connect them, i.e. all edges are 180 degrees or less. Note that the edge definition becomes numerically unstable as the arc length approaches 180 degrees. Polylines are generally expected to be non-self-intersecting, but any such restriction is imposed by the user of the polyline rather than the polyline itself.GeostorePolyLineProtolist(GeostorePointProto)
altitudeThe height of the pose. A positive height is above the WGS-84 ellipsoid in meters; negative is below.GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
indexThe index of the PoseProto in a list of PoseProtos.GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javainteger
latThe latitude of the pose in degrees [-90, 90].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
lngThe longitude of the pose in degrees (-180,180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
pitchThe rotation around the longitude line East tangent in degrees [-90, 90].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
rollThe rotation around the latitude line North tangent in degrees (-180, 180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
yawThe rotation around the Up vector, from North, in degrees (-180, 180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
caloriesGeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsCaloriesFact
cholesterolCholesterol information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
proteinProtein information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
sodiumSodium information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
totalCarbohydrateCarbohydrate information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
totalFatFat information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
lowerAmountGeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.integer
unitUnit of the given calories information.GeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.String
upperAmountGeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.integer
lowerAmountGeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.float
unitUnit of the given nutrition information.GeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.String
upperAmountGeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.float
priceListThe actual food menus. This is a repeated field because a restaurant may offer multiple menus, e.g. for different language or for different available time, such as holidays vs non-holidays.GeostorePriceInfoProtolist(GeostorePriceListProto)
priceListUrlAll URLs that give price list information for this establishment. For food menus, this would represent menu_urls. Note that this field is a repeated list of UrlListProtos. Each UrlListProto instance in the list is intended to hold lists of URLs that are translations of the same URL.GeostorePriceInfoProtolist(GeostoreUrlListProto)
statusMessage containing metadata about the verified status of the PriceInfo. Only verified listings should be displayed.GeostorePriceInfoProtoGeostorePriceInfoStatus
isVerifiedGeostorePriceInfoStatusProviders of PriceInfo (e.g. SinglePlatform, YEXT) send verified and unverified listings. PriceInfoStatus is used to encapsulate this information.boolean
descriptionGeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
idIDs are intended to be unique identifiers of PriceInfoLists, Sections, and Menu items. This is enforced by the ID_DUPLICATE_PRICE_LIST_ID lint.GeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages.GeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
nameGeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
aggregatorIdFor third party lists, represents the ID of the aggregator which provided this data. Optional.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.String
availableTimeThe time period when this price list is available. Establishments are not required to give available_time for any given price list, however, when this field is not set, the price list is understood as available any time the establishment is open.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.GeostoreTimeScheduleProto
cuisinesCuisine information if the location the price lists attached to is an eligible feature for a food menu price list. Cuisine information should also only show up in a food price list.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(String)
nameInfoThe repeated name_info field is for price lists listed in multiple languages. When a price list has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(GeostorePriceListNameInfoProto)
sectionEach price list may have multiple sections. Note that these sections within the same price list should most times contain only the same type of items for sale, e.g. all sections should usually contain only food items if the enclosing price list is representing food menu. However, sometimes such a requirement may be wrong, for example, McDonald’s may sell burgers as well as toys, and the toys may be in its own section. Thus we don’t enforce any requirement that all sections contain only the same type of items.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(GeostorePriceListSectionProto)
sourceUrlWhere this price list comes from. If set, this must also be a member of the price_list_url field, and represents translations of a single URL.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.GeostoreUrlListProto
callToActionCall to action for the section.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.GeostoreCallToActionProto
foodItemTo store food and drink items when the containing PriceListSectionProto is a food menu section.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreFoodMenuItemProto)
itemTo store any items when the containing PriceListSectionProto is not food / legacy services.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreComposableItemProto)
itemTypeThis has to have at most one value.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(String)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. When set, represents the language of the section and its items. Any section and item level name infos must match this language. Optional.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.String
mediaOne or more media items (photos, videos, etc.) describing this section / category.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field is for price list sections listed in multiple languages. When a price list section has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostorePriceListNameInfoProto)
currencyCurrency code for the price range: a valid currency code from i18n/identifiers/currencycode.h. Lower and upper price are both assumed to use the same currency.GeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”String
lowerPriceThis message allows unbounded price ranges. e.g. Lower_price is undefined. At least one of the two prices must be set for the price range to be meaningful.GeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”float
unitsclang-format onGeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”String
upperPriceGeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”float
propertyIdThe property ID whose value status is defined by this proto.GeostorePropertyValueStatusProtoPropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId’s value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.GeostoreFeaturePropertyIdProto
valueStatus`value_status` specifies whether the feature has a value for the property. This should always be set to something other than the default value (`PROPERTY_VALUE_STATUS_UNSPECIFIED`).GeostorePropertyValueStatusProtoPropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId’s value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.String
datasetThe dataset from which this the referenced data was created. The content of this string will be determined by the data provider, and may encode extra information, such as data confidence.GeostoreProvenanceProtoThis is a minimal version of SourceInfoProto.String
providerThe data provider from which the referenced data was generated.GeostoreProvenanceProtoThis is a minimal version of SourceInfoProto.String
signalA list of signals. Each one is extracted separately by a SignalExtractor.GeostoreRankDetailsProtoThis message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRanklist(GeostoreRankSignalProto)
signalMixerTypeThe signal mixer that was used to calculate the rank.GeostoreRankDetailsProtoThis message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRankString
metadataField-level metadata for this signal.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.GeostoreFieldMetadataProto
rankA value in the range [0, 1] estimating Oyster Rank according to this signal. Non-provider specific signals (e.g. SIGNAL_POPULATION) are interpreted by some common code in the ranking pipeline. Because of that, data providers should leave this field empty when setting such signals (so that the rank assignment can be uniform across all features regardless of contributing data providers). On the other hand, provider-specific signals (e.g. SIGNAL_ZENRIN_CITY_CATEGORY) are required to specify the rank field (it is not optional for them). That is because no code other than that of the provider itself will be able to fill in a meaningful value later on. We don’t want clients to be reading from the raw_scalar / raw_string fields to interpret the data.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.number
rawScalarThe raw scalar value that was used to compute ‘rank’ above. The meaning of this attribute changes depending on the signal type.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.number
rawStringThe raw string value that was used to compute ‘rank’ above. The meaning of this attribute changes depending on the signal type.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.String
typeGeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.String
keyThe key associated with this data item. For source data in shape file format, this will typically be a column name. Keys need to be unique with respect to a particular data source (see DataSourceProto), but they do not need to be globally unique. You can look up the documentation for a key (e.g. a longer label and description) by following the source_id link of the parent SourceInfoProto, which takes you to a TYPE_DATA_SOURCE feature, and then looking up the corresponding RawMetadataProto object for this key in that feature’s optional data_source field.GeostoreRawDataProtoA RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.String
valueStringAll data items are represented as strings, the logic being that it is easy to convert other data types to strings, and there is no need to access this data efficiently.GeostoreRawDataProtoA RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.String
conflationMethodMethod to use when conflating together RawDataProto values at the same key NB: If you add a new ConflationMethod, then you must add the corresponding logic to MergeRawData to conflate the RawDataProto values using this method.GeostoreRawMetadataProtoString
descriptionSelf-contained documentation about what this field represents and how its values are encoded.GeostoreRawMetadataProtoString
keyThe key being described.GeostoreRawMetadataProtoString
labelA longer, human-readable name associated with this key. The label might be used in a data explorer tool, for example.GeostoreRawMetadataProtoString
hiGeostoreRectProtoA latitude-longitude rectangle, represented as two diagonally opposite points “lo” and “hi”. The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: – If lo == hi, the rectangle consists of a single point. – If lo.longitude > hi.longitude, the longitude range is “inverted” (the rectangle crosses the 180 degree longitude line). – If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. – If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. – If lo.latitude > hi.latitude, the latitude range is empty.GeostorePointProto
loGeostoreRectProtoA latitude-longitude rectangle, represented as two diagonally opposite points “lo” and “hi”. The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: – If lo == hi, the rectangle consists of a single point. – If lo.longitude > hi.longitude, the longitude range is “inverted” (the rectangle crosses the 180 degree longitude line). – If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. – If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. – If lo.latitude > hi.latitude, the latitude range is empty.GeostorePointProto
displayableAsAlternativeNameIf true, this region specific name should be appended, in parentheses, to the appropriate name from FeatureProto.name, for the default rest of world behavior.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.boolean
nameName to be used for this feature in a specific region and language.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.GeostoreNameProto
regionCodeRegion code (or other identifier) for the region.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.String
restrictionThe set of restrictions that apply to a zone. These restrictions may limit the routability of every segment contained within the defined feature.polygon. Repeated restrictions are treated collectively as an OR meaning that segments in the zone are only routable if none of the restrictions apply. If any segments within the defined polygon should not have these restrictions applied, they must list this regulated area’s feature id in their feature.exempt_regulated_area field.GeostoreRegulatedAreaProtoA collection of information that applies to a polygonal area.list(GeostoreRestrictionProto)
metadataField-level metadata for this relation.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFieldMetadataProto
otherFeatureCountryCodeIf and only if the other feature is of TYPE_COUNTRY, the 2-letter country code. This is the FLAG_COUNTRY_CODE_2 name of the country component.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
otherFeatureIdThe feature ID of the feature to which we’re relating. WARNING: the related feature does not necessarily have a bound that encloses this feature, so in a bucketing MapReduce, you may not be able to follow all relationships. Relations that use strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFeatureIdProto
otherFeatureNameRESERVEDGeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.list(GeostoreNameProto)
otherFeatureTerritorialAdministratorIf and only if the other feature is of TYPE_DISPUTED_AREA, the territorial administrator found in its GeopoliticalAttachmentProto.administered_by field, if any. Since this string is copied exactly, it may be a 2-letter country code or another type of descriptive string.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
otherFeatureTypeThe type of the feature to which we’re relating.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.integer
overlapFraction** DEPRECATED ** If relation is exactly RELATION_OVERLAPS but not any of its subcategories, overlap_fraction contains an estimate of the fraction of the geometry of this feature that intersects with the other feature, ranging from 0.0 to 1.0. Note that this is a rough estimate based on cell coverings, and may not be very accurate. In particular, values of 0.0 and 1.0 are possible, even though in principle they should not be.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.number
relationThe relationship of the feature that contains this RelationProto to the feature other_feature_id. Note the relation_is_reversed field below. Some relations imply weak references, other strong ones. Strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
relationIsReversedRESERVEDGeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.boolean
temporaryDataA place for clients to attach arbitrary data to a relation. Never set in MapFacts.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.Proto2BridgeMessageSet
metadataField-level metadata for this restriction group.GeostoreRestrictionGroupProtoA restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name – A name that represents the name for this restriction group. kg_property – A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.GeostoreFieldMetadataProto
segmentFeatureId of all segments that have a RestrictionProto referring back to this RestrictionGroup.GeostoreRestrictionGroupProtoA restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name – A name that represents the name for this restriction group. kg_property – A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.list(GeostoreFeatureIdProto)
autonomousDrivingProductsThe restriction only applies in these specific autonomous driving product scenarios. NOTE: This should only be set on restrictions with TRAVEL_AUTONOMOUS_VEHICLE travel mode.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(String)
intersectionGroupActually *required* if style=STYLE_IN_OUT, otherwise forbidden. Typically the intersection group type is artifact, but either artifact or logical groups can be used for STYLE_IN_OUT restrictions.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFeatureIdProto
metadataField-level metadata for this restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFieldMetadataProto
restrictionGroupRestriction group this restriction belongs to.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFeatureIdProto
restrictionTokenA token that can be used to identify the version of the data about this restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
scheduleWhen specified, restriction applies only at particular times (operating hours or times of the year: reversing lanes, seasonal roads, no left turns from 3-5pm Mon-Fri except holidays). Otherwise, restriction is in effect at all times.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreTimeScheduleProto
scopeThe scope that the restriction applies to. – SCOPE_DIRECTION means the segment/sibling pair is restricted in the direction of the segment that contains this RestrictionProto. For segment/sibling pairs with pedestrian facilities (and thus side-of-road routing) the RestrictionProto restricts both facilities in the direction of the segment (assuming that the restriction applies to travel mode TRAVEL_PEDESTRIAN). – SCOPE_SIDE means the RestrictionProto applies only to the side of road that the containing segment represents. That sibling’s pedestrian facility is restricted in both directions. Schema constraints: – SCOPE_SIDE must be set if and only if travel_mode == [TRAVEL_PEDESTRIAN] and the segment containing the restriction has the pedestrian_facility field set and is not set to PEDESTRIAN_FACILITY_UNKNOWN. Such restrictions must have no subpath. – All other restrictions must have this field set to SCOPE_DIRECTION (whether explicitly or implicitly). This distinction is necessary for cases such as pedestrian facility on one-way segment/sibling roads. NOTE: This field only makes sense in the context of segment restrictions, not lane restrictions.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
styleRestriction Style defines the semantics of the subpath field, as defined above in the documentation of subpath.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
subpath“subpath” specifies the GeoStore segments that this restriction applies to, according to the restriction_style field below. Segments that are referenced by this subpath field also refer to this feature back via the same subpath field. For all styles of restriction, all segments in the subpath must have identical copies of the restriction. In other words, restrictions are duplicated along every segment in the subpath. Note that subpaths of length 1 do not have any purpose and are disallowed. Note that it is possible to represent restrictions either using STYLE_CONTIGUOUS, or depending on the length of the subpath, one of the more specific STYLE_SINGLE, STYLE_TURN, or STYLE_IN_OUT. New code should use the more specific alternatives if possible, as they support instant updates. For restriction_style == STYLE_CONTIGUOUS (the default): “subpath” can either be empty, for a single-segment restriction, or it specifies exactly the sequence of segments which this restriction applies to. The subpath may be used to specify a turn restriction (a subpath of length 2) or to prohibit more complex maneuvers. For example, when merging onto a road from the right-hand side it may not be possible to make an immediate left turn due to insufficient time to cross the intervening lanes or the presence of a physical barrier. This would be indicated by a subpath restriction of length 3 or more. For restriction_style == STYLE_SINGLE: The subpath field of the Restriction must be empty. The restriction applies only to the segment it is attached to. There must not be an intersection group specified. For restriction_style == STYLE_TURN: The subpath field of the Restriction must contain exactly two segments. The first is called the “in_segment”, the second is the “out_segment”. They must be contiguous, i.e. the end intersection of the in_segment is the start intersection of the out_segment. The restriction applies only to a direct maneuver from the in_segment to the out_segment. Other paths from the in_segment to the out_segment are not restricted. There must not be an intersection group specified. For restriction_style == STYLE_IN_OUT: The subpath field of the Restriction must contain exactly two segments. The first is called the “in_segment”, the second is the “out_segment”. Note that the two segments define paths, but may not actually be one. The end intersection of the in_segment must be in an intersection group which also contains the start intersection of the out_segment. The in- and out-segments are not required to be adjacent, but may be. Either way, the restriction applies to any path from the in_segment to the out_segment through the intersection group, not just direct turns. The intersection_group must be specified. Note that clients which read restrictions and need to know which paths are restricted by a given IN_OUT restriction must expand the IN_OUT restriction by finding all paths through the intersection group from the in_segment to the out_segment.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(GeostoreFeatureIdProto)
temporaryDataA place for clients to attach arbitrary data to a restriction. Never set in MapFacts.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeProto2BridgeMessageSet
travelModeRestriction applies only to the given travel modes. This field should always be set, but may be missing in old data. WARNING: Restrictions with no travel modes are DEPRECATED. Historically, no travel modes has meant “all travel modes”, except they didn’t really even mean that, because Pathfinder would use a complex set of heuristics to interpret the “correct” travel modes. Pathfinder currently (last updated August 2013) has heuristics to cope with incomplete data that reduce or extend application of the specified restrictions to pedestrians or bicycles. We are actively working to remove these heuristics and replace them with explicit, correct travel modes in the data. See b/8746491.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(String)
typeLINT.ThenChange(//depot/google3/google/geo/entities/v1/fields/segment.proto) clang-format on The type of restriction. This is not a condition, but rather tells you what kind of restriction it is. This field should always be set.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
vehicleAttributeFilterThe restriction only applies to vehicles that meet all of the attributes defined here. If this is empty, it does not affect the scope of the restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreVehicleAttributeFilterProto
fieldWithRightsGeostoreRightsStatusProtoProto used to represent rights for FeatureProto. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.list(GeostoreFieldWithRightsProto)
timeScheduleSpecifies what times the information is applicable. This can be specific times (3-5 PM) or days of the week (Mon – Fri), as well as more general times like school hours, dusk to dawn, etc. If no value is set, the restriction is applicable at all times.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.GeostoreTimeScheduleProto
vehicleAttributeAdditional attributes that apply to the applied vehicle types.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.GeostoreVehicleAttributeFilterProto
vehicleTypeRestrictions applying to specific types of vehicles.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.list(String)
monitoredRoadThe TYPE_ROAD segment features that this road monitor may observe.GeostoreRoadMonitorProtoA road monitor is a device that observes traffic for road violations like speeding or running a red light. These are modeled within MapFacts so that navigation services can warn users when they drive along road segments that are monitored.list(GeostoreFeatureIdProto)
featureIdThe id of the feature referred to by this component, typically the route or locality feature this sign points towards. In the ASCII art example above, this field would contain the id for the routes A11 and E50 and the localities Chartres and Paris in the corresponding component.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.GeostoreFeatureIdProto
featureTypeThe type of the feature referred to by this component. If feature_id is specified type of that feature should be the same as this field.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
majorPositionThis is the “major” position of this component within the set of components that make up a sign. This number can be thought of as the “row” of the sign on which the component appears, but no guarantees are made that there is a one-to-one mapping between “major_position” and the rows of information on the actual sign being modeled. A “major_position” value of zero would indicate that the component is near the top of the sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
minorPositionThis is the position of a component within the components of a sign that share a common “major_position”. It can be though of as the “column” of the component, but like “major_position”, no guarantees are made regarding its mapping to reality. For data sources that don’t provide enough information to determine a component’s major and minor positions, major position should be populated and minor position should not be present. A “minor_position” value of zero would indicate that the component is near the “beginning” of the sign. In countries where signs are read from left to right, “minor_position” zero would be near the left side of the sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
routeDirectionThe direction of traffic for the referenced TYPE_ROUTE feature.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.String
semanticTypeThe semantic type of sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.String
textIf this sign component is of type “TYPE_TEXT”, this field contains the text of the component. A NameProto is used to allow language and flags to be associated with the text.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.GeostoreNameProto
componentThe list of components for a single road sign. A sign may be composed of multiple components, each with its own position and content.GeostoreRoadSignProtoA RoadSignProto holds the details of a road sign. Currently this is simply a list of the items that appear on the sign and their relative position.list(GeostoreRoadSignComponentProto)
displayPreferenceclang-format onGeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.String
metadataField-level metadata for the route association.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.GeostoreFieldMetadataProto
routeIdentifies the route feature to which this metadata applies. This is one of the routes the segment refers to via the SegmentProto.route field.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.GeostoreFeatureIdProto
routeDirectionThe direction of the TYPE_ROUTE feature in this route association. A small number of countries (mostly just the United States, Mexico, and Canada) use directional routes. For example, in the United States highway US-1 is referred to as US-1 North or US-1 South on the sides where flow of traffic moves in those directions.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.String
childTypeThe feature type of the route children. Should be set if and only if all children are of the same feature type.GeostoreRouteProtoA route is a collection of segments that forms a logical group – usually a named road or highway. Segments can belong to more than one route, and the segments of one route may be a subset of the segments of another route (e.g. I-5 N is a subset of I-5). Segments in the collection that define the route do not need to constitute a single uninterrupted line, there can be disconnects. The standard feature properties are interpreted as follows: name – Routes should have one or more names. (While unnamed roads certainly exist in the real world, we choose not to create route features for such roads. Instead, the unnamed segments are merely not part of any route.) address – This should always be empty. type – Specifies a particular route subtype, see feature.proto. point – This should always be empty. polyline – This should always be empty. polygon – This should always be empty. child – The pairs of segments that belong to this route (a given route should always reference segments in both travel directions).integer
typeGeostoreSchoolDistrictProtoThis protocol buffer holds school district specific attributes for features of TYPE_SCHOOL_DISTRICT.String
subpathSpecifies a sequence of feature ids of GeoStore segments. The feature ids are ordered. The path “AB” is not the same as the path “BA”. The segments along the path are assumed to be connected via the appropriate intersections. The segment features that are referenced by this subpath refer to this feature back via the road_sign field in segment proto extension.GeostoreSegmentPathProtoA segment path describes a path through a short set of segments. The segment path can be used for any purpose. At the moment, only TYPE_ROAD_SIGN features can have associated segment paths: The segment path lists the segments that refer to the sign. These are the segments for which the sign is applicable. The sign’s physical location is independent of the segments in the path.list(GeostoreFeatureIdProto)
surfaceclang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/lane.proto) Specific lanes may override this segment-level surface type.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
visibleLandmarkA collection of landmarks that are visible when traveling along this segment and useful for wayfinding to users following routes using this segment. The landmark need not be on the segment. Each segment in a pair of siblings specifies its landmarks independently. A landmark applicable to both appears in both.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreLandmarkReferenceProto)
advisoryMaximumSpeedGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
constructionStatusGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
bicycleFacilityclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
barrierclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
coveredWhether the segment is covered by a roof etc. If this field is missing, the status is unknown.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
endpointMetadataField-level metadata for the endpoint.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
distanceToEdgeMetadataField-level metadata for distance_to_edge.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
pedestrianFacilityclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
constructionBeginDateIf known, the date that construction is scheduled to begin.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreDateTimeProto
constructionStatusMetadataField-level metadata for the construction status.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
bicycleSafetyGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
usageclang-format on LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
avgSpeedKphMetadataField-level metadata for the average speed.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
barrierMetadataField-level metadata for the barrier.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
roadMonitorThe road monitors that monitor this segment for traffic violations.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
altitudeRESERVEDGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(number)
sweepThe geometric sweeps between this segment and nearby segments, used for real road width rendering. A sweep describes the surface that connects to segments.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreSweepProto)
maxPermittedSpeedKphLINT.IfChange(speed_limits) The maximum speed that is permitted on this segment, in kilometers per hour. This should be the segment’s legal speed limit; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see ‘is_max_permitted_speed_derived’ below). Before exposing this field to users as the legal speed limit please consult with Google lawyers.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
pedestrianGradeGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
distanceToEdgeAverage distance between the segment’s polyline and edge of the road on this side in meters. It need not be equal to the sum of width of all lanes in this direction. This width includes on-street bicycle lanes but excludes off-street lanes such as sidewalks. The edge of the road is the rightmost edge for segments in right side driving countries and leftmost edge for left side driving countries. Width of the road is sum of this and sibling’s distance_to_edge.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
pedestrianCrossingDefines the pedestrian crossing(s) between the end point of this segment and the start point of this segment’s sibling.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostorePedestrianCrossingProto
tollRoadIf this segment is part of a toll road. It would be nice to have data about the toll cost, locations of toll booths, and so forth. Sadly, we don’t have this data at this time.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
constructionEndDateIf known, the date that construction is scheduled to end.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreDateTimeProto
conditionMetadataField-level metadata for the condition.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
routeThe route(s) to which this segment belongs.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
roadSignThe road sign(s) which this segment refers to. These are features of TYPE_ROAD_SIGN that are applicable to this segment. For example, a sign that says “TO KIRKLAND” might apply to several segments on a freeway off-ramp (until the end of the ramp). Note that this field makes it easy to find the signs for a given road segment. The feature for the sign lists the segments that refer to it.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
onRightSpecifies whether this segment carries right-hand traffic (cars keep to the right side of the road) instead of left-hand traffic (cars keep to the left side). This is true for US roads and false for UK roads, for example. See go/wikip/Left-_and_right-hand_traffic.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
rampMay only be set when the segment’s usage is `USAGE_RAMP`.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreSegmentProtoRampProto
surfaceMetadataField-level metadata for the surface.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
conditionGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
edgeFollowsSegmentEndFractionGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
routeAssociationHolds metadata about the associations between this segment and the route features listed in the route field. This metadata need not be present; the only consistency requirement is that every feature ID that appears inside ‘route_association’ must also appear in the repeated ‘route’ field. If a route does not appear in route_association, consumers should assume that it has a default initialized RouteAssociationProto.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreRouteAssociationProto)
internalInternal-only data.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreInternalSegmentProto
endpointclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
elevationMetadataField-level metadata for the elevation.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
gradeLevelDetailed information about grade levels along the segment. If a GradeLevelProto is not present for any point (index) along the segment, the default grade level is zero. In between two points (indexes), the grade level of the segment is taken to be the max of the grade levels on either side of it. See gradelevel.proto for semantics of repeated indexes.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreGradeLevelProto)
priorityLINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
interpolationOffsetMetersIf specified, the perpendicular offset in meters from a road segment to an interpolated address along that road segment. See go/synthetic-address-positions.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
slopeEach slope instance is tied to a point along the segment polyline (unrelated to the vertices in the segment’s polyline) and represents the slope of the segment between that point and the point tied to the next slope istance, or the end of the segment if it’s the last slope instance. A segment should have at least one slope.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreSlopeProto)
legalMinimumSpeedLINT.ThenChange(//depot/google3/geostore/base/internal/segment.cc:has_speed_limit)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
intersectionThe intersection feature corresponding to the destination of this segment. Intersections are used to represent the connectivity between segments. Each intersection stores the segment ids of all the incoming and outgoing segments that meet at that intersection. Turns can be made from this segment to any of the outgoing segments of its intersection, unless there is a restriction that explicitly disallows the turn (see below). Every segment has an intersection object, even if there are no other segments to connect to (i.e., a cul-de-sac or dead end).GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFeatureIdProto
siblingThe other segment of this segment pair (see above). The segment that is referenced by the sibling field refers to this feature back via the same sibling field. Both segment and sibling should have the same properties such as geometry, country code, elevation, level relation, priority etc. Since routes are required to have segment and sibling at the same time, the set of routes on a segment is same to that of the sibling.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFeatureIdProto
isMaxPermittedSpeedDerivedSpecifies whether the max_permitted_speed_kph was derived from a heuristic as opposed to coming from an authoritative source.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
laneDetailed information about each lane in this direction, if available. Lanes are numbered from inside of the road outward, i.e. the lane next to the center line has lane_number 0. Note that lanes that are valid for travel in both directions appear in both segments of a segment pair (left turn lanes, one-lane roads, some passing lanes, reversing lanes). Some lanes may not be usable by cars, such as bike lanes. Also, some lanes may not exist along the entire segment, e.g. left- or right-turn lanes that appear just before the intersection.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreLaneProto)
maxPermittedSpeedKphMetadataField-level metadata for the maximum permitted speed.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
avgSpeedKphThe average speed that should be expected along this route under normal conditions, in kilometers per hour. (Hopefully we’ll replace this with something a lot more sophisticated.)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
separatedRoadwaysIndicates whether the segment’s opposing lanes of traffic are separated from this segment, and hence have been represented in a separate feature. This means that there are two pairs of siblings instead of one.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
edgeFollowsSegmentBeginFractionThese indicate for what portion of the segment does the outer curb of the segment follow the segment polyline – i.e., where do the sweep curves connect along the outer curb. If unspecified, may be assumed to be equal to lane retraction, preferring outermost lane.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
priorityMetadataField-level metadata for the priority.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
legalMaximumSpeedThe legal maximum, legal minimum, and advisory (recommended but non-legally binding) maximum speed limits that are permitted on this segment. These should be the segment’s legal limits; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see ‘AppliedSpeedLimitProto.trust_level’). Before exposing these fields to users as the legal speed limit please consult with Google lawyers.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
restrictionThe set of restrictions that apply to this segment. Restrictions may make a single segment, turn, or more complex maneuver along a set of segments unroutable for the specified travel modes, or may only add penalties or warnings, depending on the restriction type. Turn restrictions are one example of a restriction. By default, turns are allowed onto all outgoing segments from this segment’s intersection (including the sibling of this segment, i.e. U-turns are allowed by default). If any of these turns are disallowed they will be listed as “subpath restrictions”. A subpath restriction disallows travel on given sequence of segments. In the case of a disallowed turn, the subpath simply consists of the source and destination feature ids. There may also be restrictions that apply to all travel on this segment (e.g. chains required, or closed in winter), or restrictions that just apply to certain lanes (e.g. high occupancy vehicle lanes).GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreRestrictionProto)
elevationclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
maxConnectedPriorityThe highest priority of any TYPE_ROAD endpoint segment which is transitively connected to this ramp via other ramp segments. For instance, if we have two roads connected through a series of ramps (omitting intersections): Road(P=96)-> Ramp 1 -> Ramp 2 -> Ramp 3 -> Road(P=122) -> Road(P=144) The `max_connected_priority` of all three intermediary ramps is 122. It’s not 144, since Road(P=144) is connected through another road, not a ramp. This differs from the usual `SegmentProto.priority` field, which contains the lowest priority across any connected road segment.GeostoreSegmentProtoRampProtoEncapsulates ramp-specific properties.String
servedFeatureThe features that make up the service area for this establishment. These features are subject to the following constraints applied by editing middleware (notably, not strictly enforced by lints in storage): 1. The following feature types (and their subtypes) may be used: + TYPE_ISLAND + TYPE_POLITICAL, except the following prohibited subtypes: – TYPE_CONSTITUENCY – TYPE_LAND_PARCEL + TYPE_POSTAL 2. There is a maximum limit (currently 20) to the number of areas which may be provided. This is due to serving efficiency limitations. 3. There are no additional geometry requirements for these features beyond the requirements based on the feature types above. In practice this means that these features will either have polygonal or point-based geometries. 4. These referenced features are generally required to have names, though this is not strictly enforced.GeostoreServiceAreaProtoThis proto represents the geographic area served by an establishment. WARNING: This proto is not meant to be used directly. Please use the provided libraries. http://google3/geostore/base/public/service_area.h http://google3/java/com/google/geostore/base/ServiceArea.javalist(GeostoreFeatureIdProto)
idReference to a Transit POI feature (gcid:transit_station) or platform compound section (gcid:railway_platform) serviced by the line variant.GeostoreServicedStopProtoDefines an ordered reference to a line variant’s stop.GeostoreFeatureIdProto
indexAn index representing the order in which the above station is serviced by the line variant.GeostoreServicedStopProtoDefines an ordered reference to a line variant’s stop.integer
typeGeostoreSkiBoundaryProtoThis protocol buffer holds attributes for features of TYPE_SKI_BOUNDARY.String
typeclang-format onGeostoreSkiLiftProtoThis protocol buffer holds attributes for features of TYPE_SKI_LIFT.String
difficultyGeostoreSkiTrailProtoThis protocol buffer holds attributes for features of TYPE_SKI_TRAIL.String
typeGeostoreSkiTrailProtoThis protocol buffer holds attributes for features of TYPE_SKI_TRAIL.String
slopeValueSlope value as elevation change divided by horizontal distance, in the format of decimal, e.g., ‘0.1234’ means a 12.34% slope. If a slope_value is unset, it indicates we don’t have enough information to compute slope at this location.GeostoreSlopeProtonumber
startPointFractionIndicates how far along the segment this slope value starts to apply, in the format of decimal between 0 and 1.GeostoreSlopeProtonumber
baseGaiaIdWARNING: Please do NOT introduce new uses; treat this field as if it were deprecated.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
claimedGaiaIdGAIA ID used when a business has been claimed. This value is a robot GAIA ID. Robots are a special type of GAIA account used to denote identity for a user or a group of users, but are not logged-in directly by a user.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
gaiaIdForDisplayWARNING: Please do NOT introduce new uses; treat this field as if it were deprecated.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
attributionUrlThis is the URL of a page representing all the data from this source in this feature. It may have be the ultimate source of the data (in case of scraping) or merely the same data styled according the provider’s taste. There is a similar field in DataSourceProto which is NOT cached in this field, since it has a different meaning.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.list(GeostoreUrlProto)
collectionDateThe time that this particular piece of data was collected. If different attributes were collected on different dates, this is the date of the most recent edit.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreDateTimeProto
cookieA source info may have a magic cookie whose content and semantics are defined by the specific import process or third-party feed. For feeds that are processed by Distillery, the cookie, when set, should contain the unique identifier for the feature as provided by the feed.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
datasetThe dataset from which this SourceInfoProto was created. The content of this string will be determined by the data provider (e.g. for MultiNet data, “fra” would indicate the dataset for France). This field is unnecessary for providers that deliver a single dataset per release (e.g. Basarsoft).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
gaiaIdThe Gaia ID of the user who provided us with this data. This field should never be set on source infos present on features, but may be set on source infos present on edits. DEPRECATED: Most clients should use the “user” field instead where Gaia IDs are encrypted.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
impersonationUserInformation about an internal user or system that is operating on behalf of `user` by way of impersonation.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreUserProto
layerThe name of the layer from which this SourceInfoProto was created.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
ogrFidThe OGR feature identifier from which this SourceInfoProto was created. This is an internal OGR record identifier and has nothing to do with any of the feature’s fields or the FeatureIdProto for the FeatureProto containing this SourceInfoProto. This field is present only for debugging purposes and possible use in the match pattern of a FeatureChangeProto designed to fix bad source data very early in the importing process.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
providerThe data provider from which this source info was generated. The value must be equal to the one on the TYPE_DATA_SOURCE feature referenced by this source info via the source_id reference (see above).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.integer
rawDataA source info may optionally have a set of key-value pairs that provide “raw data” specific to that source. The types of raw data available will vary from one provider to another and should not be used in production code. Instead, new fields and/or protocol buffers should be defined to represent this information in a canonical form, and the relevant importers should be modified to populate these new fields.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.list(GeostoreRawDataProto)
releaseThe data release from which this SourceInfoProto was created. The format for this string is provider-dependent (e.g. a MultiNet release would look like “2008.01”).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
sourceIdA source info may have a corresponding TYPE_DATA_SOURCE feature that describes it (provider, copyright information, date of release, etc). In the context of edits and issues, this field should not be set.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreFeatureIdProto
temporaryDataA place for clients to attach arbitrary data to a source info. Never set in MapFacts.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.Proto2BridgeMessageSet
userRESERVEDGeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreUserProto
levelThe level of trust for the source of the observation.GeostoreSourceTrustProtoTrust related information about the input source (feed or user) to help feature summarization. Typically, the values in this proto are either based on source’s previous observations (e.g., a blocked LBC user or a trusted feed) or their status (Google hired operator or admin user). The proto can later contain a more granular trust score or correctness probabilities. A higher enum value indicates a more trusted source. Leaving room in the value space for adding more granular enums, if they become necessary later.String
categoryThe type of speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.String
conditionThe conditions under which this speed limit is applicable. If multiple conditions are set, at least one of them must be true.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.list(GeostoreRoadConditionalProto)
sourceTypeThe source of the speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.String
speedWithUnitA constant speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreSpeedProto
unlimitedSpeedA speed limit with no limit value. When there is no speed limit in place.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreUnlimitedSpeedProto
variableSpeedA dynamic speed limit that can vary within a range of values based on road conditions.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreVariableSpeedProto
speedAll speed values are stored in kilometers per hour.GeostoreSpeedProtoA speed value and unit.number
unitMapfacts only allows unit to be KILOMETERS_PER_HOUR.GeostoreSpeedProtoA speed value and unit.String
fieldPathA sequence of field selectors to be traversed starting from the root message.GeostoreStableFieldPathProtoRepresents a way to traverse nested fields by referencing their token fields. Everything starts relative to a known root message, specified externally. E.g., suppose we have a feature proto that has a lane with token 0x123 which in turn has a lane connection with token 0x456 for which we want to assert something about flowline altitudes. The field path in that case will look like: field_path: { field_num: 31 # segment } field_path: { field_num: 6 # lane version_token: “0x123” } field_path: { field_num: 8 # lane_connection version_token: “0x456” } field_path: { field_num: 3 # flow } field_path: { field_num: 1 # track } field_path: { # Note: pose is repeated. By not specifying a token we refer to all poses # in a track. field_num: 2 # pose } field_path: { field_num: 4 # altitude } This path could also be represented succinctly in a more human-friendly form as something like: segment.lane[@0x123].lane_connection[@0x456].flow.track.pose[*].altitudelist(GeostoreStableFieldPathProtoStableFieldSelector)
fieldNumField number to select.GeostoreStableFieldPathProtoStableFieldSelectorinteger
versionTokenSelect repeated field entry by its version token. If this is used, then the message referenced by field_num must have a token field annotated with the (version_token) field option. Must be omitted for leaf non-repeated fields. If unset for a repeated field, we consider this selector to apply equally to all descendants.GeostoreStableFieldPathProtoStableFieldSelectorString
otherSegmentFeatureIdThe segment feature connected to this segment via the sweep geometry.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostoreFeatureIdProto
polygonPolygonal geometry representing the area between this segment and the other segment.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostorePolygonProto
sweepCurveDescribes parameters for generating the edge of this sweep that starts at edge_follows_segment_end_fraction. The other side of the sweep should be described on the sweep present on the sibling pair.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostoreCurveConnectionProto
sweepTokenA token that can be used to identify the version of the data about this sweep.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.String
callRateRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostorePriceRangeProto)
contactCategoryDisambiguates between the types of information or service a caller might seek when contacting this phone number.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.String
flagGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(String)
isSharedNumberTrue if this phone number is not unique to this establishment and might be shared with other features. In case an establishment shares a phone number with a business chain of which it is a member, and the number canonically belongs to that chain, it should be marked as shared for the establishment but not shared for the chain.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.boolean
labelRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostoreNameProto)
languageRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(String)
metadataField-level metadata for this telephone number.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.GeostoreFieldMetadataProto
number** DEPRECATED ** This is deprecated in favor of phone_number below. An internationalized representation of a phone number. See //location/country/telephonenumber.protoGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.TelephoneNumber
phoneNumberAn internationalized representation of a phone number. See //java/com/google/i18n/phonenumbers/phonenumber.protoGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.I18nPhonenumbersPhoneNumber
serviceLocationFeatureThe features from which this phone number can be called from. For instance, if a phone number can only be called from Europe, this field will contain a reference to the TYPE_CONTINENT feature of Europe. This field is analogous to http://kg/schema/common/phone_number/service_location. The only valid destination feature types are TYPE_CONTINENT and TYPE_POLITICAL. If empty, this phone number can be called from anywhere in Earth (this is the case for the majority of phones).GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostoreFeatureIdProto)
typeGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.String
endAsOfDateThe latest when this closure may end, if the exact date is unknown. If set, the feature is operational again no later than this date.GeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
endDateRESERVEDGeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
startAsOfDateThe latest when this closure may start, if the exact date is unknown. If set, the feature is temporarily closed starting no later than this date.GeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
startDateRESERVEDGeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
prefixText to prepend to the primary text, including any necessary trailing whitespace. At least one of prefix or suffix is required.GeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
suffixText to append to the end of the primary text, including any necessary leading whitespace. At least one of prefix or suffix is required.GeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
pointIndicesTriangle vertex indices, each triple defines a triangle.GeostoreThreeDimensionalModelProtolist(integer)
pointsWe store a triangular mesh in indexed format. Points array.GeostoreThreeDimensionalModelProtolist(GeostorePointWithHeightProto)
durationBasedRateThe rates for this rule. Each duration_based_rate defines the costs associated with a particular duration of a stay. There must be at least one rate with range_start_seconds set to 0 and there cannot be gaps between durations (i.e. there should be no interval uncovered between 0 and the largest range_end_seconds of any duration-based rate).GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.list(GeostoreDurationBasedRateProto)
taxIncludedIf true, tax is included in the prices in this rate. If false, additional taxes may apply.GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.boolean
validEndWithinGeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.GeostoreTimeScheduleProto
validStartWithinTime period during which utilization of this rate must start in order to be eligible for the rate. If not set, there is no restriction on the time when the utilization starts.GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.GeostoreTimeScheduleProto
componentTypeGeostoreTimeComponentProtoString
intervalThe time component is the intersection of these intervalsGeostoreTimeComponentProtolist(GeostoreTimeIntervalProto)
dayValid ranges are 0-7, 1-31, and 1-366 (see day_type below)GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
dayTypeGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
hourValid range is 0-24. Because it could be unclear what wrapping hours mean in relation to days, 24 is used to denote midnight at the end of a day.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
minuteValid range is 0-59, except when a repetitive minute interval ends at the end of an hour, in which case 60 is a legal end value.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
monthGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
secondValid range is 0-59, except when a repetitive second interval ends at the end of a minute, in which case 60 is a legal end value.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
weekValid ranges are 0-5 and 1-53 (depending on the value of week_type, see below).GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
weekTypeGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
yearGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
beginBegin and end are used to specify a range of times: [begin, end). If one is present, the other must be present as well. Additionally, both must have matching time granularities – all fields specified in the begin TimeEndpointProto must be present in the end TimeEndpointProto and vice-versa. Hours are not allowed to wrap (begin.hour() <= end.hour()).GeostoreTimeIntervalProtoGeostoreTimeEndpointProto
endGeostoreTimeIntervalProtoGeostoreTimeEndpointProto
invertedIf true, then this interval actually encodes the complement of the specified occasion or range. For example, the following TimeIntervalProto encodes all times other than the month of May. TimeIntervalProto[ type = TYPE_RANGE inverted = true begin = TimeEndpointProto[ month = MAY ] end = TimeEndpointProto[ month = JUNE ] ]GeostoreTimeIntervalProtoboolean
occasionclang-format onGeostoreTimeIntervalProtoString
typeGeostoreTimeIntervalProtoString
componentThe schedule is the union of these components.GeostoreTimeScheduleProtolist(GeostoreTimeComponentProto)
idi18n recognized time zone identifier. For the full list of identifiers, see google3/i18n/identifiers/data/timezones.txt.GeostoreTimezoneProtoA TimezoneProto holds information about a feature’s related time zone.String
metadataField-level metadata for this relation.GeostoreTimezoneProtoA TimezoneProto holds information about a feature’s related time zone.GeostoreFieldMetadataProto
intersectionThe list of gcid:toll_intersection features that this toll cluster. A toll cluster can consist of either a single or a group of intersection points called toll intersections at the end of various road segments in MapFacts that represent one or more lanes passing through a toll fixture that all go to the same routing destination. This relationship is reciprocal, as a toll intersection also stores a reference to the toll cluster it belongs to. A toll cluster must have a reference to one or more toll interections (i.e. toll_cluster.intersection should always be populated).GeostoreTollClusterProtoA collection of information that applies to a toll cluster.list(GeostoreFeatureIdProto)
tollClusterSequenceDetails the /geo/type/toll_cluster features which constitute this toll path.GeostoreTollPathProtoA TollPathProto describes the sequential travel across one or more /geo/type/toll_cluster features. Traveling across a toll path may entail paying a fee, buying a toll pass, etc (although we don’t model this in FeatureProto). To travel across a toll path, one must travel between toll clusters in the exact order specified. See go/geo-schema:toll-paths for more information.GeostoreTollPathProtoTollClusterSequence
clusterThe /geo/type/toll_cluster feature at this position.GeostoreTollPathProtoIndexedTollClusterA /geo/type/toll_cluster and its position along a toll path.GeostoreFeatureIdProto
indexThe position along the path where this cluster appears.GeostoreTollPathProtoIndexedTollClusterA /geo/type/toll_cluster and its position along a toll path.integer
indexedTollClustersThere must be at least one toll cluster in a toll path, and there may not be duplicates. For ordering, one should rely on `IndexedTollClusterProto.index`, rather than the repeated field ordering (elements may be shuffled). This is a unidirectional reference – toll clusters do not reference the toll paths they’re a part of. The toll clusters themselves may be part of multiple toll paths.GeostoreTollPathProtoTollClusterSequenceThe set of toll clusters in a toll path, along with their position in the path.list(GeostoreTollPathProtoIndexedTollCluster)
indexThe index of this TrackProto in a list of TrackProtos.GeostoreTrackProtointeger
poseThe instantaneous pose of points along this track. The fields set inside each pose must be set consistently along the track.GeostoreTrackProtolist(GeostorePoseProto)
agencyThe transit agencies responsible for operating this line. All lines should have at least one agency, and most will have exactly one. The following cases are reasons for multiple agencies: – Code share: Two or more agencies share trips – Alternations: Each trip is run by one of multiple agencies – Additional: All trips run by one agency, but a second one sells tickets In all cases the order has no meaning. Clarification comes from the trips.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.list(GeostoreFeatureIdProto)
labelBackgroundColorThe background color of labels for that transit line. The encoding is like in HTML or CSS, eg. 0x11ff00 means a bit of red, full green, no blue, in sRGB color space. The most significant byte must be zero, i.e. no transparency.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.integer
labelTextColorThe text color of labels for that transit line. Encoding like label_background_color.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.integer
stationsThe transit stations (establishment POIs with gcid:transit_station) which this transit line can go through, in no particular order. Usage note: The source of truth are the transit leg features in Transit Oyster. In MapFacts, that information is cached in two locations: in this field, and in transit station attachments on POIs. Do not assume these locations are always up to date and/or synchronized with each other.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.list(GeostoreFeatureIdProto)
vehicleTypeThe type of vehicle that applies to all trips that use this line.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.String
lineConceptReference to the line variant’s line concept.GeostoreTransitLineVariantProtoA line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variantsGeostoreFeatureIdProto
stopsOrdered list of stations or platforms serviced by this line variant. The order is captured by the ServicedStopProto.index field.GeostoreTransitLineVariantProtoA line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variantslist(GeostoreServicedStopProto)
agencyAssociationsAll the transit agencies which service this station. A station can be serviced by multiple stations. There may only be one agency association per transit agency. See go/transit-agency-relation-migration for more details.GeostoreTransitStationProtoEncapsulates information related to an individual transit station.list(GeostoreTransitStationProtoTransitAgencyAssociationProto)
agencyThe transit agency which services this station.GeostoreTransitStationProtoTransitAgencyAssociationProtoThe association between this station and the agency which services this station.GeostoreFeatureIdProto
stationCodeA station code uniquely identifies a transit station within the transit agency’s network.GeostoreTransitStationProtoTransitAgencyAssociationProtoThe association between this station and the agency which services this station.String
sourceTrustTrust signals for the source of a given observation, typically based on historical evidences or status (like internal Google operator).GeostoreTrustSignalsProtoGeostoreSourceTrustProto
urlGeostoreUrlListProtoHold a list of URLs, usually to contain translations of a single URL.list(GeostoreUrlProto)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md This field represents the language of the content of the web site. It may be missing if the web site is language-independent or if the language is unknown.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.String
metadataField-level metadata for this URL. NOTE: there are multiple UrlProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.website[].GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.GeostoreFieldMetadataProto
pagerank** DEPRECATED ** The pagerank of this URL. Valid values [0, 65535] See http://wiki/Main/NearestSeeds for more information.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.integer
urlThe URL.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.String
encryptedGaiaIdThe user Gaia ID in encrypted form. Wipeout ids take value of “” in bytes.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
encryptionKeyNameRequired. The name of the key used to encrypt the Gaia ID.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
keystoreConfigIdRequired (valid default provided). The config ID of the owner of the above encryption_key_name. This field must be set if the encryption key name is *not* “mapfacts_gaia_id_encryption_key”.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.integer
usernameIf possible, writers should set this to a full user email, including the domain. Readers should not assume that this is a well-formed email address. This field may only be set by Atlas, Pushpin and OneRing because they are internal tools which have a PWG exception to store textual usernames in the clear.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
axleCountA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “count < 4" AND "count >= 2″ means “2 <= count < 4").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreCountComparisonProto)
hasTrailerWhether the applied vehicle types have a trailer attached to them.GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.boolean
hazardousGoodsList of prohibited hazardous goods for a vehicle to carry. A repeated value here is treated as an OR operation, meaning that they may not carry ANY of the goods listed.GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(String)
numTrailersA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “count <= 4" AND "count > 2″ means “2 < count <= 4").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreCountComparisonProto)
trailerLengthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “length <= 53ft" AND "length > 48ft” means “48ft < length <= 53ft").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleHeightA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “height > 3m” AND “height <= 5m" means "3m < height <= 5m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleLengthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “length <= 40m" AND "length > 35m” means “35m < length <= 40m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleWeightA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “weight < 8T" AND "weight >= 3T” means “3T <= weight < 8T").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreWeightComparisonProto)
vehicleWidthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “width < 4m" AND "width >= 2m” means “2m <= width < 4m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
levelThe level represents the relative vertical ordering of a feature among all overlapping features. For example, we may have features along freeway surface have level = 0, and features on an overpass have level = 1. NOTE: It’s assumed that all features have level 0 by default, so that it’s not necessary for all overlapping features to have this set.GeostoreVerticalOrderingProtoA proto representing a vertical ordering of a feature. NOTE: This shouldn’t be used if a more specific field can be used instead. E.g., for TYPE_SEGMENT features grade_level field should be preferred. For indoor features RELATION_ON_LEVEL should be preferred. See go/aboutgrades for comparison of various types of levels available.number
comparisonGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.String
comparisonOperatorGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.String
weightWithUnitGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.GeostoreWeightProto
unitGeostoreWeightProtoA weight with a numerical value and unit.String
weightGeostoreWeightProtoA weight with a numerical value and unit.number
AnchorThere is a generic method for composing such strings. Please take a look at GoodocUtils::GenerateUniqueAnchorName(…) in ocr/goodoc/goodoc-utils.h.GoodocAnchorLabelAn anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.String
anchorScopeGoodocAnchorLabelAn anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.integer
HeightGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
LabelOptional magic label, so objects can be sorted on bounding box dimensions easilyGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
LeftBoundingBox coordinates and sizes are expressed in pixelsGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
TopGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
WidthGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
directionGoodocBoxPartitionsA way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +—————————————————-+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +—————————————————-+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.integer
span“span” is width or height, determined by “direction”. If there are k partitions, then there are k – 1 “span” values, one for each except the last symbol (which is redundant).GoodocBoxPartitionsA way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +—————————————————-+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +—————————————————-+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.list(integer)
BreakLabelTypeGoodocBreakLabelBreak labelinteger
isPrefixTrue if break prepends the elementGoodocBreakLabelBreak labelboolean
BaseLineThe shift of a character from the base line of the string in pixelsGoodocCharLabelFont labelinteger
CharacterHeightHeight of small characters in pixels on the source imageGoodocCharLabelFont labelinteger
ColorThe foreground color of the symbol; the default color is 0 (black)GoodocCharLabelFont labelinteger
ConfidenceSymbol recognition confidence from OCR. Range depends upon OCR Engine.GoodocCharLabelFont labelinteger
FontIdThe font ID refers to the fonts table in the document headerGoodocCharLabelFont labelinteger
FontSizeSize in points (JFYI: point is 1/72″). This is rounded to the nearest whole number.GoodocCharLabelFont labelinteger
FontSizeFloatSize in points represented as float.GoodocCharLabelFont labelnumber
FontTypeGoodocCharLabelFont labelinteger
HasUncertainHeightIf CharacterHeight is defined uncertainlyGoodocCharLabelFont labelboolean
HorizontalScaleThe horizontal scaling for a character, in percents. The default value for this property is 100, which corresponds to no scaling.GoodocCharLabelFont labelinteger
IsBoldGoodocCharLabelFont labelboolean
IsItalicGoodocCharLabelFont labelboolean
IsSmallCapsGoodocCharLabelFont labelboolean
IsStrikeoutGoodocCharLabelFont labelboolean
IsSubscriptGoodocCharLabelFont labelboolean
IsSuperscriptGoodocCharLabelFont labelboolean
IsSuspiciousIf OCR Engine marked the character as “suspicious” (this character is likely to be recognized incorrectly).GoodocCharLabelFont labelboolean
IsUnderlinedGoodocCharLabelFont labelboolean
NotOcrablePerQATrue if a QA operator has marked this as not OCRable. This is used for complex equations, scripts that the operator can’t type, or handwriting.GoodocCharLabelFont labelboolean
PenaltySymbol-level penalty from the garbage text detector. Lower is better; range = [0,100].GoodocCharLabelFont labelinteger
SerifProbabilityThe probability that a character is written with a Serif fontGoodocCharLabelFont labelinteger
EditingHistoryDebug info, recording the history of any editing done through the interface in goodoc-editing.h. The strings look like “MoveParagraph(page_index = 0, source_block_index = 3, …);GoodocDocumentTop-level representation of OCRed documentlist(String)
LogicalEntityLogical entities are stored as blobs. Depending on the kind of thing this is a goodoc of, a separate .proto file is expected to define the logical entity structure. Hence we can still parse this as a goodoc for people who dont care about this, and people who care about this can parse it specifically. ocr/goodoc/logical-entity-utils.h has methods to read and write these. See Goodoc++ docGoodocDocumentTop-level representation of OCRed documentlist(String)
LogicalEntityMessageNameThe names of the proto messages serialized in LogicalEntity, one for each LogicalEntity. The repetitions should number 0 to leave this unspecified, or they should equal the number of LogicalEntity strings.GoodocDocumentTop-level representation of OCRed documentlist(String)
SubDocumentsFor multi-goodoc documentsGoodocDocumentTop-level representation of OCRed documentlist(GoodocDocument)
headerGoodocDocumentTop-level representation of OCRed documentGoodocDocumentHeader
pageGoodocDocumentTop-level representation of OCRed documentlist(GoodocDocumentPage)
OcrEngineIdGoodocDocumentHeaderString
OcrEngineVersionGoodocDocumentHeaderString
fontGoodocDocumentHeaderlist(GoodocDocumentHeaderFont)
FontIdGoodocDocumentHeaderFontinteger
FontNameGoodocDocumentHeaderFontString
GarbageDetectorChangeListIf the garbage text detector was run, the changelist that the binary was sync’ed to (or -1 if unknown), and whether the settings had their production values (or false if unknown).GoodocDocumentPageinteger
GarbageDetectorWasProductionGoodocDocumentPageboolean
HeightHeight in pixelsGoodocDocumentPageinteger
HorizontalDpiHorizontal resolution in DPI.GoodocDocumentPageinteger
LabelGoodocDocumentPageGoodocLabel
PornScoreScore of porn classifier from analyzing images on page. Note: This should be named porn_score, but we use PornScore as the name in order to be consistent with the rest of this proto.GoodocDocumentPagefloat
TextConfidencePage text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocDocumentPageinteger
VerticalDpiVertical resolution in DPI.GoodocDocumentPageinteger
WidthWidth in pixelsGoodocDocumentPageinteger
blockGoodocDocumentPagelist(GoodocDocumentPageBlock)
mergedpageinfoGoodocDocumentPagelist(GoodocDocumentPageMergedPageInfo)
postOcrConfidenceWhether page-level text confidences and other summary data were computed by PostOcrUtils instead of the now-obsolete GarbageTextDetectorGoodocDocumentPageboolean
statsPage level stats (font size, line spacing, etc.)GoodocDocumentPageGoodocSummaryStats
BlockTypeGoodocDocumentPageBlockinteger
BoxGoodocDocumentPageBlockGoodocBoundingBox
LabelGoodocDocumentPageBlockGoodocLabel
OrientationLabelWhich way is upright for this block, and what is the reading order (applicable if there is text here).GoodocDocumentPageBlockGoodocOrientationLabel
ParagraphGoodocDocumentPageBlocklist(GoodocParagraph)
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocDocumentPageBlockGoodocRotatedBoundingBox
TextConfidenceBlock text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocDocumentPageBlockinteger
OcrEngineIdGoodocDocumentPageMergedPageInfoIf we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR’d goodoc), we record some source goodoc info here.String
OcrEngineVersionGoodocDocumentPageMergedPageInfoIf we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR’d goodoc), we record some source goodoc info here.String
fontIdCharLabel.FontId and FontSizeGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
fontSizeGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianHeightThe measurements are in pixelsGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineHeighttop to bottomGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineSpacebottom to next top in paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineSpantop to next top in paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianWidthGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numLineSpacesLines (out of num_lines) that have a successor line within their paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numLinesLine stats for this font. “top” corresponds to the highest ascender and “bottom” to the lowest descender. num_lines = # lines with > 50% symbols having this fontGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numSymbolsGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
AnchorLabelAnchorLabel identifies a link target.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.list(GoodocAnchorLabel)
BreakLabelGoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocBreakLabel
CharLabelCharLabel is specifically intended for symbolsGoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocCharLabel
LanguageLabelLanguages used in the element (page, block, paragraph or word). Ordered by dominant-language first. Note: content scanjobs processed by the garbage_text_detector before CL 9223538 (Dec. 2008) have LanguageLabels in arbitrary order (within Page and Block elements) — the confidence value should be inspected to find the dominant language guess for these, rather than just taking the first.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.list(GoodocLanguageLabel)
SemanticLabelSemanticLabel is defined in goodoc-semantics.proto, it allows rich annotation of content, identifying the nature of page elements.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocSemanticLabel
bcp47TagBcp47 language code. Note, this is not the same as OceanCode used by goodoc::Document.GoodocLanguageCombinationLanguageWeighted languageString
weightWeight of language. This specifies how likely it is to see the language in the input text. The values don’t have to add up to 1.GoodocLanguageCombinationLanguageWeighted languagenumber
ClosestLanguageIdClosest id from i18n/languages/proto/languages.proto; caveat: may not accurately capture the language. GoodocLanguageCodeToLanguage() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field.GoodocLanguageLabelLanguage labelinteger
ConfidenceConfidence level on that language, between 0 and 100GoodocLanguageLabelLanguage labelinteger
LanguageCodeOld (Ocean) Language Code Usage: The language code is inferred during the running of the Garbage Text Detector and gets set at the paragraph, block and page level. Language code is a string of 3 or more characters. The first 3 letters specify the language, according to ISO 639. Optionally, the 3-letter code can be extended with an underscore and a language variant specifier. Specifiers exist for regional variants or for different forms of language spelling. The regional variants are specified as 2-letter country code, according to ISO 3166. Some examples: Standard “por” – Portuguese, standard “rus” – Russian, standard Regional variants: “por_br” – Portuguese, Brazilian “eng_us” – English, United States Variants of spelling: “rus_old” – Russian, old spelling “chi_tra” – Chinese, traditional “ger_new” – German, new spelling LanguageToGoodocLanguageCode() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field. New Language Code Usage: Most of the usages described above were standardized in BCP 47, and these codes are the new stanadard to be used in this field. To load either new or old language codes to form LanguageCode objects, use the function FromOceanCode() in ocr/quality/lang_util.h Note that the function ocr::FromOceanCode is capable of transforming either version of the LanguageCode to a C++ i18n_identifiers::LanguageCode.GoodocLanguageLabelLanguage labelString
MetadataGoodocLogicalEntityA logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.String
linkGoodocLogicalEntityA logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.list(GoodocLogicalEntityLink)
AnchorThe preferred way to link to an element is to create an AnchorLabel in the target element and name it here. Multiple elements may contain the same Anchor string.GoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”String
BlockIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
DocIdLinks may also specifically locate the target element with the following indices. Note that during the course of layout analysis, goodoc elements may move around, so such hard links should be created only very late (or not at all — Anchors would be more reliable target addresses).GoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
PageIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
ParagraphIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
RouteIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
SymbolIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
UrlIf not defined, link points to the current docGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”String
WordIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
implicitGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
sectionStringValueGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
sectionValueGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.integer
sectionValueTypeThe following vars describe the section component of an ordinal (if exists). They are used to express situation where a page number has a section component, usually denoating the chapter number. For example pages 5-14, 5-15 will both have the common section 5. (If exists). The semantcis of the section variables correspond to that of the primary part of the ordinal. (Described above).GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
stringValueThe string page value.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
valueThe numeric page value.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.integer
valueDeltaThe delta in which the value increases between pages.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
valueTypeA value type from the Type enum above.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
deskewAngleAfter rotating so that the text orientation is upright, how many radians does one have to rotate the block anti-clockwise for it to be level? We guarantee: -Pi/4 <= deskew_angle <= Pi/4GoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.number
mirroredWhether a text line is mirrored (e.g. reflected in a shiny surface or seen through the opposite side of a storefront window). The intent is that this is a quality of the text line image. It needs to be reflected according to a vertical axis along the direction of upright characters to make it readable. This does not affect the shape of the bounding box. A mirrored line with top to bottom writing remains top to bottom. A mirrored horizontal line will flip left to right. However any child entities (symbols) will remain in the same order, and the writing direction imposed by the language (ltr or rtl) will remain the same.GoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.boolean
orientationGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
textlineOrderGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
writingDirectionGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
blockImaginationFor text blocks only: do not allow this block to be turned into an image when rendering, even if your algorithms want to do so:GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
doNotExpandGraphicBoxFor graphic blocks, we often expand the block a bit for rendering, to compensate for bad image segmentation. do_not_expand_graphic_box forces this behavior to be turned off.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.boolean
fullPageAsImageFor Pages only: explicitly specify whether or not this page should be rendered fully as an imageGoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
fullPageLineatedFor Pages only: explicitly specify whether or not all text on this page should be treated as “LINEATED”GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
fullPageSkippedFor Pages only: explicitly specify whether or not this page should be skipped.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
needNotSuppressPhotoThis GRAPHIC block’s image can be shown even when GoodocToHTMLOptions.suppress_photos_with_this is specified.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.boolean
pageBreakBeforeFor blocks: explicitly specify whether or not this block should get a page-break before it.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
styleGoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.list(GoodocOverridesStyle)
wordHtmlFor Words only: replace the rendered HTML by this:GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
namecss attribute name: “margin-left”, for eg.GoodocOverridesStyleExtra css styles to applyString
valuecss attribute vale: “1em”, for eg.GoodocOverridesStyleExtra css styles to applyString
BoxGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocBoundingBox
FirstLineIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
LabelGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocLabel
LeftIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
LineSpacingGoodocParagraphRepresents a paragraph of text in OCRed content.integer
OrientationLabelWhich way is upright for this paragraph and what is the dominant reading order?GoodocParagraphRepresents a paragraph of text in OCRed content.GoodocOrientationLabel
RightIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocParagraphRepresents a paragraph of text in OCRed content.GoodocRotatedBoundingBox
SpaceAfterGoodocParagraphRepresents a paragraph of text in OCRed content.integer
SpaceBeforeGoodocParagraphRepresents a paragraph of text in OCRed content.integer
SubsumedParagraphPropertiesIf we merge any paragraphs into this one (through the MergeParagraphWithNext() interface in goodoc-editing.h), then we append the properties of the merged paragraph here, for debugging and to avoid losing any info. Note that the SubsumedParagraphProperties Paragraphs do not contain Routes.GoodocParagraphRepresents a paragraph of text in OCRed content.list(GoodocParagraph)
TextConfidenceParagraph text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocParagraphRepresents a paragraph of text in OCRed content.integer
WidthGoodocParagraphRepresents a paragraph of text in OCRed content.integer
alignmentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
droppedcapGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocParagraphDroppedCap
routeGoodocParagraphRepresents a paragraph of text in OCRed content.list(GoodocParagraphRoute)
BoxGoodocParagraphDroppedCapInformation about the paragraph’s dropped capital letterGoodocBoundingBox
LettersCountGoodocParagraphDroppedCapInformation about the paragraph’s dropped capital letterinteger
EndPointRoute end pointGoodocParagraphRouteGoodocRoutePoint
StartPointRoute start pointGoodocParagraphRouteGoodocRoutePoint
WeightRoute weight, i.e. routeGoodocParagraphRouteinteger
WordThe array of words on this routeGoodocParagraphRoutelist(GoodocWord)
AngleAngle of rotation of the original non-rotated box around the top left corner of the original non-rotated box, in clockwise degrees from the horizontal.GoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.number
HeightGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
LeftCoordinates and sizes are expressed in pixels, where the top-left pixel is (0, 0). The coordinates refer to the corner of the top-left vertex of the unrotated version of the box.GoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
TopGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
WidthGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
RouteIndexThe sequential route number, starts at 0GoodocRoutePointinteger
WordIndexThe sequential word number, starts at 0GoodocRoutePointinteger
AlternateTextAlternate text for a sequence of the Goodoc, just for the element containing this label, or for a sequence starting from this element to the EndOfSpanningLabel. Typically this is inserted by automatic or manual OCR correction. We use text instead of editing the Goodoc directly since we dont usually have accurate symbol level bboxes for the alternate text. Also the original values from OCR are preserved. It is upto the application to do anything more intelligent like mapping words and finding potential symbol/word bboxes.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
AttributePage elements can be given Attributes refining meaning/role. We keep this flexible by using strings instead of pre-determined enum values. But it is useful to list all such Attributes in use in ocr/goodoc/goodoc-semantics-attributes.hGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(String)
ChapterStartBlocks that are at the beginning of chapters have this set:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
CleanupAnnotationGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(integer)
ContinuesFromPreviousPageGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
ContinuesFromPreviousPageHyphenatedWhen ContinuesFromPreviousPage=true, this bit can be set to note that the word fragment on the previous page ends in a hyphen.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
ContinuesOnNextPageParagraphs that span across pages can be identified with the following flags. Note that flows just connect Blocks across pages. These continuation flags imply something more specific — the case of a single logical paragraph split over pages. Only the last Paragraph in the last Block within a given FlowThread() on a page can have ContinuesOnNextPage set. Similarly, only the first Paragraph in the first Block with a given FlowThread() on a page may have ContinuesFromPreviousPage set.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
EndOfSpanningLabelNormally, a SemanticLabel applies exactly to the goodoc element that it is contained in (usually Block or Paragraph, sometimes Word). Occasionally, we need a SemanticLabel to span across the boundary or end before the boundary. For example, a URL may just be a few words within a Paragraph. In such cases, the SemanticLabel is added to the first element of the span and contains this LogicalEntity pointing to the last element of the span:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocLogicalEntity
ExperimentalDataMessage set for experimental algorithm data. Use case: We keep a set of features that was computed for the unsupervised caption extraction and store it here. Agora question producer will consume this message set to be embedded in a question. The experimental feature set can then be used later to pair up with ground truth labels for designing a supervised algorithm. Currently holding: o ocean/analysis/content/caption_data.proto’s TextualElementGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).Proto2BridgeMessageSet
FlowFlow identifies a single sequential unit of text (or other content). It is only set on Blocks — a flow identifies a sequence of Blocks. The default, main flow is just the empty string. The “FlowThread” of a block is the flow (if non-empty), suffixed with the block appearance. This is computed by GoodocUtils::FlowThread(). Paragraphs may be split over blocks in the same FlowThread, across pages. The following table shows how FlowThread gets computed: ## Flow Appearance FlowThread (empty) UNSPECIFIED “UNSPECIFIED” foo BODY “foo:BODY” Please use lower-case strings for flows (such as article-33-box). One useful way to think of flows is this: A logical unit of interest in a a Document (for example, an article) would be identified by a starting block, an ending block, and a list of flows of interest within the [start, end) span. message Article { (page#, block#): article_start; (page#, block#): article_end; repeated string flows; } The reading order of blocks, paragraphs/etc within this article would be the same order as present in the goodoc itself. Some applications (such as rendering) may want to process the article by running over all the flows together, others (such as indexing) may want to deal with the FlowThreads one after the other.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
ModificationRecordThis field can be used to record the steps by which AlternateText for a sequence of the Goodoc is generated.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
PageNumberOrdinalIf Appearence is PAGE_NUMBER:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocOrdinal
appearanceGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).integer
columndetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelColumnDetails
contentlinkGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelContentLink
editcorrectioncandidateGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(GoodocSemanticLabelEditCorrectionCandidate)
overridesStructure overrides: typically manual corrections to goodoc renderings.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocOverrides
snippetfilterGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(GoodocSemanticLabelSnippetFilter)
tablecelldetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelTableCellDetails
tabledetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelTableDetails
ColumnGoodocSemanticLabelColumnDetailsIf Appearance is COLUMN:integer
ColumnsGoodocSemanticLabelColumnDetailsIf Appearance is COLUMN:integer
UrlTargetFor URL labels, we note the url here directly (it’s also available by grabbing all text symbols within the labeled span). SCHOLARLY_CITATION labels or even CAPTION labels may occasionally contain URLs.GoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).String
citationtargetGoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).GoodocSemanticLabelContentLinkCitationTarget
involumetargetGoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).GoodocSemanticLabelContentLinkInVolumeTarget
Authorsseparated by semicolonsGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
BibKeyGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
ConfidenceGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:float
TitleGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
YearGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:integer
ConfidenceGoodocSemanticLabelContentLinkInVolumeTargetFor CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels:float
LogicalEntityThe CAPTION label typically targets the previous or the next Block. The FOOTNOTE_POINTER label typically targets a paragraph in a FOOTNOTE Block. TOC_ENTRY and INDEX_ENTRY labels are links that point to a different page within the volume. CONTINUATION labels also are links that point to a different page within the volume, or maybe even a particular block or paragraph.GoodocSemanticLabelContentLinkInVolumeTargetFor CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels:GoodocLogicalEntity
EditedWordGoodocSemanticLabelEditCorrectionCandidateIf there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.String
ProbabilityGoodocSemanticLabelEditCorrectionCandidateIf there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.float
badwordFractionGoodocSemanticLabelSnippetFilterRecording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the “badword_fraction_allowed” in a running window of size – “window_size”. If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.float
windowSizeGoodocSemanticLabelSnippetFilterRecording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the “badword_fraction_allowed” in a running window of size – “window_size”. If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.integer
ColumnGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
ColumnSpanGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
RowRow and Column are 0-basedGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
RowSpanGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
ColumnsGoodocSemanticLabelTableDetailsIf Appearance is TABLE:integer
RowsGoodocSemanticLabelTableDetailsIf Appearance is TABLE:integer
numParagraphs—— Paragraph stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical “content” paragraph. There can still be substantial differences between means and medians, particularly if a table is present (every cell is a paragraph).GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
estimatedFontSizesThis flag is set if the histogram above has been derived by estimating font sizes from CharLabel.CharacterHeight; that happens if the FontSize field is constant, as has happened with Abbyy 9.GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).boolean
numLineSpacesLines (out of num_lines) that have a successor line within their paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numWords#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerWordGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerWordGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numNonGraphicBlocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullOddPrintedBoxGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianWordsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianLineSpantop to next top in paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWidthGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWordsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanWordsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianParagraphIndentleading space on first lineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianOddPrintedBox1,3,5..GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianSymbolsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numLines—— Line stats “top” corresponds to the highest ascender and “bottom” to the lowest descender.GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianParagraphSpacebottom to next top in blockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numParagraphSpacesparas that have a successor para within their blockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianPrintedBoxEach median*_printed_box excludes page header/footer and all graphic blocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
numPages#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianHorizontalDpiGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianVerticalDpiGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullPrintedBoxEach median_full*_printed_box includes page header/footer but still excludes all graphic blocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
fontSizeHistogramSymbol counts (and other attributes) for each distinct CharLabel.FontId and FontSize; histogram is in decreasing order of symbol countGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).list(GoodocFontSizeStats)
medianBlockSpacebottom to next top in flow on pageGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianLineHeighttop to bottomGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianHeightGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullEvenPrintedBoxGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
meanWordsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanWordsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianEvenPrintedBox0,2,4..GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianLineSpacebottom to next top in paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numSymbols#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numBlocks—— Block stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical “content” block. There can still be substantial differences between means and medians; however, block values will generally exceed paragraph values (not the case when headers and footers are included).GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWordsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numBlockSpacesblocks that have a successor block within their flow on their pageGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
BoxGoodocSymbolA single symbol representationGoodocBoundingBox
CodeThe unicode character code in UTF-32GoodocSymbolA single symbol representationinteger
LabelGoodocSymbolA single symbol representationGoodocLabel
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocSymbolA single symbol representationGoodocRotatedBoundingBox
symbolvariantGoodocSymbolA single symbol representationlist(GoodocSymbolSymbolVariant)
CodeGoodocSymbolSymbolVariantinteger
ConfidenceGoodocSymbolSymbolVariantinteger
BaselineThe baseline’s y-axis offset from the bottom of the word’s bounding box, given in pixels. (A value of 2, for instance, indicates the baseline is 2px above the bottom of the box.)GoodocWordA word representationinteger
BoxGoodocWordA word representationGoodocBoundingBox
CaplineThe capline is the y-axis offset from the top of the word bounding box. A positive value n indicates that capline is n-pixels above the top of this word.GoodocWordA word representationinteger
CompactSymbolBoxesFor space efficiency, we sometimes skip the detailed per-symbol bounding boxes in Symbol.Box, and use this coarser representation instead, where we just store Symbol boundaries within the Word box. Most client code should not have to worry directly about this, it should be handled in the deepest layers of writing/reading goodocs (for example, see Compress() and Uncompress() in ocean/goodoc/goovols-bigtable-volume.h). Note(viresh): I experimented with this compression, and here are some numbers for reference. If the zlib-compressed page goodoc string size was 100 to start with, then this compaction makes it 65. As a possible future relaxation to consider: if we add in, for each symbol, a “top” and “bottom” box offset then the size would be 75 (that’s with “repeated int32 top/bottom_offset” fields inside BoxPartitions, instead of inside each symbol).GoodocWordA word representationGoodocBoxPartitions
ConfidenceWord recognition confidence. Range depends upon OCR Engine.GoodocWordA word representationinteger
IsFromDictionaryword. The meaning and range depends on the OCR engine or subsequent processing. Specifies whether the word was foundGoodocWordA word representationboolean
IsIdentifiera number True if word representsGoodocWordA word representationboolean
IsLastInSentenceTrue if the word is the last word in any sub-paragraph unit that functions at the same level of granularity as a sentence. Examples: “She hit the ball.” (regular sentence) “Dewey defeats Truman” (heading) “The more, the merrier.” (no verb) Note: not currently used. Code to set this was introduced in CL 7038338 and removed in OCL=10678722.GoodocWordA word representationboolean
IsNumericin the dictionary True if the word representsGoodocWordA word representationboolean
LabelGoodocWordA word representationGoodocLabel
PenaltyPenalty for discordance of characters in aGoodocWordA word representationinteger
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocWordA word representationGoodocRotatedBoundingBox
SymbolWord characters, the text mayGoodocWordA word representationlist(GoodocSymbol)
alternatesGoodocWordA word representationGoodocWordAlternates
textAs a shortcut, the content API provides the text of words instead of individual symbols (NOTE: this is experimental). This is UTF8. And the main font for the word is stored in Label.CharLabel.GoodocWordA word representationString
writingDirectionWriting direction for this word.GoodocWordA word representationString
ErrorProbabilityThe probability that the main OCR engine (Abbyy) string is incorrect; range is 0 (definitely correct) to 100 (definitely incorrect).GoodocWordAlternatesAlternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.integer
alternateGoodocWordAlternatesAlternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.list(GoodocWordAlternatesAlternate)
OcrEngineIdSee Document.HeaderGoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.String
OcrEngineVersionSee Document.HeaderGoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.String
WordIn order to compile, this recursive message needs to be optional, even though it’s within an optional group.GoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.GoodocWord
billingAccountName of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.GoogleApiServiceconsumermanagementV1BillingConfigDescribes the billing configuration for a new tenant project.String
membersUses the same format as in IAM policy. `member` must include both a prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, `group:{emailId}`.GoogleApiServiceconsumermanagementV1PolicyBindingTranslates to IAM Policy bindings (without auditing at this level)list(String)
roleRole. (https://cloud.google.com/iam/docs/understanding-roles) For example, `roles/viewer`, `roles/editor`, or `roles/owner`.GoogleApiServiceconsumermanagementV1PolicyBindingTranslates to IAM Policy bindings (without auditing at this level)String
audioModeCurrent audio mode on the device while issuing the query.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
audioRoutingModeCurrent audio routing on the device while issuing the query.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
encoding*Required* The encoding of audio data to be returned in all `audio_out` messages.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
preferredBitrateBps*Optional* Specifies preferred encoding bitrate (bits-per-second). Currently this is only implemented for OGG_OPUS for bitrates of 12000, 16000, 24000, 32000. If not specified, OGG_OPUS defaults to 32000.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.integer
deviceModelCapabilitiesOverrideDevice model capabilities from client to override capabilities in the primary device model.GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride
heterodyneToken*Optional* An encrypted heterodyne_experiment_token containing the list of experiment_ids (go/ph-server-tokens).GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)String
surfaceIdentity*Required* Identifier for the device which sent the request.GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)GoogleAssistantEmbeddedV1SurfaceIdentity
alarmState*Optional* Information about on-device alarms. For devices that support alarms, all on-device alarms must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1Alarms
contextParamsOther context params to be sent to Assistant. This is a assistant.embedded.v1.ContextParams message in serialized binary proto format.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13String
deviceTimeA timestamp of the current device time when the request was made. This field is required if your device supports alarms or timers. This ensures that requests are fulfilled relative to the current device time and regardless of any clock skew between the client and the server.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13DateTime
deviceTimeZoneThe time zone where the device is currently located. This helps the Assistant answer time-related queries relative to the device’s time zone. Generally speaking, mobile devices that support alarms or timers should supply device_time_zone. This field is required if your device supports alarms or timers and the device’s location cannot reliably be determined. (See the comment above google.assistant.embedded.v1.DeviceLocation for a description of how the device’s location is determined.) If the time zone cannot be determined, some queries for creating or modifying timers or alarms may fail with a generic error such as, “Sorry, I don’t know how to help with that.”GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleTypeTimeZone
doNotDisturbIndicate whether do not disturb mode is turned on.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13boolean
fitnessActivitiesStateInformation about on-device fitness activities. For devices that support fitness activities, all on-device fitness activities must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1FitnessActivities
installedAppsInformation about apps currently installed on device.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantAccessoryV1DeviceStateInstalledAppsState
installedAppsZlibThis contains a zlib-compressed binary-encoded `InstalledAppsState` proto message.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13String
timerState*Optional* Information about on-device timers. For devices that support timers, all on-device timers must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1Timers
unavailableSettingsThis indicates which specific settings are currently unavailable for modification, despite being listed as a supported setting. Assistant can use this field to trigger unavailability messages, rather than claiming that a setting is entirely unsupported on device.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13list(String)
appsList of apps currently installed on the device.GoogleAssistantAccessoryV1DeviceStateInstalledAppsStateState of the apps currently installed on the device.list(AssistantApiCoreTypesProvider)
audioOutConfigSpecifies the current audio mode on the device.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1AudioOutConfig
deviceConfigConfiguration related to a specific device.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1DeviceConfig
deviceInteractionThe client interaction to be sent to Assistant. This is a assistant.embedded.v1.DeviceInteraction message in serialized binary proto format.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11String
deviceStateDevice state to pass to the Assistant server to use in calculating the response.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1DeviceState
initialAudioBytesSpecifies the initial bytes of TTS audio to send.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11integer
isNewConversationIf true, the server will treat the request as a new conversation and not use state from the prior request. Set this field to true when the conversation should be restarted, such as after a device reboot, or after a significant lapse of time since the prior query.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11boolean
outputSampleRateHzSpecifies the desired audio sample rate of the output TTS stream in Hz.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11integer
responseTypeSpecifies the requested response type.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11String
screenOutConfigSpecifies the desired format to use when server returns a visual screen response.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1ScreenOutConfig
dimensionsDevice dimensions.GoogleAssistantAccessoryV1ScreenOutConfigSpecifies the desired format for the server to use when it returns `screen_out` response.GoogleAssistantAccessoryV1ScreenOutConfigDimensions
fontScaleFactorThe scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.GoogleAssistantAccessoryV1ScreenOutConfigSpecifies the desired format for the server to use when it returns `screen_out` response.number
screenDpiDots (pixels) per inch of the screen.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).number
screenHeightPxHeight of the device’s screen in pixels. If 0 or not specified, it’s assumed to be the same as screen_width_px. For a square or round screen, it’s recommended to leave this field empty as a bandwidth optimization.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).integer
screenShapeThe shape of the device’s screenGoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).String
screenWidthPxWidth of the device’s screen in pixels.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).integer
alarmIdA string key used as an identifier to this alarm. This key needs to be unique amongst all alarms on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an alarm_id, the client can either use the suggestion or create a new unique alarm_id of its choosing.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
alarmSourceThe entity that created this alarm. Note this may be different from the device that reported this alarm. In particular, this field is meant for remote alarms which have been synced to the current device by the Clock app. Synced alarms exist in each device’s Clock app and can be managed by either device; this field indicates their origin.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
datePatternFor single alarms: the one date the alarm should next be scheduled for.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleTypeDate
labelA user-provided name for this alarm.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
recurrencePatternFor recurring alarms: a description of the dates when the alarm should recur.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleAssistantEmbeddedV1AlarmRecurrence
scheduledTimeWhen SCHEDULED or SNOOZED, the absolute time the alarm will fire next. When SNOOZED, this time includes the additional time added by snoozing the alarm. When FIRING, the absolute time the alarm had been scheduled to fire. When DISABLED, this field is undefined and should be ignored.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.DateTime
statusDescribes the part of the lifecycle that an alarm is in.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
timePatternThe time of day the alarm should be scheduled for. This value does not change when an alarm enters the SNOOZED state; instead the scheduled_time field should be adjusted to the new alarm time.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleTypeTimeOfDay
dayOfWeekSpecifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0…6 (Sunday…Saturday). Should not be empty.GoogleAssistantEmbeddedV1AlarmRecurrenceA description of the dates when an alarm should recur.list(String)
alarmsInformation about all on-device alarms.GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.list(GoogleAssistantEmbeddedV1Alarm)
snoozeDurationThe amount of time for which alarms should be snoozed. If not specified, the productivity vertical applies a default snooze duration, which may be seen here: http://google3/assistant/verticals/productivity/utils/alarm_utils.cc;l=2734;rcl=415933085GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.String
stateFetchErrorIndicates if an error occurred while fetching alarm state. If this value is missing, it can be assumed that the state fetch was successful.GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.String
deviceModelCapabilitiesDevice model capabilities from client.GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverrideDevice model capabilities override from client.String
updateMaskIf present, overrides only fields specified in the mask. When doing so, selected message and repeated fields will be replaced rather than merged. Performs a regular proto MergeFrom if no mask is specified.GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverrideDevice model capabilities override from client.String
fitnessActivitiesInformation about all on-device activities.GoogleAssistantEmbeddedV1FitnessActivitiesContains information about on-device fitness activities for devices that support fitness.list(GoogleAssistantEmbeddedV1FitnessActivity)
activityIdRequired A string key used as an identifier for this activity. This key needs to be unique amongst all activities on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an activity_id, the client can either use the suggestion or create a new unique activity_id of its choosing.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
mostRecentStartTimeDEPRECATED: The most recent time this activity was switched to the ACTIVE state.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeDateTime
previouslyAccumulatedDurationDEPRECATED: The total amount of time this activity has spent in the ACTIVE state until the most recent start time. The total time spent active may be computed by summing (now – most_recent_start_time) with previously_accumulated_duration.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
stateThe current state of this activity.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
typeThe type of activity being done.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
surfaceTypeSurface type that the device identifies as.GoogleAssistantEmbeddedV1SurfaceIdentityContains fields to identify the device which sent the request.String
userAgentSuffix* Fully formed user agent suffix string.GoogleAssistantEmbeddedV1SurfaceIdentityContains fields to identify the device which sent the request.String
expireTimeThe time the timer is scheduled to expire. google.protobuf.Timestamp is a Unix epoch time with a granularity of 1 nanosecond.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.DateTime
labelA user-provided name for this timer.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
originalDurationThe duration of the timer when it was started. For the ADD_TIME action, this field contains the amount of time to add to the timer with the given timer_id.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
remainingDurationThe remaining duration for the timer.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
statusDescribes the part of the lifecycle a timer is in.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
timerIdA string key used as an identifier to this timer. This key needs to be unique amongst all timers on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests a timer_id, the client can either use the suggestion or create a new unique timer_id of its choosing.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
stateFetchErrorIndicates if an error occurred while fetching timer state. If this value is missing, it can be assumed that the state fetch was successful.GoogleAssistantEmbeddedV1TimersContains information about on-device timers for devices that support timers.String
timersInformation about all on-device timers.GoogleAssistantEmbeddedV1TimersContains information about on-device timers for devices that support timers.list(GoogleAssistantEmbeddedV1Timer)
operationTypeIdentifies the type of operation.GoogleCloudContentwarehouseV1AccessControlActionRepresents the action responsible for access control list management operations.String
policyRepresents the new policy from which bindings are added, removed or replaced based on the type of the operation. the policy is limited to a few 10s of KB.GoogleCloudContentwarehouseV1AccessControlActionRepresents the action responsible for access control list management operations.GoogleIamV1Policy
accessControlAction triggering access control operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1AccessControlAction
actionIdID of the action. Managed internally.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.String
addToFolderAction triggering create document link operation.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1AddToFolderAction
dataUpdateAction triggering data update operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DataUpdateAction
dataValidationAction triggering data validation operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DataValidationAction
deleteDocumentActionAction deleting the document.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DeleteDocumentAction
publishToPubSubAction publish to Pub/Sub operation.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1PublishAction
removeFromFolderActionAction removing a document from a folder.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1RemoveFromFolderAction
ruleActionsPairsList of rule and corresponding actions result.GoogleCloudContentwarehouseV1ActionExecutorOutputRepresents the output of the Action Executor.list(GoogleCloudContentwarehouseV1RuleActionsPair)
actionIdID of the action.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
actionStateState of an action.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
outputMessageAction execution output message.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
foldersNames of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1AddToFolderActionRepresents the action responsible for adding document under a folder.list(String)
messageThe message of the project initialization process.GoogleCloudContentwarehouseV1beta1InitializeProjectResponseResponse message for projectService.InitializeProjectString
stateThe state of the project initialization process.GoogleCloudContentwarehouseV1beta1InitializeProjectResponseResponse message for projectService.InitializeProjectString
customizedEntitiesPropertiesConversionsIf set, only selected entities will be converted to properties.GoogleCloudContentwarehouseV1CloudAIDocumentOptionRequest Option for processing Cloud AI Document in CW Document.map
enableEntitiesConversionsWhether to convert all the entities to properties.GoogleCloudContentwarehouseV1CloudAIDocumentOptionRequest Option for processing Cloud AI Document in CW Document.boolean
documentLinkRequired. Document links associated with the source documents (source_document_id).GoogleCloudContentwarehouseV1CreateDocumentLinkRequestRequest message for DocumentLinkService.CreateDocumentLink.GoogleCloudContentwarehouseV1DocumentLink
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1CreateDocumentLinkRequestRequest message for DocumentLinkService.CreateDocumentLink.GoogleCloudContentwarehouseV1RequestMetadata
cloudAiDocumentOptionRequest Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1CloudAIDocumentOption
createMaskField mask for creating Document fields. If mask path is empty, it means all fields are masked. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.String
documentRequired. The document to create.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1Document
policyDefault document policy during creation. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. Conditions defined in the policy will be ignored.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleIamV1Policy
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1RequestMetadata
documentDocument created after executing create request.GoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1Document
longRunningOperationspost-processing LROsGoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.list(GoogleLongrunningOperation)
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1ResponseMetadata
ruleEngineOutputOutput from Rule Engine recording the rule evaluator and action executor’s output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.protoGoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1RuleEngineOutput
weightedSchemaPropertiesList of schema and property name. Allows a maximum of 10 schemas to be specified for relevance boosting.GoogleCloudContentwarehouseV1CustomWeightsMetadataTo support the custom weighting across document schemas.list(GoogleCloudContentwarehouseV1WeightedSchemaProperty)
entriesMap of (K, V) -> (valid name of the field, new value of the field) E.g., (“age”, “60”) entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types.GoogleCloudContentwarehouseV1DataUpdateActionRepresents the action responsible for properties update operations.map
conditionsMap of (K, V) -> (field, string condition to be evaluated on the field) E.g., (“age”, “age > 18 && age < 60") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation.GoogleCloudContentwarehouseV1DataValidationActionRepresents the action responsible for data validation operations.map
valuesList of datetime values. Both OffsetDateTime and ZonedDateTime are supported.GoogleCloudContentwarehouseV1DateTimeArrayDateTime values.list(GoogleTypeDateTime)
enableHardDeleteBoolean field to select between hard vs soft delete options. Set ‘true’ for ‘hard delete’ and ‘false’ for ‘soft delete’.GoogleCloudContentwarehouseV1DeleteDocumentActionRepresents the action responsible for deleting the document.boolean
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1DeleteDocumentLinkRequestRequest message for DocumentLinkService.DeleteDocumentLink.GoogleCloudContentwarehouseV1RequestMetadata
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1DeleteDocumentRequestRequest message for DocumentService.DeleteDocument.GoogleCloudContentwarehouseV1RequestMetadata
cloudAiDocumentDocument AI format to save the structured content, including OCR.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.GoogleCloudDocumentaiV1Document
contentCategoryIndicates the category (image, audio, video etc.) of the original content.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
createTimeOutput only. The time when the document is created.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
creatorThe user who creates the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
displayNameRequired. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the ‘title’ field as ‘title’ is optional and stores the top heading in the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
displayUriUri to display the document, for example, in the UI.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
dispositionTimeOutput only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
documentSchemaNameThe Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
inlineRawDocumentRaw document content.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
legalHoldOutput only. Indicates if the document has a legal hold on it.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
nameThe resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
plainTextOther document format, such as PPTX, XLXSGoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
propertiesList of values that are user supplied metadata.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.list(GoogleCloudContentwarehouseV1Property)
rawDocumentFileTypeThis is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
rawDocumentPathRaw document file in Cloud Storage path.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
referenceIdThe reference ID set by customers. Must be unique per project and location.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
textExtractionDisabledIf true, text extraction will not be performed.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
textExtractionEnabledIf true, text extraction will be performed.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
titleTitle that describes the document. This can be the top heading or text that describes the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
updateTimeOutput only. The time when the document is last updated.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
updaterThe user who lastly updates the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
createTimeOutput only. The time when the documentLink is created.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.DateTime
descriptionDescription of this document-link.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
nameName of this document-link. It is required that the parent derived form the name to be consistent with the source document reference. Otherwise an exception will be thrown. Format: projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
sourceDocumentReferenceDocument references of the source document.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.GoogleCloudContentwarehouseV1DocumentReference
stateThe state of the documentlink. If target node has been deleted, the link is marked as invalid. Removing a source node will result in removal of all associated links.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
targetDocumentReferenceDocument references of the target document.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.GoogleCloudContentwarehouseV1DocumentReference
updateTimeOutput only. The time when the documentLink is last updated.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.DateTime
customPropertyFilterThis filter specifies a structured syntax to match against the [PropertyDefinition].is_filterable marked as `true`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR NOT D) AND E”), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query: `(LOWER(driving_license)="class \\"a\\"" OR EMPTY(driving_license)) AND driving_years > 10`GoogleCloudContentwarehouseV1DocumentQueryString
customWeightsMetadataTo support the custom weighting across document schemas, customers need to provide the properties to be used to boost the ranking in the search request. For a search query with CustomWeightsMetadata specified, only the RetrievalImportance for the properties in the CustomWeightsMetadata will be honored.GoogleCloudContentwarehouseV1DocumentQueryGoogleCloudContentwarehouseV1CustomWeightsMetadata
documentCreatorFilterThe exact creator(s) of the documents to search against. If a value isn’t specified, documents within the search results are associated with any creator. If multiple values are specified, documents within the search results may be associated with any of the specified creators.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
documentNameFilterSearch the documents in the list. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
documentSchemaNamesThis filter specifies the exact document schema Document.document_schema_name of the documents to search against. If a value isn’t specified, documents within the search results are associated with any schema. If multiple values are specified, documents within the search results may be associated with any of the specified schemas. At most 20 document schema names are allowed.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
fileTypeFilterThis filter specifies the types of files to return: ALL, FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or files will be returned, respectively. If ALL is specified, both folders and files will be returned. If no value is specified, ALL files will be returned.GoogleCloudContentwarehouseV1DocumentQueryGoogleCloudContentwarehouseV1FileTypeFilter
folderNameFilterSearch all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1DocumentQueryString
isNlQueryExperimental, do not use. If the query is a natural language question. False by default. If true, then the question-answering feature will be used instead of search, and `result_count` in SearchDocumentsRequest must be set. In addition, all other input fields related to search (pagination, histograms, etc.) will be ignored.GoogleCloudContentwarehouseV1DocumentQueryboolean
propertyFilterThis filter specifies a structured syntax to match against the PropertyDefinition.is_filterable marked as `true`. The relationship between the PropertyFilters is OR.GoogleCloudContentwarehouseV1DocumentQuerylist(GoogleCloudContentwarehouseV1PropertyFilter)
queryThe query string that matches against the full text of the document and the searchable properties. The query partially supports [Google AIP style syntax](https://google.aip.dev/160). Specifically, the query supports literals, logical operators, negation operators, comparison operators, and functions. Literals: A bare literal value (examples: “42”, “Hugo”) is a value to be matched against. It searches over the full text of the document and the searchable properties. Logical operators: “AND”, “and”, “OR”, and “or” are binary logical operators (example: “engineer OR developer”). Negation operators: “NOT” and “!” are negation operators (example: “NOT software”). Comparison operators: support the binary comparison operators =, !=, <, >, <= and >= for string, numeric, enum, boolean. Also support like operator `~~` for string. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. To specify a property in the query, the left hand side expression in the comparison must be the property ID including the parent. The right hand side must be literals. For example: “\\”projects/123/locations/us\\”.property_a < 1" matches results whose "property_a" is less than 1 in project 123 and us location. The literals and comparison expression can be connected in a single query (example: "software engineer \\"projects/123/locations/us\\".salary > 100″). Functions: supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Support nested expressions connected using parenthesis and logical operators. The default logical operators is `AND` if there is no operators between expressions. The query can be used with other filters e.g. `time_filters` and `folder_name_filter`. They are connected with `AND` operator under the hood. The maximum number of allowed characters is 255.GoogleCloudContentwarehouseV1DocumentQueryString
queryContextFor custom synonyms. Customers provide the synonyms based on context. One customer can provide multiple set of synonyms based on different context. The search query will be expanded based on the custom synonyms of the query context set. By default, no custom synonyms wll be applied if no query context is provided. It is not supported for CMEK compliant deployment.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
timeFiltersDocuments created/updated within a range specified by this filter are searched against.GoogleCloudContentwarehouseV1DocumentQuerylist(GoogleCloudContentwarehouseV1TimeFilter)
createTimeOutput only. The time when the document is created.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
deleteTimeOutput only. The time when the document is deleted.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
displayNamedisplay_name of the referenced document; this name does not need to be consistent to the display_name in the Document proto, depending on the ACL constraint.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
documentIsFolderThe document type of the document being referenced.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentIsLegalHoldFolderDocument is a folder with legal hold.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentIsRetentionFolderDocument is a folder with retention policy.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentNameRequired. Name of the referenced document.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
snippetStores the subset of the referenced document’s content. This is useful to allow user peek the information of the referenced document.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
updateTimeOutput only. The time when the document is last updated.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
createTimeOutput only. The time when the document schema is created.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.DateTime
descriptionSchema description.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
displayNameRequired. Name of the schema given by the user. Must be unique per project.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
documentIsFolderDocument Type, true refers the document is a folder, otherwise it is a typical document.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.boolean
nameThe resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
propertyDefinitionsDocument details.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.list(GoogleCloudContentwarehouseV1PropertyDefinition)
updateTimeOutput only. The time when the document schema is last updated.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.DateTime
valuesList of enum values.GoogleCloudContentwarehouseV1EnumArrayEnum values.list(String)
possibleValuesRequired. List of possible enum values.GoogleCloudContentwarehouseV1EnumTypeOptionsConfigurations for an enum/categorical property.list(String)
validationCheckDisabledMake sure the Enum property value provided in the document is in the possile value list during document creation. The validation check runs by default.GoogleCloudContentwarehouseV1EnumTypeOptionsConfigurations for an enum/categorical property.boolean
valueString value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions.GoogleCloudContentwarehouseV1EnumValueRepresents the string value of the enum field.String
docAiDatasetOptional. The CDW dataset resource name. This field is optional. If not set, the documents will be exported to Cloud Storage only. Format: projects/{project}/locations/{location}/processors/{processor}/datasetGoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.String
documentsThe list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.list(String)
exportFolderPathThe Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.String
trainingSplitRatioRatio of training dataset split. When importing into Document AI Workbench, documents will be automatically split into training and test split category with the specified ratio. This field is required if doc_ai_dataset is set.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.number
projectOwnerFor Get Project ACL only. Authorization check for end user will be ignored when project_owner=true.GoogleCloudContentwarehouseV1FetchAclRequestRequest message for DocumentService.FetchAclboolean
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1FetchAclRequestRequest message for DocumentService.FetchAclGoogleCloudContentwarehouseV1RequestMetadata
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1FetchAclResponseResponse message for DocumentService.FetchAcl.GoogleCloudContentwarehouseV1ResponseMetadata
policyThe IAM policy.GoogleCloudContentwarehouseV1FetchAclResponseResponse message for DocumentService.FetchAcl.GoogleIamV1Policy
fileTypeThe type of files to return.GoogleCloudContentwarehouseV1FileTypeFilterFilter for the specific types of documents returned.String
valuesList of float values.GoogleCloudContentwarehouseV1FloatArrayFloat values.list(number)
inputPathThe input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
pipelineConfigOptional. The config for the Cloud Storage Ingestion pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.GoogleCloudContentwarehouseV1IngestPipelineConfig
processorTypeThe Doc AI processor type name. Only used when the format of ingested files is Doc AI Document proto format.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
schemaNameThe Document Warehouse schema resource name. All documents processed by this pipeline will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
skipIngestedDocumentsThe flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key “status” with value “status=ingested” in custom metadata will be skipped to ingest.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.boolean
extractProcessorInfosThe extract processors information. One matched extract processor will be used to process documents based on the classify processor result. If no classify processor is specified, the first extract processor will be used.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.list(GoogleCloudContentwarehouseV1ProcessorInfo)
inputPathThe input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.String
pipelineConfigOptional. The config for the Cloud Storage Ingestion with DocAI Processors pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.GoogleCloudContentwarehouseV1IngestPipelineConfig
processorResultsFolderPathThe Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.String
skipIngestedDocumentsThe flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key “status” with value “status=ingested” in custom metadata will be skipped to ingest.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.boolean
splitClassifyProcessorInfoThe split and classify processor information. The split and classify result will be used to find a matched extract processor.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1GetDocumentRequestRequest message for DocumentService.GetDocument.GoogleCloudContentwarehouseV1RequestMetadata
filtersOptional. Filter the result of histogram query by the property names. It only works with histogram query count(‘FilterableProperties’). It is an optional. It will perform histogram on all the property names for all the document schemas. Setting this field will have a better performance.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter
histogramQueryAn expression specifies a histogram request against matching documents for searches. See SearchDocumentsRequest.histogram_queries for details about syntax.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.String
requirePreciseResultSizeControls if the histogram query requires the return of a precise count. Enable this flag may adversely impact performance. Defaults to true.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.boolean
documentSchemasThis filter specifies the exact document schema(s) Document.document_schema_name to run histogram query against. It is optional. It will perform histogram for property names for all the document schemas if it is not set. At most 10 document schema names are allowed. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterlist(String)
propertyNamesIt is optional. It will perform histogram for all the property names if it is not set. The properties need to be defined with the is_filterable flag set to true and the name of the property should be in the format: “schemaId.propertyName”. The property needs to be defined in the schema. Example: the schema id is abc. Then the name of property for property MORTGAGE_TYPE will be “abc.MORTGAGE_TYPE”.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterlist(String)
yAxisBy default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is not set.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterString
histogramA map from the values of the facet associated with distinct values to the number of matching entries with corresponding value. The key format is: * (for string histogram) string values stored in the field.GoogleCloudContentwarehouseV1HistogramQueryResultHistogram result that matches HistogramQuery specified in searches.map
histogramQueryRequested histogram expression.GoogleCloudContentwarehouseV1HistogramQueryResultHistogram result that matches HistogramQuery specified in searches.String
cloudFunctionThe Cloud Function resource name. The Cloud Function needs to live inside consumer project and is accessible to Document AI Warehouse P4SA. Only Cloud Functions V2 is supported. Cloud function execution should complete within 5 minutes or this file ingestion may fail due to timeout. Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` The following keys are available the request json payload. * display_name * properties * plain_text * reference_id * document_schema_name * raw_document_path * raw_document_file_type The following keys from the cloud function json response payload will be ingested to the Document AI Warehouse as part of Document proto content and/or related information. The original values will be overridden if any key is present in the response. * display_name * properties * plain_text * document_acl_policy * folderGoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.String
documentAclPolicyThe document level acl policy config. This refers to an Identity and Access (IAM) policy, which specifies access controls for all documents ingested by the pipeline. The role and members under the policy needs to be specified. The following roles are supported for document level acl control: * roles/contentwarehouse.documentAdmin * roles/contentwarehouse.documentEditor * roles/contentwarehouse.documentViewer The following members are supported for document level acl control: * user:[email protected] * group:[email protected] Note that for documents searched with LLM, only single level user or group acl check is supported.GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.GoogleIamV1Policy
enableDocumentTextExtractionThe document text extraction enabled flag. If the flag is set to true, DWH will perform text extraction on the raw document.GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.boolean
folderOptional. The name of the folder to which all ingested documents will be linked during ingestion process. Format is `projects/{project}/locations/{location}/documents/{folder_id}`GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.String
accessControlModeRequired. The access control mode for accessing the customer dataGoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
databaseTypeRequired. The type of database used to store customer dataGoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
documentCreatorDefaultRoleOptional. The default role for the person who create a document.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
enableCalUserEmailLoggingOptional. Whether to enable CAL user email logging.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectboolean
kmsKeyOptional. The KMS key used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key is left empty, no encryption will be enforced.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
messageThe message of the project initialization process.GoogleCloudContentwarehouseV1InitializeProjectResponseResponse message for projectService.InitializeProjectString
stateThe state of the project initialization process.GoogleCloudContentwarehouseV1InitializeProjectResponseResponse message for projectService.InitializeProjectString
valuesList of integer values.GoogleCloudContentwarehouseV1IntegerArrayInteger values.list(integer)
errorValidation error on a parsed expression.GoogleCloudContentwarehouseV1InvalidRuleA triggered rule that failed the validation check(s) after parsing.String
ruleTriggered rule.GoogleCloudContentwarehouseV1InvalidRuleA triggered rule that failed the validation check(s) after parsing.GoogleCloudContentwarehouseV1Rule
documentSchemasThe document schemas from the specified parent.GoogleCloudContentwarehouseV1ListDocumentSchemasResponseResponse message for DocumentSchemaService.ListDocumentSchemas.list(GoogleCloudContentwarehouseV1DocumentSchema)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListDocumentSchemasResponseResponse message for DocumentSchemaService.ListDocumentSchemas.String
pageSizeThe maximum number of document-links to return. The service may return fewer than this value. If unspecified, at most 50 document-links will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.integer
pageTokenA page token, received from a previous `ListLinkedSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedSources` must match the call that provided the page token.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.String
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.GoogleCloudContentwarehouseV1RequestMetadata
documentLinksSource document-links.GoogleCloudContentwarehouseV1ListLinkedSourcesResponseResponse message for DocumentLinkService.ListLinkedSources.list(GoogleCloudContentwarehouseV1DocumentLink)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListLinkedSourcesResponseResponse message for DocumentLinkService.ListLinkedSources.String
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1ListLinkedTargetsRequestRequest message for DocumentLinkService.ListLinkedTargets.GoogleCloudContentwarehouseV1RequestMetadata
documentLinksTarget document-links.GoogleCloudContentwarehouseV1ListLinkedTargetsResponseResponse message for DocumentLinkService.ListLinkedTargets.list(GoogleCloudContentwarehouseV1DocumentLink)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListLinkedTargetsResponseResponse message for DocumentLinkService.ListLinkedTargets.String
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListRuleSetsResponseResponse message for RuleSetService.ListRuleSets.String
ruleSetsThe rule sets from the specified parent.GoogleCloudContentwarehouseV1ListRuleSetsResponseResponse message for RuleSetService.ListRuleSets.list(GoogleCloudContentwarehouseV1RuleSet)
nextPageTokenA page token, received from a previous `ListSynonymSets` call. Provide this to retrieve the subsequent page.GoogleCloudContentwarehouseV1ListSynonymSetsResponseResponse message for SynonymSetService.ListSynonymSets.String
synonymSetsThe synonymSets from the specified parent.GoogleCloudContentwarehouseV1ListSynonymSetsResponseResponse message for SynonymSetService.ListSynonymSets.list(GoogleCloudContentwarehouseV1SynonymSet)
collectionIdThe collection the document connects to.GoogleCloudContentwarehouseV1LockDocumentRequestRequest message for DocumentService.LockDocument.String
lockingUserThe user information who locks the document.GoogleCloudContentwarehouseV1LockDocumentRequestRequest message for DocumentService.LockDocument.GoogleCloudContentwarehouseV1UserInfo
replaceMessageFieldsWhen merging message fields, the default behavior is to merge the content of two message fields together. If you instead want to use the field from the source message to replace the corresponding field in the destination message, set this flag to true. When this flag is set, specified submessage fields that are missing in source will be cleared in destination.GoogleCloudContentwarehouseV1MergeFieldsOptionsOptions for merging updated fields.boolean
replaceRepeatedFieldsWhen merging repeated fields, the default behavior is to append entries from the source repeated field to the destination repeated field. If you instead want to keep only the entries from the source repeated field, set this flag to true. If you want to replace a repeated field within a message field on the destination message, you must set both replace_repeated_fields and replace_message_fields to true, otherwise the repeated fields will be appended.GoogleCloudContentwarehouseV1MergeFieldsOptionsOptions for merging updated fields.boolean
documentTypeThe processor will process the documents with this document type.GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
processorNameThe processor resource name. Format is `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
schemaNameThe Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
documentsThe list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.list(String)
exportFolderPathThe Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.String
processorInfoThe CDW processor information.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
processorResultsFolderPathThe Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.String
accessControlModeAccess control mode.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
databaseTypeDatabase type.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
documentCreatorDefaultRoleThe default role for the person who create a document.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
locationThe location of the queried project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
qaEnabledIf the qa is enabled on this project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.boolean
stateState of the project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
dateTimeValuesDate time property values. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1DateTimeArray
enumValuesEnum property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1EnumArray
floatValuesFloat property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1FloatArray
integerValuesInteger property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1IntegerArray
mapPropertyMap property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1MapProperty
nameRequired. Must match the name of a PropertyDefinition in the DocumentSchema.GoogleCloudContentwarehouseV1PropertyProperty of a document.String
propertyValuesNested structured data property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1PropertyArray
textValuesString/text property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1TextArray
timestampValuesTimestamp property values. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1TimestampArray
propertiesList of property values.GoogleCloudContentwarehouseV1PropertyArrayProperty values.list(GoogleCloudContentwarehouseV1Property)
dateTimeTypeOptionsDate time property. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1DateTimeTypeOptions
displayNameThe display-name for the property, used for front-end.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
enumTypeOptionsEnum/categorical property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1EnumTypeOptions
floatTypeOptionsFloat property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1FloatTypeOptions
integerTypeOptionsInteger property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1IntegerTypeOptions
isFilterableWhether the property can be filtered. If this is a sub-property, all the parent properties must be marked filterable.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isMetadataWhether the property is user supplied metadata. This out-of-the box placeholder setting can be used to tag derived properties. Its value and interpretation logic should be implemented by API user.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isRepeatableWhether the property can have multiple values.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isRequiredWhether the property is mandatory. Default is ‘false’, i.e. populating property value can be skipped. If ‘true’ then user must populate the value for this property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isSearchableIndicates that the property should be included in a global search.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
mapTypeOptionsMap property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1MapTypeOptions
nameRequired. The name of the metadata property. Must be unique within a document schema and is case insensitive. Names must be non-blank, start with a letter, and can contain alphanumeric characters and: /, :, -, _, and .GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
propertyTypeOptionsNested structured data property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1PropertyTypeOptions
retrievalImportanceThe retrieval importance of the property during search.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
schemaSourcesThe mapping information between this property to another schema source.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.list(GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource)
textTypeOptionsText/string property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1TextTypeOptions
timestampTypeOptionsTimestamp property. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1TimestampTypeOptions
nameThe schema name in the source.GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSourceThe schema source information.String
processorTypeThe Doc AI processor type name.GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSourceThe schema source information.String
conditionThe filter condition. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, `>=`, and `~~` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. `~~` is the LIKE operator. The right of the operator must be a string. The only supported property data type for LIKE is text_values. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. It matches if the property contains semantic similar content to the query. It is not regex matching or wildcard matching. For example, “property.company ~~ \\”google\\”” will match records whose property `property.compnay` have values like “Google Inc.”, “Google LLC” or “Google Company”. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR NOT D) AND E”), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Only properties that are marked filterable are allowed (PropertyDefinition.is_filterable). Property names do not need to be prefixed by the document schema id (as is the case with histograms), however property names will need to be prefixed by its parent hierarchy, if any. For example: top_property_name.sub_property_name. Sample Query: `(LOWER(driving_license)="class \\"a\\"" OR EMPTY(driving_license)) AND driving_years > 10` CMEK compliant deployment only supports: * Operators: `=`, `<`, `<=`, `>`, and `>=`. * Boolean expressions: AND and OR.GoogleCloudContentwarehouseV1PropertyFilterString
documentSchemaNameThe Document schema name Document.document_schema_name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1PropertyFilterString
propertyDefinitionsRequired. List of property definitions.GoogleCloudContentwarehouseV1PropertyTypeOptionsConfigurations for a nested structured data property.list(GoogleCloudContentwarehouseV1PropertyDefinition)
messagesMessages to be published.GoogleCloudContentwarehouseV1PublishActionRepresents the action responsible for publishing messages to a Pub/Sub topic.list(String)
topicIdThe topic id in the Pub/Sub service for which messages will be published to.GoogleCloudContentwarehouseV1PublishActionRepresents the action responsible for publishing messages to a Pub/Sub topic.String
confidenceScoreThe calibrated confidence score for this document, in the range [0., 1.]. This represents the confidence level for whether the returned document and snippet answers the user’s query.GoogleCloudContentwarehouseV1QAResultAdditional result info for the question-answering feature.number
highlightsHighlighted sections in the snippet.GoogleCloudContentwarehouseV1QAResultAdditional result info for the question-answering feature.list(GoogleCloudContentwarehouseV1QAResultHighlight)
endIndexEnd index of the highlight, exclusive.GoogleCloudContentwarehouseV1QAResultHighlightA text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).integer
startIndexStart index of the highlight.GoogleCloudContentwarehouseV1QAResultHighlightA text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).integer
conditionCondition of the action to be executed.GoogleCloudContentwarehouseV1RemoveFromFolderActionRepresents the action responsible for remove a document from a specific folder.String
folderName of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1RemoveFromFolderActionRepresents the action responsible for remove a document from a specific folder.String
userInfoProvides user unique identification and groups information.GoogleCloudContentwarehouseV1RequestMetadataMeta information is used to improve the performance of the service.GoogleCloudContentwarehouseV1UserInfo
requestIdA unique id associated with this call. This id is logged for tracking purpose.GoogleCloudContentwarehouseV1ResponseMetadataAdditional information returned to client, such as debugging information.String
actionsList of actions that are executed when the rule is satisfied.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.list(GoogleCloudContentwarehouseV1Action)
conditionRepresents the conditional expression to be evaluated. Expression should evaluate to a boolean result. When the condition is true actions are executed. Example: user_role = “hsbc_role_1” AND doc.salary > 20000GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
descriptionShort description of the rule and its context.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
ruleIdID of the rule. It has to be unique across all the examples. This is managed internally.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
triggerTypeIdentifies the trigger type for running the policy.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
actionOutputsOutputs of executing the actions associated with the above rule.GoogleCloudContentwarehouseV1RuleActionsPairRepresents a rule and outputs of associated actions.list(GoogleCloudContentwarehouseV1ActionOutput)
ruleRepresents the rule.GoogleCloudContentwarehouseV1RuleActionsPairRepresents a rule and outputs of associated actions.GoogleCloudContentwarehouseV1Rule
actionExecutorOutputOutput from Action Executor containing rule and corresponding actions execution result.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.GoogleCloudContentwarehouseV1ActionExecutorOutput
documentNameName of the document against which the rules and actions were evaluated.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.String
ruleEvaluatorOutputOutput from Rule Evaluator containing matched, unmatched and invalid rules.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.GoogleCloudContentwarehouseV1RuleEvaluatorOutput
invalidRulesA subset of triggered rules that failed the validation check(s) after parsing.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1InvalidRule)
matchedRulesA subset of triggered rules that are evaluated true for a given request.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1Rule)
triggeredRulesList of rules fetched from database for the given request trigger type.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1Rule)
descriptionShort description of the rule-set.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
nameThe resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
rulesList of rules given by the customer.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.list(GoogleCloudContentwarehouseV1Rule)
sourceSource of the rules i.e., customer name.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
exportToCdwPipelineMetadataThe pipeline metadata for Export-to-CDW pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata
failedFileCountNumber of files that have failed at some point in the pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.integer
gcsIngestPipelineMetadataThe pipeline metadata for GcsIngest pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata
individualDocumentStatusesThe list of response details of each document.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.list(GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus)
processWithDocAiPipelineMetadataThe pipeline metadata for Process-with-DocAi pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata
totalFileCountNumber of files that were processed by the pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.integer
userInfoUser unique identification and groups information.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1UserInfo
docAiDatasetThe output CDW dataset resource name.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.String
documentsThe input list of all the resource names of the documents to be exported.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.list(String)
outputPathThe output Cloud Storage folder in this pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.String
inputPathThe input Cloud Storage folder in this pipeline. Format: `gs:///`.GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadataThe metadata message for GcsIngest pipeline.String
documentIdDocument identifier of an existing document.GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatusThe status of processing a document.String
statusThe status processing the document.GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatusThe status of processing a document.GoogleRpcStatus
documentsThe input list of all the resource names of the documents to be processed.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadataThe metadata message for Process-with-DocAi pipeline.list(String)
processorInfoThe DocAI processor to process the documents with.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadataThe metadata message for Process-with-DocAi pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
exportCdwPipelineExport docuemnts from Document Warehouse to CDW for training purpose.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1ExportToCdwPipeline
gcsIngestPipelineCloud Storage ingestion pipeline.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1GcsIngestPipeline
gcsIngestWithDocAiProcessorsPipelineUse DocAI processors to process documents in Cloud Storage and ingest them to Document Warehouse.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline
processWithDocAiPipelineUse a DocAI processor to process documents in Document Warehouse, and re-ingest the updated results into Document Warehouse.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1RequestMetadata
documentQueryQuery used to search against documents (keyword, filters, etc.).GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1DocumentQuery
histogramQueriesAn expression specifying a histogram request against matching documents. Expression syntax is an aggregation function call with histogram facets and other options. The following aggregation functions are supported: * `count(string_histogram_facet)`: Count the number of matching entities for each distinct attribute value. Data types: * Histogram facet (aka filterable properties): Facet names with format .. Facets will have the format of: `a-zA-Z`. If the facet is a child facet, then the parent hierarchy needs to be specified separated by dots in the prefix after the schema id. Thus, the format for a multi- level facet is: .. . Example: schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: (with no schema id prefix) to get histograms for each document type (returns the schema id path, e.g. projects/12345/locations/us-west/documentSchemas/abc123). Example expression: * Document type counts: count(‘DocumentSchemaId’) * For schema id, abc123, get the counts for MORTGAGE_TYPE: count(‘abc123.MORTGAGE_TYPE’)GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1HistogramQuery)
offsetAn integer that specifies the current offset (that is, starting result location, amongst the documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 means to return results starting from the first matching document, and 10 means to return from the 11th document. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
orderByThe criteria determining how search results are sorted. For non-empty query, default is `”relevance desc”`. For empty query, default is `”upload_date desc”`. Supported options are: * `”relevance desc”`: By relevance descending, as determined by the API algorithms. * `”upload_date desc”`: By upload date descending. * `”upload_date”`: By upload date ascending. * `”update_date desc”`: By last updated date descending. * `”update_date”`: By last updated date ascending. * `”retrieval_importance desc”`: By retrieval importance of properties descending. This feature is still under development, please do not use unless otherwise instructed to do so.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
pageSizeA limit on the number of documents returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
pageTokenThe token specifying the current offset within search results. See SearchDocumentsResponse.next_page_token for an explanation of how to obtain the next set of query results.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
qaSizeLimitExperimental, do not use. The limit on the number of documents returned for the question-answering feature. To enable the question-answering feature, set [DocumentQuery].is_nl_query to true.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
requestMetadataThe meta information collected about the end user, used to enforce access control and improve the search quality of the service.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1RequestMetadata
requireTotalSizeControls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size. Enabling this flag may adversely impact performance. Hint: If this is used with pagination, set this flag on the initial query but set this to false on subsequent page calls (keep the total count locally). Defaults to false.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.boolean
totalResultSizeControls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
histogramQueryResultsThe histogram results that match with the specified SearchDocumentsRequest.histogram_queries.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1HistogramQueryResult)
matchingDocumentsThe document entities that match the specified SearchDocumentsRequest.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument)
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1ResponseMetadata
nextPageTokenThe token that specifies the starting position of the next page of results. This field is empty if there are no more results.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.String
questionAnswerExperimental. Question answer from the query against the document.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.String
totalSizeThe total number of matched documents which is available only if the client set SearchDocumentsRequest.require_total_size to `true` or set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would handle this condition by displaying “of many”, for example: “Displaying 10 of many”.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.integer
documentDocument that matches the specified SearchDocumentsRequest. This document only contains indexed metadata information.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseGoogleCloudContentwarehouseV1Document
matchedTokenPageIndicesReturn the 1-based page indices where those pages have one or more matched tokens.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponselist(String)
qaResultExperimental. Additional result info if the question-answering feature is enabled.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseGoogleCloudContentwarehouseV1QAResult
searchTextSnippetContains snippets of text from the document full raw text that most closely match a search query’s keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags. If the question-answering feature is enabled, this field will instead contain a snippet that answers the user’s natural-language query. No HTML bold tags will be present, and highlights in the answer snippet can be found in QAResult.highlights.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseString
policyRequired. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR D) AND E”), a maximum of 10 comparisons are allowed in the expression. The expression must be < 6000 bytes in length. Sample condition: `"DocumentSchemaId = \\"some schema id\\" OR SchemaId.floatPropertyName >= 10″`GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.GoogleIamV1Policy
projectOwnerFor Set Project ACL only. Authorization check for end user will be ignored when project_owner=true.GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.boolean
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.GoogleCloudContentwarehouseV1RequestMetadata
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1SetAclResponseResponse message for DocumentService.SetAcl.GoogleCloudContentwarehouseV1ResponseMetadata
policyThe policy will be attached to a resource (e.g. projecct, document).GoogleCloudContentwarehouseV1SetAclResponseResponse message for DocumentService.SetAcl.GoogleIamV1Policy
contextThis is a freeform field. Example contexts can be “sales,” “engineering,” “real estate,” “accounting,” etc. The context can be supplied during search requests.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointString
nameThe resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointString
synonymsList of Synonyms for the context.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointlist(GoogleCloudContentwarehouseV1SynonymSetSynonym)
wordsFor example: sale, invoice, bill, orderGoogleCloudContentwarehouseV1SynonymSetSynonymRepresents a list of words given by the customer All these words are synonyms of each other.list(String)
valuesList of text values.GoogleCloudContentwarehouseV1TextArrayString/text values.list(String)
timeFieldSpecifies which time field to filter documents on. Defaults to TimeField.UPLOAD_TIME.GoogleCloudContentwarehouseV1TimeFilterFilter on create timestamp or update timestamp of documents.String
timeRangeGoogleCloudContentwarehouseV1TimeFilterFilter on create timestamp or update timestamp of documents.GoogleTypeInterval
valuesList of timestamp values.GoogleCloudContentwarehouseV1TimestampArrayTimestamp values.list(GoogleCloudContentwarehouseV1TimestampValue)
textValueThe string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. “2013-09-29T18:46:19Z”GoogleCloudContentwarehouseV1TimestampValueTimestamp value type.String
timestampValueTimestamp valueGoogleCloudContentwarehouseV1TimestampValueTimestamp value type.DateTime
cloudAiDocumentOptionRequest Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1CloudAIDocumentOption
documentRequired. The document to update.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1Document
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1RequestMetadata
updateOptionsOptions for the update operation.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1UpdateOptions
documentUpdated document after executing update request.GoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1Document
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1ResponseMetadata
ruleEngineOutputOutput from Rule Engine recording the rule evaluator and action executor’s output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.protoGoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1RuleEngineOutput
documentSchemaRequired. The document schema to update with.GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequestRequest message for DocumentSchemaService.UpdateDocumentSchema.GoogleCloudContentwarehouseV1DocumentSchema
mergeFieldsOptionsOptions for merging.GoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.GoogleCloudContentwarehouseV1MergeFieldsOptions
updateMaskField mask for merging Document fields. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskGoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.String
updateTypeType for update.GoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.String
ruleSetRequired. The rule set to update.GoogleCloudContentwarehouseV1UpdateRuleSetRequestRequest message for RuleSetService.UpdateRuleSet.GoogleCloudContentwarehouseV1RuleSet
groupIdsThe unique group identifications which the user is belong to. The format is “group:[email protected]”;GoogleCloudContentwarehouseV1UserInfoThe user information.list(String)
idA unique user identification string, as determined by the client. The maximum number of allowed characters is 255. Allowed characters include numbers 0 to 9, uppercase and lowercase letters, and restricted special symbols (:, @, +, -, _, ~) The format is “user:[email protected]”;GoogleCloudContentwarehouseV1UserInfoThe user information.String
booleanValueRepresents a boolean value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.boolean
datetimeValueRepresents a datetime value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleTypeDateTime
enumValueRepresents an enum value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleCloudContentwarehouseV1EnumValue
floatValueRepresents a float value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.number
intValueRepresents a integer value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.integer
stringValueRepresents a string value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.String
timestampValueRepresents a timestamp value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleCloudContentwarehouseV1TimestampValue
documentSchemaNameThe document schema name.GoogleCloudContentwarehouseV1WeightedSchemaPropertySpecifies the schema property name.String
propertyNamesThe property definition names in the schema.GoogleCloudContentwarehouseV1WeightedSchemaPropertySpecifies the schema property name.list(String)
formatFormat of a barcode. The supported formats are: – `CODE_128`: Code 128 type. – `CODE_39`: Code 39 type. – `CODE_93`: Code 93 type. – `CODABAR`: Codabar type. – `DATA_MATRIX`: 2D Data Matrix type. – `ITF`: ITF type. – `EAN_13`: EAN-13 type. – `EAN_8`: EAN-8 type. – `QR_CODE`: 2D QR code type. – `UPC_A`: UPC-A type. – `UPC_E`: UPC-E type. – `PDF417`: PDF417 type. – `AZTEC`: 2D Aztec code type. – `DATABAR`: GS1 DataBar code type.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
rawValueRaw value encoded in the barcode. For example: `’MEBKM:TITLE:Google;URL:https://www.google.com;;’`.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
valueFormatValue format describes the format of the value that a barcode encodes. The supported formats are: – `CONTACT_INFO`: Contact information. – `EMAIL`: Email address. – `ISBN`: ISBN identifier. – `PHONE`: Phone number. – `PRODUCT`: Product. – `SMS`: SMS message. – `TEXT`: Text string. – `URL`: URL address. – `WIFI`: Wifi information. – `GEO`: Geo-localization. – `CALENDAR_EVENT`: Calendar event. – `DRIVER_LICENSE`: Driver’s license.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
normalizedVerticesThe bounding polygon normalized vertices.GoogleCloudDocumentaiV1BoundingPolyA bounding polygon for the detected image annotation.list(GoogleCloudDocumentaiV1NormalizedVertex)
verticesThe bounding polygon vertices.GoogleCloudDocumentaiV1BoundingPolyA bounding polygon for the detected image annotation.list(GoogleCloudDocumentaiV1Vertex)
contentOptional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
entitiesA list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentEntity)
entityRelationsPlaceholder. Relationship among Document.entities.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentEntityRelation)
errorAny error that occurred while processing this document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.GoogleRpcStatus
mimeTypeAn IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
pagesVisual page layout for the Document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentPage)
revisionsPlaceholder. Revision history of this document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentRevision)
shardInfoInformation about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.GoogleCloudDocumentaiV1DocumentShardInfo
textOptional. UTF-8 encoded text in reading order from the document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
textChangesPlaceholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentTextChange)
textStylesStyles for the Document.text.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentStyle)
uriOptional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
confidenceOptional. Confidence of detected Schema entity. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.number
idOptional. Canonical id. This will be a unique value in the entity list for this document.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
mentionIdOptional. Deprecated. Use `id` field instead.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
mentionTextOptional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
normalizedValueOptional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentEntityNormalizedValue
pageAnchorOptional. Represents the provenance of this entity wrt. the location on the page where it was found.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentPageAnchor
propertiesOptional. Entities can be nested to form a hierarchical data structure representing the content in the document.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.list(GoogleCloudDocumentaiV1DocumentEntity)
provenanceOptional. The history of this annotation.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentProvenance
redactedOptional. Whether the entity will be redacted for de-identification purposes.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.boolean
textAnchorOptional. Provenance of the entity. Text anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentTextAnchor
typeRequired. Entity type from a schema e.g. `Address`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
addressValuePostal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypePostalAddress
booleanValueBoolean value. Can be used for entities with binary values, or for checkboxes.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.boolean
dateValueDate value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeDate
datetimeValueDateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeDateTime
floatValueFloat value.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.number
integerValueInteger value.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.integer
moneyValueMoney value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeMoney
textOptional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. – Money/Currency type (`money_value`) is in the ISO 4217 text format. – Date type (`date_value`) is in the ISO 8601 text format. – Datetime type (`datetime_value`) is in the ISO 8601 text format.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.String
objectIdObject entity id.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
relationRelationship description.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
subjectIdSubject entity id.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
blocksA list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageBlock)
detectedBarcodesA list of detected barcodes.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageDetectedBarcode)
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
dimensionPhysical dimension of the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageDimension
formFieldsA list of visually detected form fields on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageFormField)
imageRendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageImage
imageQualityScoresImage quality scores.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageImageQualityScores
layoutLayout for the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageLayout
linesA list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageLine)
pageNumber1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.GoogleCloudDocumentaiV1DocumentPageA page in a Document.integer
paragraphsA list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageParagraph)
provenanceThe history of this page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentProvenance
symbolsA list of visually detected symbols on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageSymbol)
tablesA list of visually detected tables on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageTable)
tokensA list of visually detected tokens on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageToken)
transformsTransformation matrices that were applied to the original document image to produce Page.image.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageMatrix)
visualElementsA list of detected non-text visual elements e.g. checkbox, signature etc. on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageVisualElement)
pageRefsOne or more references to visual page elementsGoogleCloudDocumentaiV1DocumentPageAnchorReferencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.list(GoogleCloudDocumentaiV1DocumentPageAnchorPageRef)
boundingPolyOptional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it’s referring to.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.GoogleCloudDocumentaiV1BoundingPoly
confidenceOptional. Confidence of detected page element, if applicable. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.number
layoutIdOptional. Deprecated. Use PageRef.bounding_poly instead.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
layoutTypeOptional. The type of the layout element that is being referenced if any.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
pageRequired. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Block.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentProvenance
barcodeDetailed barcode information of the DetectedBarcode.GoogleCloudDocumentaiV1DocumentPageDetectedBarcodeA detected barcode.GoogleCloudDocumentaiV1Barcode
layoutLayout for DetectedBarcode.GoogleCloudDocumentaiV1DocumentPageDetectedBarcodeA detected barcode.GoogleCloudDocumentaiV1DocumentPageLayout
confidenceConfidence of detected language. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageDetectedLanguageDetected language for a structural component.number
languageCodeThe [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.GoogleCloudDocumentaiV1DocumentPageDetectedLanguageDetected language for a structural component.String
heightPage height.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.number
unitDimension unit.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.String
widthPage width.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.number
correctedKeyTextCreated for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
correctedValueTextCreated for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
fieldNameLayout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentPageLayout
fieldValueLayout for the FormField value.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentPageLayout
nameDetectedLanguagesA list of detected languages for name together with confidence.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentProvenance
valueDetectedLanguagesA list of detected languages for value together with confidence.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
valueTypeIf the value is non-textual, this field represents the type. Current valid values are: – blank (this indicates the `field_value` is normal text) – `unfilled_checkbox` – `filled_checkbox`GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
contentRaw byte content of the image.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.String
heightHeight of the image in pixels.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.integer
mimeTypeEncoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.String
widthWidth of the image in pixels.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.integer
detectedDefectsA list of detected defects.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresImage quality scores for the page image.list(GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect)
qualityScoreThe overall quality score. Range `[0, 1]` where `1` is perfect quality.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresImage quality scores for the page image.number
confidenceConfidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefectImage Quality Defectsnumber
typeName of the defect type. Supported values are: – `quality/defect_blurry` – `quality/defect_noisy` – `quality/defect_dark` – `quality/defect_faint` – `quality/defect_text_too_small` – `quality/defect_document_cutoff` – `quality/defect_text_cutoff` – `quality/defect_glare`GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefectImage Quality DefectsString
boundingPolyThe bounding polygon for the Layout.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.GoogleCloudDocumentaiV1BoundingPoly
confidenceConfidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.number
orientationDetected orientation for the Layout.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.String
textAnchorText anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.GoogleCloudDocumentaiV1DocumentTextAnchor
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Line.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.GoogleCloudDocumentaiV1DocumentProvenance
colsNumber of columns in the matrix.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
dataThe matrix data.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.String
rowsNumber of rows in the matrix.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
typeThis encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.htmlGoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Paragraph.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentProvenance
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageSymbolA detected symbol.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Symbol.GoogleCloudDocumentaiV1DocumentPageSymbolA detected symbol.GoogleCloudDocumentaiV1DocumentPageLayout
bodyRowsBody rows of the table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageTableTableRow)
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
headerRowsHeader rows of the table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageTableTableRow)
layoutLayout for Table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.GoogleCloudDocumentaiV1DocumentProvenance
colSpanHow many columns this cell spans.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.integer
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for TableCell.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.GoogleCloudDocumentaiV1DocumentPageLayout
rowSpanHow many rows this cell spans.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.integer
cellsCells that make up this row.GoogleCloudDocumentaiV1DocumentPageTableTableRowA row of table cells.list(GoogleCloudDocumentaiV1DocumentPageTableTableCell)
detectedBreakDetected break at the end of a Token.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Token.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentProvenance
styleInfoText style attributes.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo
typeDetected break type.GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreakDetected break at the end of a Token.String
backgroundColorColor of the background.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.GoogleTypeColor
boldWhether the text is bold (equivalent to font_weight is at least `700`).GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
fontSizeFont size in points (`1` point is `¹⁄₇₂` inches).GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.integer
fontTypeName or style of the font.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.String
fontWeightTrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.integer
handwrittenWhether the text is handwritten.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
italicWhether the text is italic.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
letterSpacingLetter spacing in points.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.float
pixelFontSizeFont size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ `72.0`.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.float
smallcapsWhether the text is in small caps.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
strikeoutWhether the text is strikethrough.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
subscriptWhether the text is a subscript.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
superscriptWhether the text is a superscript.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
textColorColor of the text.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.GoogleTypeColor
underlinedWhether the text is underlined.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for VisualElement.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.GoogleCloudDocumentaiV1DocumentPageLayout
typeType of the VisualElement.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.String
idThe Id of this operation. Needs to be unique within the scope of the revision.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.integer
parentsReferences to the original elements that are replaced.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.list(GoogleCloudDocumentaiV1DocumentProvenanceParent)
revisionThe index of the revision that produced this element.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.integer
typeThe type of provenance operation.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.String
idThe id of the parent provenance.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
indexThe index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
revisionThe index of the index into current revision’s parent_ids list.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
agentIf the change was made by a person specify the name or id of that person.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
createTimeThe time that the revision was created, internally generated by doc proto storage at the time of create.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.DateTime
humanReviewHuman Review information of this revision.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.GoogleCloudDocumentaiV1DocumentRevisionHumanReview
idId of the revision, internally generated by doc proto storage. Unique within the context of the document.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
parentThe revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.list(integer)
parentIdsThe revisions that this revision is based on. Must include all the ids that have anything to do with this revision – eg. there are `provenance.parent.revision` fields that index into this field.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.list(String)
processorIf the annotation was made by processor identify the processor by its resource name.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
stateHuman review state. e.g. `requested`, `succeeded`, `rejected`.GoogleCloudDocumentaiV1DocumentRevisionHumanReviewHuman Review information of the document.String
stateMessageA message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.GoogleCloudDocumentaiV1DocumentRevisionHumanReviewHuman Review information of the document.String
shardCountTotal number of shards.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
shardIndexThe 0-based index of this shard.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
textOffsetThe index of the first character in Document.text in the overall document global text.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
backgroundColorText background color.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleTypeColor
colorText color.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleTypeColor
fontFamilyFont family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.aspGoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
fontSizeFont size.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleCloudDocumentaiV1DocumentStyleFontSize
fontWeight[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
textAnchorText anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleCloudDocumentaiV1DocumentTextAnchor
textDecoration[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
textStyle[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
sizeFont size for the text.GoogleCloudDocumentaiV1DocumentStyleFontSizeFont size with unit.number
unitUnit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).GoogleCloudDocumentaiV1DocumentStyleFontSizeFont size with unit.String
contentContains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.GoogleCloudDocumentaiV1DocumentTextAnchorText reference indexing into the Document.text.String
textSegmentsThe text segments from the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorText reference indexing into the Document.text.list(GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment)
endIndexTextSegment half open end UTF-8 char index in the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorTextSegmentA text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offsetString
startIndexTextSegment start UTF-8 char index in the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorTextSegmentA text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offsetString
changedTextThe text that replaces the text identified in the `text_anchor`.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.String
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.list(GoogleCloudDocumentaiV1DocumentProvenance)
textAnchorProvenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.GoogleCloudDocumentaiV1DocumentTextAnchor
xX coordinate.GoogleCloudDocumentaiV1NormalizedVertexA vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.number
yY coordinate (starts from the top of the image).GoogleCloudDocumentaiV1NormalizedVertexA vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.number
xX coordinate.GoogleCloudDocumentaiV1VertexA vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.integer
yY coordinate (starts from the top of the image).GoogleCloudDocumentaiV1VertexA vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.integer
auditLogConfigsThe configuration for logging of each type of permission.GoogleIamV1AuditConfigSpecifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { “audit_configs”: [ { “service”: “allServices”, “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” }, { “log_type”: “ADMIN_READ” } ] }, { “service”: “sampleservice.googleapis.com”, “audit_log_configs”: [ { “log_type”: “DATA_READ” }, { “log_type”: “DATA_WRITE”, “exempted_members”: [ “user:[email protected]” ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `[email protected]` from DATA_READ logging, and `[email protected]` from DATA_WRITE logging.list(GoogleIamV1AuditLogConfig)
serviceSpecifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.GoogleIamV1AuditConfigSpecifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { “audit_configs”: [ { “service”: “allServices”, “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” }, { “log_type”: “ADMIN_READ” } ] }, { “service”: “sampleservice.googleapis.com”, “audit_log_configs”: [ { “log_type”: “DATA_READ” }, { “log_type”: “DATA_WRITE”, “exempted_members”: [ “user:[email protected]” ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `[email protected]` from DATA_READ logging, and `[email protected]` from DATA_WRITE logging.String
exemptedMembersSpecifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.GoogleIamV1AuditLogConfigProvides the configuration for logging a type of permissions. Example: { “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” } ] } This enables ‘DATA_READ’ and ‘DATA_WRITE’ logging, while exempting [email protected] from DATA_READ logging.list(String)
logTypeThe log type that this config enables.GoogleIamV1AuditLogConfigProvides the configuration for logging a type of permissions. Example: { “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” } ] } This enables ‘DATA_READ’ and ‘DATA_WRITE’ logging, while exempting [email protected] from DATA_READ logging.String
conditionThe condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).GoogleIamV1BindingAssociates `members`, or principals, with a `role`.GoogleTypeExpr
membersSpecifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.GoogleIamV1BindingAssociates `members`, or principals, with a `role`.list(String)
roleRole that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).GoogleIamV1BindingAssociates `members`, or principals, with a `role`.String
auditConfigsSpecifies cloud audit logging configuration for this policy.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).list(GoogleIamV1AuditConfig)
bindingsAssociates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:[email protected]`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).list(GoogleIamV1Binding)
etag`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).String
versionSpecifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).integer
dayOfWeekDay of week, 0 for Sunday, 1 for Monday, …GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
periodEndMinutesPeriod end, in minutes from the start of the day, exclusive.GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
periodStartMinutesPeriod start, in minutes from the start of the day, inclusive.GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
eventSummaryThe summary of the corresponding event in Calendar.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).String
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
geoCoordinatesGeographic location as geo coordinates.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.GoogleTypeLatLng
labelThe custom location label as a string entered manually by the user.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.String
locationGeographic location as free-form text.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.String
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
eventSummaryThe summary of the corresponding event in Calendar.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.String
inMeetingsUntilThe time when the user will stop being in a meeting.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither InMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
timeZoneThe current time zone of the user. Represented as a valid time zone ID from Olson database, like “Europe/Zurich” (see http://google3/i18n/identifiers/data/timezones.txt).GoogleInternalAppsWaldoV1alphaLocalTimeContextContext which helps to determine the user’s local time.String
experimentalBuildingIdExperimental. Can change or disappear without warning or notice. References a building from http://google3/ccc/hosted/api/rosy/resources/calendar/building.proto For example “US-NYC-9TH”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
experimentalDeskIdExperimental. Can change or disappear without warning or notice. The desk id. For example “11E358K”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
experimentalFloorIdExperimental. Can change or disappear without warning or notice. The floor id. For example “11”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
labelThe display label of this office location. For example a building name.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
comeBackTimeThe closest time when the user will be available after this OOO block. This might be different from the end of the OOO block in Calendar, since the OOO block might end on Friday evening, and then the user is outside working hours.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.DateTime
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh). Note that if this OOO block is large (>=Xh), committed_until is not set.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.DateTime
eventSummaryThe summary of the corresponding OOO block in Calendar. This is entered by the user, so we return it “as is” – no i18n.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.String
comeBackTimeThe closest time when the user will be available after this block. This might be different from the start of the working hours in Calendar, because the given OutsideWorkingHours interval might be followed by OOO.GoogleInternalAppsWaldoV1alphaOutsideWorkingHoursThe status indicating the user doesn’t work at this time.DateTime
endTimeEnd point of the range, exclusive.GoogleInternalAppsWaldoV1alphaTimeRangeA time range, which includes the start and excludes the end.DateTime
startTimeStarting point of the range, inclusive.GoogleInternalAppsWaldoV1alphaTimeRangeA time range, which includes the start and excludes the end.DateTime
nextCommitmentStatusThe status of the commitment above.GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContextGoogleInternalAppsWaldoV1alphaUserStatus
nextCommitmentTimeThe most relevant upcoming commitment (InMeeting, DoNotDisturb, CalendarBusy or OutOfOffice). This context is set only if there is an upcoming commitment to show, and only on non commitments. Priority is given to the next closest commitment if its start is close enough to this event, otherwise the next large OOO if there is one.GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContextDateTime
timeRangeThe future period of absence. The start of this timerange is the start of the future Out of Office event. The end of this timerange represents the come back time of the user from that future OOO event. Note that the come back time might be different (greater) than the end of the corresponding future OOO event due to other non-working user status intervals that it may be followed by.GoogleInternalAppsWaldoV1alphaUpcomingOooContextThe context indicating the user’s upcoming Out of Office event.GoogleInternalAppsWaldoV1alphaTimeRange
availabilitiesA list of user availabilities having contiguous time ranges which are ordered chronologically. The first one starts at the time of the request or before, and is guaranteed to contain the request time. That means the first element always indicates the current status of a user. A client that wants to display a user’s availability in real time should display the availability whose time range contains the current time.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40list(GoogleInternalAppsWaldoV1alphaUserAvailability)
nextPollTimeThe time at which the client should issue the next availability query for this user. This field should only be used to control the polling frequency. This time is always before the end of the time range of the last availability so that the client always knows the current availability.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40DateTime
workingHoursInformation about the user’s working hours. This will only be set in case working hours are enabled in their calendar settings.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40GoogleInternalAppsWaldoV1alphaWorkingHours
contextsThe contexts contain additional information about the current user’s availability or its upcoming changes. The client doesn’t need to extract certain bits to visualize the status or apply custom logic based on the content of this field: the status field should contain everything needed for the correct visualization.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaUserContext
statusThe user status during the time range.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaUserStatus
timeRangeThe time range when this availability should be displayed.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaTimeRange
localTimeHelps to determine the user’s local time by providing their current time zone.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaLocalTimeContext
upcomingCommitmentContextInformation about upcoming events.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext
upcomingOooSet if user has upcoming OOO.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaUpcomingOooContext
workingElsewhereSet if the user has a working location. Not just elsewhere (legacy name).GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext
customLocationIndicates the user is working from some other location.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaCustomLocation
homeLocationIndicates the user is working from home.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaHomeLocation
officeLocationIndicates the user is working from the office.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaOfficeLocation
calendarBusySet if the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaCalendarBusy
doNotDisturbSet if the user is in a Focus Time block. Note that this is different than Chat’s Do not disturb status, but they may coincide, see: go/focus-time-dnd.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaDoNotDisturb
inMeetingSet if the user is in a meeting.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaInMeeting
inactiveSet if no other statuses apply.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaInactive
outOfOfficeSet if the user is out of office.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaOutOfOffice
outsideWorkingHoursSet if the user doesn’t work at this time.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaOutsideWorkingHours
locationThe new location of the user. Might represent home, office, or a custom address on the map.GoogleInternalAppsWaldoV1alphaWorkingElsewhereContextThe context providing the User Location (not just Elsewhere). This is a legacy name from when it was only set for users working remotely, now it is also set when the user is working from the office.GoogleInternalAppsWaldoV1alphaUserLocation
availableTimeA list of availability periods representing the user’s working hours as configured in calendar.GoogleInternalAppsWaldoV1alphaWorkingHoursInformation about the user’s working hours.list(GoogleInternalAppsWaldoV1alphaAvailabilityPeriod)
appapp is the tachyon client application that generated or is to receive a message.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
countryCodecountry_code is the E164_COUNTRY_CODE format country code for this id, used as a hint for its region. E.g, “+1” will be used for North America, “+86” will be used for China, etc. Should be filled only for RCS group id.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
idid is a unique (for this type and app) identifier of a message source or recipient.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
locationHintlocation_hint is used as a hint for the user’s region.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.GoogleInternalCommunicationsInstantmessagingV1LocationHint
routingInfoTokenRaw byte array containing encoded routing information. Clients of Tachyon are expected to include the most recent routing_info_cookie that they have received from the server in the requests that they make. Its format is purposely opaque so that clients do not need to concern themselves with the content of this field. This field is expected to be used primarily by Tachygram clients for go/tachygram-groups to simplify the API contract for group operations while reducing the need for unnecessary lookups.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
typetype defines what the id field contains, e.g. phone number, Fi-number, Gaia ID etc.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
formatthe format of location.GoogleInternalCommunicationsInstantmessagingV1LocationHintLocationHint is used to specify a location as well as format.String
locationLocation is the location, provided in the format specified by format.GoogleInternalCommunicationsInstantmessagingV1LocationHintLocationHint is used to specify a location as well as format.String
doneIf the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.boolean
errorThe error result of the operation in case of failure or cancellation.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.GoogleRpcStatus
metadataService-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.map
nameThe server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.String
responseThe normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.map
codeThe status code, which should be an enum value of google.rpc.Code.GoogleRpcStatusThe `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).integer
detailsA list of messages that carry the error details. There is a common set of message types for APIs to use.GoogleRpcStatusThe `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).list(map)
messageA developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.GoogleRpcStatusThe `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).String
alphaThe fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 – alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
blueThe amount of blue in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
greenThe amount of green in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
redThe amount of red in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
dayDay of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn’t significant.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
monthMonth of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
yearYear of the date. Must be from 1 to 9999, or 0 to specify a date without a year.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
dayOptional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
hoursOptional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value “24:00:00” for scenarios like business closing time.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
minutesOptional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
monthOptional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
nanosOptional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
secondsOptional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
timeZoneTime zone.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.GoogleTypeTimeZone
utcOffsetUTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.String
yearOptional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
descriptionOptional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
expressionTextual representation of an expression in Common Expression Language syntax.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
locationOptional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
titleOptional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
endTimeOptional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.GoogleTypeIntervalRepresents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.DateTime
startTimeOptional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.GoogleTypeIntervalRepresents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.DateTime
latitudeThe latitude in degrees. It must be in the range [-90.0, +90.0].GoogleTypeLatLngAn object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.float
longitudeThe longitude in degrees. It must be in the range [-180.0, +180.0].GoogleTypeLatLngAn object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.float
currencyCodeThe three-letter currency code defined in ISO 4217.GoogleTypeMoneyRepresents an amount of money with its currency type.String
nanosNumber of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.GoogleTypeMoneyRepresents an amount of money with its currency type.integer
unitsThe whole units of the amount. For example if `currencyCode` is `”USD”`, then 1 unit is one US dollar.GoogleTypeMoneyRepresents an amount of money with its currency type.String
addressLinesUnstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. “Austin, TX”), it is important that the line order is clear. The order of address lines should be “envelope order” for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. “ja” for large-to-small ordering and “ja-Latn” or “en” for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478list(String)
administrativeAreaOptional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. “Barcelona” and not “Catalonia”). Many countries don’t use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
languageCodeOptional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address’ country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: “zh-Hant”, “ja”, “ja-Latn”, “en”.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
localityOptional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
organizationOptional. The name of the organization at the address.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
postalCodeOptional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
recipientsOptional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain “care of” information.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478list(String)
regionCodeRequired. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: “CH” for Switzerland.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
revisionThe schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478integer
sortingCodeOptional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like “CEDEX”, optionally followed by a number (e.g. “CEDEX 7”), or just a number alone, representing the “sector code” (Jamaica), “delivery area indicator” (Malawi) or “post office indicator” (e.g. Côte d’Ivoire).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
sublocalityOptional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
hoursHours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value “24:00:00” for scenarios like business closing time.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
minutesMinutes of hour of day. Must be from 0 to 59.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
nanosFractions of seconds in nanoseconds. Must be from 0 to 999,999,999.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
secondsSeconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
idIANA Time Zone Database time zone, e.g. “America/New_York”.GoogleTypeTimeZoneRepresents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).String
versionOptional. IANA Time Zone Database version number, e.g. “2019a”.GoogleTypeTimeZoneRepresents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).String
AuthorIdGroupsPerDocDataString
GroupGaiaIdGroupsPerDocDataString
GroupIdLegacy group mysql id.GroupsPerDocDataString
ThreadIdGroupsPerDocDataString
agentDeviceIdThe device ID defined by the agent.HomeGraphCommonRouteString
agentIdThe agent’s ID. Generally it is the agent’s Google cloud project id.HomeGraphCommonRouteString
chipEndpointchip endpoint index (if the target is CHIP). Set packed = true to handle error caused by b/32953375 when exporting this data. Note that we should never change this to non-repeated: a packed field will not work properly if you change the field to non-repeated later.HomeGraphCommonRoutelist(integer)
targetTypeExecution routing target.HomeGraphCommonRouteString
supportedRoutesList of supported execution route.HomeGraphCommonRoutingTableDefines execution routing information for Traits, which will be used to be mapped for each Trait as following: map traits_to_routing_table_map = X; We’ll use this for CHIP first. And expect to migrate the existing routing logic to this gradually.list(HomeGraphCommonRoute)
cloudFulfillmentOnlySet to true for a non-local trait.HomeGraphCommonTraitRoutingHintsLINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.boolean
traitTrait name, e.g., “action.devices.traits.MediaInitiation”. See [device traits](https://developers.home.google.com/cloud-to-cloud/traits). See java/com/google/home/graph/common/devices/config/protoconf.pi for the exhaustive list of trait-strings.HomeGraphCommonTraitRoutingHintsLINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.String
nameHtmlrenderWebkitHeadlessProtoAnonTimingStatPairTimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.String
timeSHtmlrenderWebkitHeadlessProtoAnonTimingStatPairTimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.float
heightHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
widthHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
xon horizontal axisHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
yon vertical axisHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
chromiumTracePopulated if Chromium traces are requested in JSON format.HtmlrenderWebkitHeadlessProtoChromiumTraceA message to describe the trace events returned by Chromium.String
chromiumTraceProtoPopulated if Chromium traces are requested in PROTO format.HtmlrenderWebkitHeadlessProtoChromiumTraceA message to describe the trace events returned by Chromium.String
lineNumberLine number of the document which caused an error.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.integer
messageMessage which indicates the nature of the error. e.g. parse error, reference error (happens when javascript functions or variables are not resolvable) etc.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
messageLevelmessage levelHtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
sourceUrlThe url of the document which has the error.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
stackTraceStack trace which functions were called when generating the console log. The first frame is the innermost one.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.list(HtmlrenderWebkitHeadlessProtoScriptStackFrame)
timestampWall time (s) when the log entry was recordedHtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.float
domainHtmlrenderWebkitHeadlessProtoCookieString
expirationHtmlrenderWebkitHeadlessProtoCookiefloat
httpOnlyHtmlrenderWebkitHeadlessProtoCookieboolean
nameHtmlrenderWebkitHeadlessProtoCookieString
pathHtmlrenderWebkitHeadlessProtoCookieString
sameSiteHtmlrenderWebkitHeadlessProtoCookieString
secureHtmlrenderWebkitHeadlessProtoCookieboolean
valueHtmlrenderWebkitHeadlessProtoCookieString
baseUriDocument’s base uri.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
charsetDocument’s charset.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
contentHeightHtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
contentLanguageDocument’s language.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
contentWidthThese fields contain the actual width and height of the document content, which may exceed the size of the rendering viewport. *DEPRECATED* Use rendered_content_area instead. These two fields always assume the content area begins at viewport coordinates (0,0).HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
domTreeNodeA flat list of all the DOMTreeNodes in the DOM. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the root node.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoDOMTreeNode)
frameIdA unique identifier for the frame (browser window of iframe) this document is loaded in. This identifier matches the identifiers used in the timeline data to identify frames and therefore only set if the record_timeline field of the RenderRequest message was set to true. frame_id is not supported on Chromium.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
frameNameThe name of the frame (browser window of iframe) this document is loaded in. May not be set if the frame name was empty.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
javascriptTimeOfDay————————————————————————– Input context. These fields are copied from RenderRequest so that Document can be a self contained protobuf. We would’ve liked to place them in a ## nested InputContext message but it’s too late now. ## Time specified to RenderRequest.JavaScriptOptions.time_of_day, if any. ## End of input context. Output-only fields below.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
redirectHopThe chain of redirects (and redirect methods) used to get to the final resource for this Document. Deprecated: Use the redirect events in the render_event field instead.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRedirectHop)
referencedResourceContains a list of Resources which the renderer requested — both those that were found and those that were not. Resources are returned in the order that they were requested.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoReferencedResource)
renderEventDifferent types of events which happened during rendering. All events for this document’s frame are included, so for example if a confirmation dialog is created before a client redirect to this document the ConfirmationDialogEvent will still be included even though the dialog was created by a different document. See render_event.proto for the types of events which are recorded. Note that this is present regardless of whether record_timeline was set in the RenderRequest.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRenderEvent)
renderStyleSee htmlrender_webkit_headless_utils::SerializeRenderStyle() if a serialized css string is wanted.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoStyle)
renderTreeNodeA flat list of all the RenderTreeNodes from the render tree. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the RenderTreeNode for the #document node (aka root).HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRenderTreeNode)
renderTreeQualityScoreDEPRECATED – This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendering is from the perspective of the render tree. This is different from snapshot_quality_score in that the quality analysis examines everything that can be rendered, not just the portion within the document’s viewport. It also ignores missing resouces with fixed width/height specified in the tag. A score of 1 (100%) implies the entire document can be rendered at the best quality and a score of 0 implies the entire document is unusable.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
renderedContentAreaThe bounding box which represents the whole area of rendered content, which may exceed the size of the rendering viewport. It doesn’t include the body’s margin.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24HtmlrenderWebkitHeadlessProtoBox
scrollXScroll offset of this document within the frame. Note that if expand_frame_to_content_height or expand_frame_to_content_width is true, this field reflects the final scroll offset after frame expansion.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
scrollYHtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
snapshotQualityScoreDEPRECATED – This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendered snapshot is within the rendered content area within the document’s viewport. A score of 1 (100%) implies the snapshot is of best quality and a score of 0 implies the snapshot is unusable.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
titleDocument’s title.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
uriDocument uri is the URL that this document was fetched from. The displayed URL and base URL may be different. If this document was not fetched from any URL (e.g. iframe with no src, populated by script) uri will be “about:blank”.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
viewportThe page’s layout size.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24HtmlrenderWebkitHeadlessProtoBox
keyHtmlrenderWebkitHeadlessProtoDOMStorageItemString
securityOriginHtmlrenderWebkitHeadlessProtoDOMStorageItemString
valueHtmlrenderWebkitHeadlessProtoDOMStorageItemString
attributeHtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute)
childDomTreeNodeIndexAn index per child. Indexes can be used to fetch the DOMTreeNodes from the list maintained by the Document.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
currentSourceUrlFor elements, the actual url that was used to fetch the image. Note that this field is set only if it is different from the ‘src’ attribute value.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
documentIf the node represents an iframe or a frame then document will be set.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16HtmlrenderWebkitHeadlessProtoDocument
htmlTagTypeIdentifies the HTML tag type (IMG, P, DIV, etc). Applicable only for DOM nodes that are representative of html elements. For a list of possible types refer HtmlTagEnum defined in webutil/html/htmltagenum.h.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16integer
isClickableWhether this DOM node responds to mouse clicks. This includes e.g. nodes that have had click event listeners attached via JavaScript as well as e.g. anchor tags that naturally navigate when clicked.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16boolean
nameName of the node (document, text, comment, div, etc).HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
originUrlURL of the script, if any, which created or populated this node.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
referencedResourceIndexList of referenced resource indexes for any resources that this DOM tree node references.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
renderTreeNodeIndexRenderTreeNode can be looked up from the list of RenderTreeNodes stored in the Document using render_tree_node_index. RenderTreeNode gives rendering information (bounding box, style that was applied, etc). Note: 1. If a DOMTreeNode does not have a RenderTreeNode then it is safe to assume that the DOMTreeNode has no effect on the rendering. DOMTreeNodes for a ,HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
typeHtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
valueThe node value is applicable for TEXT_NODEs, DOCUMENT_TYPE_NODEs, COMMENT_NODEs, and user input elements such as , and HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
htmlAttributeTypeIdentifies the HTML attribute type (src, width, height, etc). For a list of possible types refer HtmlAttributeEnum defined in webutil/html/htmlattrenum.h.HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.integer
nameHtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.String
valueHtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.String
resizeTypeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.String
visibleRectAfterResizeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.HtmlrenderWebkitHeadlessProtoBox
visibleRectBeforeResizeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.HtmlrenderWebkitHeadlessProtoBox
dataThe binary image data, stored in a format decided by the application and a particular RenderService implementation.HtmlrenderWebkitHeadlessProtoImageString
heightHtmlrenderWebkitHeadlessProtoImageinteger
pageNumberThe page number if this is an image of a page from a print-mode rendering.HtmlrenderWebkitHeadlessProtoImageinteger
viewportThe viewport from which this image was generated. This is relative to the upper left of the page’s document.HtmlrenderWebkitHeadlessProtoImageHtmlrenderWebkitHeadlessProtoBox
widthThe width and height of the image stored in the data field.HtmlrenderWebkitHeadlessProtoImageinteger
urlHtmlrenderWebkitHeadlessProtoInitialLoadEventEvent for the initial load of a frame, including main frame and subframes.String
confirmedWhether a confirm() or prompt() dialog was confirmed. Will not be present for an alert() dialog.HtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().boolean
messageHtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
resultFor a prompt() dialog, the result of the prompt. Will not be present for other types of dialogs. If confirmed == false and the prompt had a default value, result will contain the default value.HtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
typeHtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
unitHtmlrenderWebkitHeadlessProtoOffsetString
valueHtmlrenderWebkitHeadlessProtoOffsetinteger
cookieCookies at the time of snapshot creation.HtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.list(HtmlrenderWebkitHeadlessProtoCookie)
currentClientUrlCurrent url as would appear in the web browser’s address bar at the time of snapshot creation.HtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.String
documentSnapshot of the document DOM + Render trees, if requestedHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.HtmlrenderWebkitHeadlessProtoDocument
idID set by the render extensionHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.String
imageImage of the render, if requestedHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.HtmlrenderWebkitHeadlessProtoImage
dataThe binary PDF data.HtmlrenderWebkitHeadlessProtoPdfString
bottomHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
leftHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
rightHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
topA missing value for any field in this message means ‘auto’.HtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
httpMethodThe HTTP method of the request for the redirect target.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
httpStatusCodeFor HTTP redirects, the HTTP status code returned in the initial HTTP response.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.integer
refreshTypeHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
targetContentDownloadedTrue if the redirect led to a download instead of loading a new page. Note that such redirects can appear anywhere in the list of redirect events.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.boolean
targetUrlHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
typeHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
typeHtmlrenderWebkitHeadlessProtoRedirectHopString
urlThe redirect target url.HtmlrenderWebkitHeadlessProtoRedirectHopString
canceledTrue if this fetch was canceled due to render server policy. e.g. the page exceeded the fetch budget or an extension canceled the fetch.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
contentTypeContent type of this resource (webutil/http/content-type.h). The content type is from guess based on the file extension, any mime type in http headers at the beginning of the content, any content-disposition http header, and the content body itself. Note: the content type defined in webutil/http/content-type.proto is incomplete. If you are interested in missing types, please update the enum and the logic of content type detection.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
domTreeNodeIndexDOMTreeNode index which has the url as one of its attributes specified using either src, href or background attributes. src attribute applies to img, script, frame and iframe nodes, href applies to link nodes and background applies to body node. It is possible for a url to be referenced by multiple DOM nodes. For e.g. an tag with the same src attribute can occur in multiple places within a document. It is possible for a url to not have any DOM node reference. For example, redirects don’t have DOM tree nodes.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(integer)
failedHttpAccessControlCheckTrue when a HTTP request succeeded but the resource was not made accessible to script due to a HTTP Access Control (CORS) failure. This field is not implemented on Chromium.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
fetchSourceInfoWhere this resource comes from.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(WirelessTranscoderFetchFetchSourceInfo)
fetchStatusThe FetchStatus returned by the fetcher. Values are taken from wireless_transcoder_fetch.FetchConstants.FetchStatus in fetch_service.proto. The default value is SUCCESS(0).HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
httpHeaderHTTP headers from the fetcher.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader)
httpResponseCodeHTTP response code if we had tried to fetch the url. Absence of this field indicates either we have not tried to fetch the url or the fetcher never got back to us with any response.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
metadataHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(WirelessTranscoderFetchFetchMetadata)
postDataThe post_data field is only valid when the HTTP request method is POST.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
redirectTargetIf the http_response_code is a HTTP redirect, the redirect target will be stored here.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
referencedResourceContentIndexIndicates which referenced_resource_content (in RenderResponse) this RefencedResource points to. This field will be set only when there is referenced_resource_content for this RefencedResource in RenderResponse.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
requestHeaderOnly necessary headers are recorded. See google3/htmlrender/webkit_headless/resource_key.ccHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader)
requestMethodThe HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. HTTPHeaders::PROTO_GETHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
styleIndexstyle index which has the url specified using either the background-image property or the list-style-image property.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(integer)
synchronouslyFetchedWhether it is synchronously fetched.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
timingHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTiming)
urlDoes not have a #fragment.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
webkitMetadataAdditional information webkit about this resource. e.g. intended usageHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata
finishMsecHtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
nameA string identifying the fetcher that added this timing information.HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
startMsecUNIX epoch timestamps in milliseconds.HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
nameHtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeaderHTTP Headers included with the resource request.String
valueHtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeaderHTTP Headers included with the resource request.String
frameResizeHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoFrameResizeEvent
initialLoadHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoInitialLoadEvent
modalDialogHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoModalDialogEvent
redirectHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoRedirectEvent
scriptOriginUrlThe URL of the script which caused this event, if any. Analogous to origin_url in DOMTreeNode.HtmlrenderWebkitHeadlessProtoRenderEventString
virtualTimeOffsetVirtual time of the event, as an offset from the beginning of the render in seconds.HtmlrenderWebkitHeadlessProtoRenderEventfloat
windowOpenHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoWindowOpenEvent
consoleLogEntryLog messages and errors generated by extension script.HtmlrenderWebkitHeadlessProtoRenderExtensionResultResults returned by a render server extension. Next id: 3list(HtmlrenderWebkitHeadlessProtoConsoleLogEntry)
resultHtmlrenderWebkitHeadlessProtoRenderExtensionResultResults returned by a render server extension. Next id: 3String
chromiumTraceContains chromium trace generated during page rendering. This is present if a chromium_trace_config was provided in the request.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoChromiumTrace
cookieContents of the browser’s cookie jar. (if cookies_enabled was set to true in the RenderRequest).HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoCookie)
documentContains the DOM tree, render tree and more. For details consult document.proto.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoDocument
exceptionDetailProvides extra debugging details when certain exception bits are set.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
exceptionsExceptions (possibly serious conditions) that occurred during this rendering. 0 means none. Bitfield encoding. See the RenderingException enum above for an explanation.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
extensionResultRender extension results (if `devtools_script` was provided with the request.)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoRenderExtensionResult
finalClientUrlThis field contains the final url as would appear in the web browser’s address bar. Note that JavaScript can modify the contents of the location bar so this URL may not appear on the list of referenced resources. If we fail to follow a redirect this field will contain the URL that we failed to redirect to, not the last one we successfully loaded.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
imageContains the viewport images rendered by webkit (if generate_image was set to true in the RenderRequest). Will also contain the print-mode images (if generate_print_mode_images was set to true).HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoImage)
localStorageContents of the browser’s local storage.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoDOMStorageItem)
partialRenderPartial render snapshots (if requested by a render extension)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoPartialRender)
pdfContains the PDF document (if generate_pdf was set to true in the RenderRequest)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoPdf
referencedResourceContentContents for all the urls fetched by the render server. This field is present only if generate_referenced_resource_content was set to true in the RenderRequest.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoResource)
renderStatsTime to render the url, total size of a document, number of referenced images, etc will be part of RenderStats.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoRenderStats
sessionStorageContents of the browser’s session storage.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoDOMStorageItem)
titleContains the page title produced by webkit, in the UTF-8 encoding.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
anonRenderFineTimingStatsDeliberately non-named fine timing stats. These are all related to each other and unrelated to other timing stats in this message.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoAnonTimingStatPair)
consoleLogEntryAny messages logged by the renderer to the console. Note that we capture a subset of the messages logged by the renderer here to avoid explosion.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoConsoleLogEntry)
counterHtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoRenderStatsCounter)
documentBuildTimeMsecTime to build document and render tree response data.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
droppedLogEntryCountNumber of dropped log messages. Since we capture only a subset of the messages in console_log_entry this field is included just so that the consumers can get an idea of how many actual attempts were made by the renderer.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
imageEncodingTimeMsecImage encoding (e.g. raw -> PNG) time.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
imageScalingTimeMsecImage scaling time.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
layoutTimeMsecTime from starting render to document finished loading. This includes all fetches, parsing, decoding, running JavaScript, etc.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
paintTimeMsecTime required to paint a document into our buffer.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderCostMgcuTotal cost this render spent running and RPC cost in milliGCUs.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderEngineRender engine used to render this document.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.String
renderRunningTimeMsecTotal CPU time this render spent running in milliseconds.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderServerBaselineClThe CL from which the render engine was built.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.String
renderTimeMsecTotal wall time taken to render a document in milliseconds.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
sandboxRenderTimeMsecTotal time spent in the sandbox in milliseconds. This time includes all phases measured individually below.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
countHtmlrenderWebkitHeadlessProtoRenderStatsCounterRender event counters.String
nameBy convention, counters may contain a “.” which we use to separate a metric name from a counter name in streamz.HtmlrenderWebkitHeadlessProtoRenderStatsCounterRender event counters.String
boxBox is set for render blocks ( , , etc). Box for any RenderTreeNode can be found either in the RenderTreeNode itself or by traversing up the ancestors until a RenderTreeNode with a Box is found.HtmlrenderWebkitHeadlessProtoRenderTreeNodeHtmlrenderWebkitHeadlessProtoBox
childRenderTreeNodeIndexchild_render_tree_node_index is an index into the list of RenderTreeNodes stored in the Document. *** WARNING ***: Don’t use this field. Applications should not rely on the structure of the render tree. This is an internal browser implementation detail and it changes from time to time. Generally, applications should obtain rendering information by starting with the relevant DOMTreeNode and following pointers from there to the relevant RenderTreeNodes.HtmlrenderWebkitHeadlessProtoRenderTreeNodelist(integer)
domTreeNodeIndexIndex of the DOMTreeNode for which this RenderTreeNode is applicable. This index can be used to lookup a DOMTreeNode from list of DOMTreeNodes stored in the Document.HtmlrenderWebkitHeadlessProtoRenderTreeNodeinteger
inlineTextBoxHtmlrenderWebkitHeadlessProtoRenderTreeNodelist(HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox)
renderedTextThe actual text that was rendered. This is applicable only for text nodes.HtmlrenderWebkitHeadlessProtoRenderTreeNodeString
styleIndexStyle index is set for rendered nodes (text nodes, image nodes, widgets, etc). The style_index can be used to lookup the style from the list of styles stored in the Document.HtmlrenderWebkitHeadlessProtoRenderTreeNodeinteger
boxHtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBoxFor text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.HtmlrenderWebkitHeadlessProtoBox
renderedTextHtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBoxFor text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.String
contentcontent contains a complete HTTP response message including the HTTP status line, headers and body. For example: HTTP/1.1 200 OK\\r\\n Content-Type: text/html\\r\\n \\r\\n … content … For inputs (RenderRequest.resource): Any HTTP content encoding (e.g. gzip) and transfer encoding (e.g. chunked) MUST be decoded. HTTP content and transfer encoding headers will be ignored if present. For outputs (RenderResponse.referenced_resource_content): The body will be decoded (no content or transfer encoding) however any content or transfer encoding headers present in the original fetch response will be passed through. Decoding this field requires a correct text encoding. The charset field of Document proto can be a good guess but is not guaranteed to be correct.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
fetchSourceInfoWhere this resource comes from.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(WirelessTranscoderFetchFetchSourceInfo)
finalContentUrlThe url that contributes the final content. Only existed when metadata contains FetchReplyData.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
metadataHtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(WirelessTranscoderFetchFetchMetadata)
methodThe HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. If it’s not set, we will infer GET or POST based on the presence of post_data.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.integer
postDataHtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
requestHeaderOnly necessary headers are included in the resource key by default. See google3/htmlrender/webkit_headless/resource_key.ccHtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(HtmlrenderWebkitHeadlessProtoResourceHttpHeader)
urlHtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
nameHtmlrenderWebkitHeadlessProtoResourceHttpHeaderString
valueHtmlrenderWebkitHeadlessProtoResourceHttpHeaderString
columnNumberThe current column number for the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.integer
functionNameThe function name of the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.String
lineNumberThe current line number for the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.integer
urlThe URL of the script being executed.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.String
marginTopMarginHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
marginLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
listStyleTypeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
referencedResourceIndexList of referenced resource indexes for any resources that this style references. (e.g. background images.) (see document.proto)HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:list(integer)
borderPixelWidthLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
displayHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderPixelWidthBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
textAlignHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
fontSizeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
borderColorArgbTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundImageYPosHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
fontFamily`font_family` is the `font-family` computed style, not necessarily the actual font. https://developer.mozilla.org/en-US/docs/Web/CSS/font-family. Note that it may contain multiple font families, not just one.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
overflowXHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderColorArgbLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
textShadowColorArgbHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundGradientRepeatHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:boolean
foregroundColorArgbForeground color encoded as ARGBHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
borderPixelWidthRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
positionHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderStyleLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderPixelWidthTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundSizeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundImageUrlThe url of the background image in the first layer.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
clipDefault value for clip is “auto”, which is represented here as !has_clip().HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoRectangle
fontWeightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundGradientColorStopArgbHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:list(integer)
backgroundSizeWidthOnly present (but may be missing) if background_size == SIZE_LENGTH.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
paddingTopPaddingHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
visibilityHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
textDecorationHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
marginBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
marginRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderStyleRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundAttachmentHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
overflowYHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
directionHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderStyleBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderColorArgbBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
paddingLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
hasBackgroundStarting from Chromium, has_background is set when there is a non-empty specification for background_image, whether it be a url, gradient or other cases, such as cross-fade. Besides setting this field, We additionally parse url and gradient cases and populate some of the following background fields.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:boolean
backgroundImageXPosBackground image position (x, y).HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderStyleTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundSizeHeightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
backgroundColorArgbBackground color encoded as ARGBHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
paddingRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderColorArgbRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
listStyleImageUrlHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundGradientTypeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundImageRepeatHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
opacityHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:number
fontStyleHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
paddingBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
zIndexDefault value for z-index is “auto” which means “inherit from parent”.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
devtoolsFrameIdChromium DevTools frame ID of the frame that initiated this fetch. Only populated in the streaming render service with FETCH_MODE_CLIENT.HtmlrenderWebkitHeadlessProtoWebKitFetchMetadataWebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.String
targetTypeHtmlrenderWebkitHeadlessProtoWebKitFetchMetadataWebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.String
allowedWhether or not the window was allowed to be opened by the popup blocker. Unless user events are created with a render extension this should be false.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.boolean
urlThe URL for the new window. Note that this is the URL after it has been processed by WebKit, so, for example, relative links passed to window.create() will have been made absolute.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
windowFeaturesWindow features passed to window.open().HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
windowNameWindow name passed to window.open(). If no name is provided this defaults to “_blank”.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
countryCodeThe country calling code for this number, as defined by the International Telecommunication Union (ITU). For example, this would be 1 for NANPA countries, and 33 for France.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.integer
countryCodeSourceThe source from which the country_code is derived.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
extensionExtension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the possible use of a leading zero in the extension (organizations have complete freedom to do so, as there is no standard defined). Other than digits, some other dialling characters such as “,” (indicating a wait) may be stored here.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
italianLeadingZeroIn some countries, the national (significant) number starts with one or more “0”s without this being a national prefix or trunk code of some kind. For example, the leading zero in the national (significant) number of an Italian phone number indicates the number is a fixed-line number. There have been plans to migrate fixed-line numbers to start with the digit two since December 2000, but it has not happened yet. See http://en.wikipedia.org/wiki/%2B39 for more details. These fields can be safely ignored (there is no need to set them) for most countries. Some limited number of countries behave like Italy – for these cases, if the leading zero(s) of a number would be retained even when dialling internationally, set this flag to true, and also set the number of leading zeros. Clients who use the parsing or conversion functionality of the i18n phone number libraries (go/phonenumbers) will have these fields set if necessary automatically.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.boolean
nationalNumberThe National (significant) Number, as defined in International Telecommunication Union (ITU) Recommendation E.164, without any leading zero. The leading-zero is stored separately if required, since this is an uint64 and hence cannot store such information. Do not use this field directly: if you want the national significant number, call the getNationalSignificantNumber method of PhoneNumberUtil. For countries which have the concept of an “area code” or “national destination code”, this is included in the National (significant) Number. Although the ITU says the maximum length should be 15, we have found longer numbers in some countries e.g. Germany. Note that the National (significant) Number does not contain the National (trunk) prefix. Obviously, as a uint64, it will never contain any formatting (hyphens, spaces, parentheses), nor any alphanumeric spellings.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
numberOfLeadingZerosFull description of this field in the comment for italian_leading_zero since this field will only be set when italian_leading_zero is true.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.integer
preferredDomesticCarrierCodeThe carrier selection code that is preferred when calling this phone number domestically. This also includes codes that need to be dialed in some countries when calling from landlines to mobiles or vice versa. For example, in Columbia, a “3” needs to be dialed before the phone number itself when calling from a mobile phone to a domestic landline phone and vice versa. Note this is the “preferred” code, which means other codes may work as well.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
rawInputThis field is used to store the raw input string containing phone numbers before it was canonicalized by the library. For example, it could be used to store alphanumerical numbers such as “1-800-GOOG-411”.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
byteSizethe size of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
cropsSmartCrop crop-hints By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16ContentAwareCropsIndexing
deepCropDeepCrop crop-hints. Usage in thumbnails could be deprecated in favor or deep_crop_pixels (below). By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16DeepCropIndexing
deepCropPixelsDeepCrop signal in pixels, equivalent to deep_crop (above) but with pixels instead of percentages. By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16DeepCropPixels
docidthe Amarna docid of the thumbnailImageBaseThumbnailMetadataNext ID: 16String
encryptedDocidencrypted version of docidImageBaseThumbnailMetadataNext ID: 16String
expirationTimestampMicrosexpiration timestamp of thumbnailImageBaseThumbnailMetadataNext ID: 16String
fprintthe fprint of the thumbnailImageBaseThumbnailMetadataNext ID: 16String
heightthe height of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
mimeTypeThe mime_type of the thumbnail (“image/jpeg”, “image/png”, etc.).ImageBaseThumbnailMetadataNext ID: 16String
originalHeightImageBaseThumbnailMetadataNext ID: 16integer
originalWidthNot populated by Amarna/image pipelines, ever. This was apparently introduced by a customer that wished to extend ThumbnailMetadata with this custom data.ImageBaseThumbnailMetadataNext ID: 16integer
typeImageBaseThumbnailMetadataNext ID: 16String
widththe width of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
byteSizeSize of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
docid64 bit docid of the original video.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
durationTODO (yzliu): consider using duration_ms as field name since it is number of milliseconds. Duration of the preview in ms.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
expirationTimestampMicrosExpiration timestamp of preview in microseconds since epoch.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
fprintLINT.ThenChange(//depot/google3/video/crawl/indexing/signal_combiner.cc:video_preview) Fingerprint of the preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
heightHeight of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
mimeTypeMime type of the preview (“video/mp4”).ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
stateIndicates the state in Venom for this preview type.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
timestampTimestamp of start of preview in ms.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
typeLINT.IfChangeImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
videoSegmentEndUsThe end timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
videoSegmentStartUsThe start timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
widthWidth of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
starburstRepeated so that multiple versions can exist in prod simultaneously.ImageContentFlowProtoProdThe subset of FlowProto that we want to go into production AND be stored in ContentSignals.list(ImageContentStarburstVersionGroup)
queryboostImageContentQueryBoostImage content based multipliers. Current usage is in the pamir_section.list(ImageContentQueryBoostQueryBoost)
boostScore multiplier (fully normalized 1 is nop).ImageContentQueryBoostQueryBoostnumber
queryCanonicalized query string.ImageContentQueryBoostQueryBoostString
descriptorFloatRaw dense float feature vector.ImageContentStarburstVersionGrouplist(number)
descriptorFloatBeforeProjectionRaw dense float feature vector prior to embedding. Only for Starburst V6.ImageContentStarburstVersionGrouplist(number)
descriptorShortShort descriptor for image content features, e.g. compressed bytes. This is the compressed version of descriptor_float below. It can be can be decompressed to descriptor_float with a tiny bit of compression error (in most cases it should be totally fine).ImageContentStarburstVersionGroupString
enumVersionImageContentStarburstVersionGroupString
minorVersionImageContentStarburstVersionGroupString
starburstTokensStarburst tokens.ImageContentStarburstVersionGrouplist(integer)
starburstTokensDistancesSquared distance of the current embedding to each cluster center. Elements are aligned with starburst_tokens.ImageContentStarburstVersionGrouplist(number)
versionThe following integers are currently used: Starburst V1: 1 Starburst V2: 2 Starburst V3: 3 Starburst V4: 4 Starburst Visual V4: 1004 This field is deprecated. Please try to use the ‘enum_version’ in future.ImageContentStarburstVersionGroupinteger
expirationTimestampThe thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
h2cImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
corpusSelectionInfoCorpus scoring info for images indexed through Amarna.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(CorpusSelectionInfo)
isUnwantedContentField to indicate the image is unwanted for search index. The data is propagated from amarna to alexandria to be annotated in the cdoc. Refer to image/repository/proto/unwanted_content.proto for more info.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
colorScoreColorness scores for the image. Each score represents the amount of a particular color in the image. At the current time, there are 12 colors, so there should always be 0 or 12 values in this array. The 12 colors are black, blue, brown, gray, green, orange, pink, purple, red, teal, white, yellow. The convention is that the scores are stored in alphabetical order, so the first score is black, and the last score is yellow.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(number)
isIndexedByImagesearchIf this image was not selected for indexing by imagesearch, these fields say so and explain why.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
thumbHeightImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lastCrawlTimeMost recent timestamp in seconds when this URL was crawled.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nearDupFeaturesVersionImage content derived data used for finding image near dups. NOTE: This hash is generated by V1 hash computation.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
clipartDetectorScoreImage content based classifier scores.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
thumbnailImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(ImageDataThumbnail)
colorScoreVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
contentFirstCrawlTimeEarliest known crawl time among all neardups of this image (go/imagecontentage).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lineartDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
embeddedMetadatathe EXIF/IPTC metadataImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageExifImageEmbeddedMetadata
widthImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageContentQueryBoostImage Content Scored per query boosts. Currently this is filled by the pamir algorithm and populates the pamir_section.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageContentQueryBoost
shoppingProductInformationThe Shoppable Images product information to be annotated in the Cdoc. All fields will be populated except the product location bounding box.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryShoppingProductInformation
heightHeightImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageLicenseInfoIndicates license info of this image, which will tell image search users how to use this image legally.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageSearchImageLicenseInfo
extendedExifThe EXIF generated by photos backend team’s (more specifically FIFE’s) thumbnailer library. This exif model is more comprehensive since a dedicated team is constantly improving it and adding new fields over time. This is currently populated by moonshine for selected corpora.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PhotosImageMetadata
nimaVqProductionized Nima VQ score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryNimaOutput
imagerankImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageQualityClickSignalsClick signals for measuring image quality (e.g., usefulness, presentation, appealingness, and engagingness). Click signals are considered Search CPS Personal Data.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageQualityNavboostImageQualityClickSignals
finalPornScoreA [0..1] porn score based on some image-level features (like content score, referrer statistics, navboost queries, etc.). See class RiflePornScorer for more details.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
coloredPixelsFracFraction of the image that contains pixels over a certain saturation threshold: can be used to determine if the image is grayscale or not.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
whiteBackgroundScoreVersionImage is likely an object on a white background (value on [0,1]).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lineartDetectorScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
clusterIdSuperlabels generated cluster id. This field is going to be deprecated, please use `superlabels_v2_cluster_id` instead.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
restrictStringsA string representation of all the restricts associated with this image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
hateLogoDetectionHate logo detections from the VSS logo_recognition module.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageUnderstandingIndexingAnnotationGroup
clickMagnetScoreA score in (0, 1] to indicate how likely this image is considered as a click magnet based on clicks received from bad queries.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
nearDupFeaturesSmallVersionThe following fields contain information about a smaller and less powerful version of the hash, needed for neardup retrieval. A compressed and an encoded version of the small hash are stored below. The smaller hash may have a few variants to increase recall. NOTE: This hash is generated by V2 hash computation. A compressed version of the small hash. Currently, a 4-byte fingerprint.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
styleAestheticsScoreAesthetics score of a style image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStyleAestheticsScoreSignals
smearedTopWebLandingPageDocidsWeb docids that correspond to high ranked smeared landing pages for this image. Used for conditional retrieval of actionable landing pages for image search.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
robotedAgentsCSV list of user agents for which this image should be considered roboted. Note: All images are crawled using googlebot-images, this exists for clients that require additional restrictions beyond googlebot-images such as news.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
sizeSize in bytes of original (non-thumbnail)ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
canonicalDocidThis is the image docid used in image search. For ImageData protos coming from Alexandria/Freshdocs, this is a ‘required’ field that MUST be populated.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
pornFlagDataUsed by the segindexer for combined www+image indices.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PornFlagData
personAttributesContains person attributes from the LookNet-Person model and the Style AI Iconic Person Scorer for the most iconic person in a style image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStylePersonAttributes
generatedImageLikelihoodSignalThe signal about the likelihood of whether the image is generated by Google.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryGeneratedImageLikelihoodSignal
clipartDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
testingScoreThis field is for testing purposes, more information in go/media-dirt-2022.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
ocrGoodocPruned OCR Goodoc see vss_aksara_ocr_util.h for the fields copied.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135GoodocDocument
smearedTopWebLandingPagesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(SmearedWebLandingPageEntry)
whiteBackgroundScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
docidfingerprint(non-canonicalized absolute image url) This is *not* the image docid. Use canonical_docid instead. For ImageData protos coming from Alexandria/Freshdocs, this is a ‘required’ field that MUST be populated. But once again, this is very likely NOT something you need. Use canonical_docid instead.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
orbitIntentsOrbit intents. More details on go/orbit-in-image-indexing.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135QualityOrbitOrbitImageIntents
flagsUse image_perdoc.h to read/write ‘flags’.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
thumbWidthThumbnail width.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
packedFullFaceInfoEncodes face number and largest face frac into a small package for storage in mustang. This is calculated directly from FaceDetectionResult.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135FaceIndexing
cropsThe content-aware cropping information.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ContentAwareCropsIndexing
ocrTextboxesText lines detected by OCR engine.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(OcrPhotoTextBox)
h2i‘Hovers to Impressions’ and ‘Hovers to Clicks’ ratios for an image. These are considered Search CPS Personal Data due to concerns that they may be used to reidentify or confirm the presence of specific singleton (unique) queries.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
isMultiframeTrue if the original image contains multiple frames (e.g., for animated or stereoscopic images).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
ocrTaserOcr detected by ocr_taser module.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135GoodocDocument
featuredImagePropProperties used in featured imagesearch project. inspiration_score indicates how well an image is related to products, or how inspirational it is.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageMonetizationFeaturedImageProperties
unavailableAfterSecsTime in seconds since epoch after which this image should be considered unavailable.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
imageRegionsRegions detected within the image (go/images-region-search-edd). Regions contain bounding boxes circumscribing objects of interest in the image, along with object labels. Regions may overlap.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRegionsImageRegions
fileFormatTrue file format (not extension).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
deepTagsVSS generated deep tags for shopping images.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135CommerceDatastoreImageDeepTags
adaboostImageFeaturePornVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
noIndexReasonImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
personDetectionSignalsContains person detection result.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStylePersonDetectionSignals
flowOutputThe output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst). Do NOT interact with the internals of this proto since they may change over time. Instead, use the existing interfaces that consume FlowProtoProd’s directly, e.g., image/mustang/content/image_content_distance.h For more info, please contact image-content-core@.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageContentFlowProtoProd
photoDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
numberFacesNumber of faces detected in the imageImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nearDupFeaturesSmallImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
deepImageEngagingnessProductionized Deep Image Engagingness score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryDeepImageEngagingnessOutput
isVisibleTrue if the image is inlined on the page (typicially via ) or false if the image is linked to (via an href).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
urlCanonicalized absolute image url.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
licensedWebImagesOptInStateIndicates the web-master opt-in state of this image, and will be used for Google products to decide usage rights like showing large previews.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
rankInNeardupClusterRank in near-dup cluster (go/image-rank-in-neardup-cluster). The rank is 1-indexed: rank 1 is the best.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
thumbSizeImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
codomainStrengthLike is_visible, this is a property of the (web-doc, img_url) pair not just the image. A high codomain_strength indicates high confidence based on collected stats that the image is hosted on a companion domain. If not enough stats are available for codomain strength, this field may be absent in ImageData, and hence the CompositeDoc. Do not place negative values here. Permitted values range between 0 and image_quality_codomain::kMaxCodomainStrength defined in //image/quality/codomain/codomain-stats-utils.h.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
deepCropDeepCrop based cropping information. See go/creatism/deepcrop for details.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135DeepCropIndexing
nearDupFeaturesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
photoDetectorScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
firstCrawlTimeEarliest known timestamp about this image. Today, this is the timestamp when the content key was generated for this image. The time is in seconds.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
adaboostImageFeaturePornWarning: adaboost_image_feature_porn* and imageFeaturePorn fields are DEPRECATED in favor of brain_porn_scores. Please do not use them. Contact safesearch@ for transition advice.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
brainPornScoresA [0..1] SafeSearch scores based on image pixels, using Google Brain: porn, csai, violence, medical, and spoof. For porn only, if available prefer final_porn_score as it should be more precise than brain_porn_scores.porn_score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageSafesearchContentBrainPornAnnotation
styleImageTypePrediction of a style image type: Stage, Stock, Street or Outfits.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStyleStyleImageTypeSignals
animatedImageDataPresent for animated images only: additional animatated image perdoc data.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryAnimatedImagePerdocData
onPageAlternateUrlFor an image not explicitly visible on this page, the following url is the one which most closely matches it.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
largestFaceFracFraction of image covered by the largest face (should match largestFaceFraction, but without scaling). In perdocs, is set only if numberFaces > 0.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
imageExactBoostA set of query fingerprints and confidence scores. There queries are supposed to be relevant to the image with high confidence.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageExactBoost
brainPornScoresVersionA string that indicates the version of SafeSearch classifier used to compute brain_porn_scores.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
multibangKgEntitiesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageDataMultibangEntities
adaboostImageFeaturePornMinorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
largestFaceFractionFraction of image covered by the largest face, scaled by 1000. Warning: Is DEPRECATED in favor of largest_face_frac. Do not use.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
finalPornScoreVersionA string that indicates the version of SafeSearch classifier used to compute final_porn_score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
superlabelsV2ClusterIdSuperlabels V2 generated cluster id.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
isIipInScopeIIP in scope signal (go/iip). Set to true if the image is annotated with any iip_in_scope entities (go/iukp-trust-v2).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
firstTimeSeenOnDocSecThe first time this image URL was seen on the containing web page. Only set during web indexing.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nimaAvaProductionized Nima AVA score. Both this field and nima_vq were added on the top of nima_ava_score and nima_vq_score because the signals are already integrated with Batch Amarna in image/repository/schema/global_output_tags.h using NimaOutput.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryNimaOutput
precomputedRestrictsRestricts computed before building a Mustang index.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PrecomputedRestricts
linkinfoTypeBitmask of LinkInfo enum in google3/indexing/converter/outlinks/linkinfo.h.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
indexedVerticalsVertical indexing information for the document and associated image outlinks.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(ImageDataVerticalIndexingInfoImage)
entityImageDataMultibangEntitiesMultibang kg entities.list(ImageDataMultibangEntitiesMultibangEntity)
entityIdEntity ID.ImageDataMultibangEntitiesMultibangEntityString
scoreMultibang score.ImageDataMultibangEntitiesMultibangEntitynumber
expirationTimestampMicrosThe thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.ImageDataThumbnailString
heightImageDataThumbnailinteger
mimeTypeImageDataThumbnailString
sizeImageDataThumbnailinteger
typeImageDataThumbnailString
widthImageDataThumbnailinteger
nameList the string representation of the vertical that this image is indexed into.ImageDataVerticalIndexingInfoImageProto to store vertical indexing information for the document and associated image outlinks. The image content can be indexed to multiple verticals, including imagesearch. It can also be indexed only in verticals, not in imagesearch.String
navqueryImageExactBoostlist(ImageExactBoostNavQuery)
confidenceAssociated confidence scores for the image for the query.ImageExactBoostNavQueryNavboost query data.integer
imageClickRankClick-based rank of the image for this query.ImageExactBoostNavQueryNavboost query data.integer
navFpQuery fingerprint.ImageExactBoostNavQueryNavboost query data.String
navQueryThe normalized raw query text.ImageExactBoostNavQueryNavboost query data.String
referrerDocidList of all referrers, sorted by their rank (stored in Moosedog).ImageExactBoostNavQueryNavboost query data.list(String)
referrerRankRank of the current web doc referrer (stored in docjoins).ImageExactBoostNavQueryNavboost query data.integer
isoImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
modificationTimein time_tImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
subjectLocationYImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
meteringMode1-6, see EXIF definitionImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
subjectDistanceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
flashUsedImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104boolean
focalLength35mmconvert to match 35mm film cameraImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
lensMakerImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
lightSourceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
subjectLocationXImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
deprecatedStateImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
copyrightEXIF_TAG_COPYRIGHTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
orientationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
descriptionEXIF_TAG_IMAGE_DESCRIPTIONImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
xResolutionpixels per inchImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
cameraMakerDevice – Camera raw text without normalizationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
lensIdDevice – Lens We use this extended id to identify a lens uniquely. Canon: “%d %d %d”=.. Nikon: “%.2X %.2X %.2X %.2X %.2X %.2X %.2X %.2X” Don’t change the format of the internal lens id because we use them to look up the lens names.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
keywordsEXIF_TAG_XP_KEYWORDSImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
cameraModelraw text without normalizationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
destDistanceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
destBearingImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
longitude+/- 180 inclusiveImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
gpsStatusImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
focalPlaneXresImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
comments2EXIF_TAG_XP_COMMENTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
altitudeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
hPositioningErrorin metersImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
maxApertureAtShortFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
imageHeightImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
brightnessImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
focusModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
imgDirectionGPS Heading 0.00 to 359.99 degreesImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
destLongitudeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
exposureBiasImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
gpsMeasureModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
shortFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
exposureProgram1-8, see EXIF definitionImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
maxApertureAtLongFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
subjectEXIF_TAG_XP_SUBJECTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
author2EXIF_TAG_XP_AUTHORImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
imgDirectionRefImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
apertureImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
destLatitudeGPS location of destination point.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
iptcImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104ImageExifIPTCMetadata
authorText fields EXIF_TAG_ARTISTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
latitudeGPS location +/- 90 inclusiveImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
longFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
digitalZoomRatioImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
gpsDopDilution of precision. HDOP/PDOP depends on measure mode. Find out more at http://en.wikipedia.org/wiki/Dilution_of_precision_(GPS)ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
imageWidthImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
softwareEXIF_TAG_SOFTWAREImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
deprecatedCityLocation from IPTC @deprecated: Use iptc.location instead.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
focalLengthImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
focalPlaneResUnitImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
cameraSerialNumberThis is the extracted serial number from EXIF (the source depends on camera, most of the cameras store it in makers note tag).ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
destBearingRefBearing and distance to destination point.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
yResolutionpixels per inchImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
colorSpaceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
captureTimeCapturing settings in time_tImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
deprecatedCountryImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
commentsEXIF_TAG_USER_COMMENTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
exposureTimeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
titleEXIF_TAG_XP_TITLEImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
continousDriveModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104boolean
acquireLicensePagePage URL about how to acquire this licensable image.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
artworkImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(ImageExifIPTCMetadataArtwork)
contactinfoImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataContactInfo
copyrightNoticeImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
creatorIPTC authorship & copyright related fields.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
creditLineImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateCreatedTime (in seconds)ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateExpiredImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateReleasedImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
descriptionImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
digitalSourceTypeSee go/gi-annotations-indexing for more information.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
eventImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
headlineImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
imageSupplierPLUS field, not used.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
instructionsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
keywordsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
licenseUrlLicense URL about how to distribute the image.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
locationImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataLocation
locationCreatedLocation of the cameraImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataLocationInfo
locationShownLocation shown on the imageImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(ImageExifIPTCMetadataLocationInfo)
modelReleaseStatusImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
propertyReleaseStatusImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
rightsUsageTermsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
sourceImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
supplementalCategoriesImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
titleIPTC description related fields.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
titleOther fields omitted.ImageExifIPTCMetadataArtworkArtwork or Object in the Image DetailsString
addressImageExifIPTCMetadataContactInfoString
cityImageExifIPTCMetadataContactInfoString
countryImageExifIPTCMetadataContactInfoString
emailImageExifIPTCMetadataContactInfoString
phoneImageExifIPTCMetadataContactInfoString
postalCodeImageExifIPTCMetadataContactInfoString
stateImageExifIPTCMetadataContactInfoString
webUrlImageExifIPTCMetadataContactInfoString
cityImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
countryImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
countryCodeImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
stateImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
subLocationImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
worldRegionImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
cityImageExifIPTCMetadataLocationInfoString
countryImageExifIPTCMetadataLocationInfoString
countryCodeImageExifIPTCMetadataLocationInfoString
stateImageExifIPTCMetadataLocationInfoString
subLocationImageExifIPTCMetadataLocationInfoString
worldRegionImageExifIPTCMetadataLocationInfoString
inspirationScoreHow an image is inspirational, [0, 1].ImageMonetizationFeaturedImagePropertiesnumber
codeImageMoosedogCrawlStateString
detailedReasonEach of the above not_crawled_reason will have a set of detailed reason defined in crawler/trawler/trawler_enums.proto.ImageMoosedogCrawlStateinteger
internalStatusThe status returned when RPCs are used to internally fetch the image (eg. from FIFE).ImageMoosedogCrawlStateUtilStatusProto
isTerminalSpecifies if the current crawl state is terminal.ImageMoosedogCrawlStateboolean
noIndexAfterTimestampTime in seconds since epoch after which this image should be considered unavailable.ImageMoosedogCrawlStateString
notCrawledReasonImageMoosedogCrawlStateString
overrodeTerminalStateWhen true, it means that a non-terminal state has overwrote a terminal one.ImageMoosedogCrawlStateboolean
repidThe repid for the urls. This repid is the id given to the dupe cluster this url belongs to.ImageMoosedogCrawlStateString
robotedAgentsA comma separated list of user agents for which this image should be considered roboted. All images are crawled using googlebot-images and this exists here purely for informative reasons.ImageMoosedogCrawlStateString
urlThe url at which we crawled this content. With us starting to use repids the crawl table key no longer is suggestive of the url. In addition this is used in Amarna to detect race conditions between a reference changing its crawl directive and the original crawl job finishing.ImageMoosedogCrawlStateString
urlDeletedSet to true if the url is taken down by clients. This indicates that this crawl state is used to fast remove the crawl result of the url instead of waiting for Multiverse crawl results. For more information, please refer to go/amarna-url-deletion.ImageMoosedogCrawlStateboolean
webRelevanceScorescore calculated in image selection phase, higher imagelink_selection_score more relevant the link is related to the web pageImageMustangImageLinkSelectionInfoFor detailed info, please see go/naive-image-selectionfloat
inferredImageTypesImageMustangShoppingOfferA proto buffer to organize shopping offer info from Inventory & Policy Service.list(String)
ipsOfferIdImageMustangShoppingOfferA proto buffer to organize shopping offer info from Inventory & Policy Service.String
DEPRECATEDEntropyColorentropy and color values for thumbnail (4 bytes consisting of R, G, B and entropy values)ImagePerDocDatainteger
filenameabout 10 bytesImagePerDocDataString
flagsimage_perdoc.hImagePerDocDatainteger
heightImagePerDocDatainteger
widthImagePerDocDatainteger
infoImagePornDebugInfoUsed to store debug information of the overall classifier.String
clicksImageQualityNavboostImageQualityClickSignalsNext ID: 3number
gveClicksGood clicks that are defined using GVE (go/gve-history).ImageQualityNavboostImageQualityClickSignalsNext ID: 3number
mediaEntitiesIdSimilar to above, but for media entities (movie name, fictional character, musical band)ImageQualitySensitiveMediaOrPeopleEntitiesGoldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signallist(String)
peopleEntitiesIdhrid of the 5 people entities with higher topicality in the documentImageQualitySensitiveMediaOrPeopleEntitiesGoldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signallist(String)
boundingBoxThe bounding box of the region.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11PhotosVisionGroundtruthdbNormalizedBoundingBox
boundingBoxScoreThe confidence score associated with the bounding box.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11number
idA unique identifier for the region within the image. The id is unique only among other regions in the image.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
isProductSet true if the region represents a product, i.e., if any of its labels are on a product labels whitelist. See ImageRegionsConfig for details on the product whitelist.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11boolean
knnScoreThe score for this region based on how visually similar its neighbors are.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11float
labelGroupThe label group corresponding to the first LabelParams listed in ImageRegionsConfig.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingLabelGroup
labelVersionThe version string of the labels with which the region was processed.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
primaryLabelThe primary label associated with the region. Specifically, the highest-scored whitelisted label associated with the region. See ImageRegionsConfig for details on the whitelist.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingLabel
renderTypeImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
starburstV4The starburst v4 features and tokens for the region.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingFeature
finalPornScoreThe final_porn_score for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
finalViolenceScoreThe final_violence_score for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
flowOutputThe output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst).ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11ImageContentFlowProtoProd
has300kThumbTrue if the image has a 300k thumb.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
hasNavboostTrue if the image has navboost.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
isIuInappropriateTrue if the image is iu-inappropriate.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
pedoScoreThe pedo_score of the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
precomputedRestrictsThe precomputed restricts for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11PrecomputedRestricts
racyScoreThe racy_score of the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
regionThe list of regions.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11list(ImageRegionsImageRegion)
duplicateOfYtS3AsrIf this field is set to true, it means that Youtube already processed the ASR from S3 for the langID. Please find the ASR result from transcript_asr in google3/image/repository/proto/video_search.proto instead.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10boolean
langWithoutLocaleDEPRECATED: Please switch to `langid_input`. The language id input for creating this ASR without regional info. Same format as in go/ytlangid. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but it is cleared before stored in Amarna’s metadata table.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10String
langidInputThe language identification input used to generate this ASR. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but cleared before stored in Amarna’s metadata table.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10ImageRepositoryLanguageIdentificationResult
modelIdentifierImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10String
resultsRaw results from Cloud Speech APIImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10list(ImageRepositorySpeechRecognitionResult)
s3RecognizerMetadataResponseThe metadata about the S3 recognizer used.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10ImageRepositoryS3RecognizerMetadataResponse
transcriptAsrThis field contains full (stitched) transcription, word-level time offset , and word-level byte offset. The value of this field is derived from the SpeechRecognitionResult field above.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10PseudoVideoData
frameFeaturesImageRepositoryAmarnaSignalsBlobDrishtiFeatureSetDataSequence
signalsBlobIdBlob id for AmarnaSignalsBlob (see `Blob proto` section of go/revisit-frame-level-signals-amarna).ImageRepositoryAmarnaSignalsBlobInfoString
signalsBlobUpdateTimestampAdditional timestamp field for when the blob is written/updated, serving as the dirty field to help checksum-based update push (see `Dirty field` section in go/revisit-frame-level-signals-amarna).ImageRepositoryAmarnaSignalsBlobInfoDateTime
reasonImageRepositoryAmarnaStatusThis message stores the status and reason why Amarna was unable to provide perdoc information for an image.String
statusImageRepositoryAmarnaStatusThis message stores the status and reason why Amarna was unable to provide perdoc information for an image.String
aggregatedPornScoresAggregated porn scores for animated images. Aggregated using max sampling rate / max duration. Note the plan is to fold these scores into existing summarized scores, for cases where these scores are available. See tracking bug b/63580795.ImageRepositoryAnimatedImagePerdocDataAdditional animated image data stored in perdoc (ImageData); will only be stored for animated images.ImageSafesearchContentBrainPornAnnotation
durationMsTotal duration of animation, in ms.ImageRepositoryAnimatedImagePerdocDataAdditional animated image data stored in perdoc (ImageData); will only be stored for animated images.integer
expirationTimestampSecTimestamp (measured in seconds since epoch) after which Amarna will delete the serving transcode.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
genusThe Venom Genus that this transcode was produced for.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
stateIndicates the state in Venom for this transcode type.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
transcodeItagtranscode type which are available for the video.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9integer
videoIdThe Venom ID that this transcode was produced for.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9VideoAssetsVenomVideoId
xtagsListIndicates xtags if present. Xtag makes the different transcode. For transcode “MP4_AVCBASE640_AAC/af=sq” (itag 18 with xtag), “af=sq” is the xtag part. This is a different transcode than “MP4_AVCBASE640_AAC” (itag 18).ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9ImageRepositoryApiXtagList
nameNames are all stored case-sensitive, and no case-folding is done for comparisons.ImageRepositoryApiXtagString
valueThe value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.ImageRepositoryApiXtagString
xtagsImageRepositoryApiXtagListXtagList — a collection of Xtag instances with unique names. This would be associated with one specific piece of content.list(ImageRepositoryApiXtag)
aresClassificationRequestTimestampTimestamp of the last successful Ares classification request.ImageRepositoryContentBasedVideoMetadataNext Tag: 52DateTime
videoPreviewBytesvideo_preview_bytes is only exported as virtual dataset by IE VideoUnderstanding and should not be persisted. It will be used by downstream IE functions to push for serving.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageRepositoryVideoPreviewsVideoPreview)
loudnessDataWhen Transcode itag 140 is requested, MediaAnalyzer (as the part of Viper graph) generates audio info including loudness_data, which is then published to Streamer. For Audio news client, we extract this loudness data from Streamer to this field.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoStorageLoudnessData
cloudSpeechSignalsTranscript generated from Cloud Speech APIImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaCloudSpeechSignals
featureSetDataVideo Understanding Golden features. (go/amarna-video-signals#golden-signals) Note: Golden6 features (names matching “video_*”) are DEPRECATED. Please migrate to Golden7 (“VideoFeatures.*”). For more context, see go/golden7/migrating-from-golden6 and go/amarna-golden-feature-tracker. Signals popluated in Raffia cdoc.doc_videos are configured in cs/symbol:AMARNA_EXPORTED_GOLDEN7_FEATURES.ImageRepositoryContentBasedVideoMetadataNext Tag: 52DrishtiFeatureSetData
videoPornScoreV4The video porn confidence score extracted from WhisperV4 featureSet: “VideoFeatures.whisper_v4_labels”, with CR2 label: “/tns/porn”.ImageRepositoryContentBasedVideoMetadataNext Tag: 52number
transcriptAsrSpeech related metadata The transcript_asr field is generated from the YT caption’s SPEECH_RECOGNIZER asset.ImageRepositoryContentBasedVideoMetadataNext Tag: 52PseudoVideoData
lmsPreviewFramePerdocsLMS preview frame perdocs. Timestamps of the frame perdocs are from the original video, not from the preview.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFramePerdocs
signalsBlobAmarna signals blob that contains large-size signals like VCA frame-level signals.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlob
s3LanguageIdentificationImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryS3LangIdSignals
frameLevelStarburstEmbeddingsFrame-level Starburst embeddings. They are IE only signals for short videos initially and will be supported for all videos later. (go/frame-level-sbv5-on-ie)ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFrameLevelStarburstEmbeddings
golden7SoapboxTracksBlobInfoInformation on frame-level people feature blob. (go/vpf-frame-features)ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlobInfo
videoStreamInfoDeprecated, please use media_info.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoPipelineViperVSIColumnData
thumbnailerDataImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoPipelineViperThumbnailerColumnData
transcodeMetadataMetadata about each transcode requested.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageRepositoryApiItagSpecificMetadata)
truncationInfoData about whether or not the video was truncated.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFileTruncationInfo
speechPropertiesImageRepositoryContentBasedVideoMetadataNext Tag: 52IndexingSpeechSpeechPropertiesProto
mediaInfoInformation about the media file, such as duration, resolution, and detail about each audio/video stream. Note that it contains no PII.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoMediaInfo
venomIdThe video id in the venom pipeline for STAMP purposes. DEPRECATED: Use transcode_metadata or venom_processing_info instead, which includes the ID and contains information for all clients.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
s3AsrTrnascript generated through AMARNA_CLOUD_SPEECH asset in Venom. Note that AMARNA_CLOUD_SPEECH uses S3 as the speech engine backend, similar to YT caption’s SPEECH_RECOGNIZER asset. However, they may use different S3 models.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaCloudSpeechSignals
venomProcessingInfoInformation about the video’s status in Venom, including IDs and processing times.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryVenomProcessingInfo
safesearchVideoContentSignalsContains SafeSearch video classification outputs which are vertical_name/float pairs.ImageRepositoryContentBasedVideoMetadataNext Tag: 52SafesearchVideoContentSignals
videoPornScoreThe video porn confidence score extracted from Whisper featureSet: “video_labels:whisper_v3”, with CR2 label: “/cr2/1”.ImageRepositoryContentBasedVideoMetadataNext Tag: 52number
thumbnailQualityScoreThumbnail quality score predict how visual pleasing a thumbnail is, based on the model trained with deep neural networks.(go/thumb_features_dd) Note the signal currently only available for Youtube videos.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoThumbnailsThumbnailScore
languageIdentificationImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoTimedtextS4ALIResults
representativeFrameDataImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageData
videoDurationSecSet from the video header if truncated, or is the verified length if completely crawled.ImageRepositoryContentBasedVideoMetadataNext Tag: 52float
inlinePlaybackMetadata related to Inline playback on the Interest Feed. This field is filled by Hamilton.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoCrawlVideoInlinePlaybackMetadata
signalsBlobInfoInformation for the amarna signals blob.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlobInfo
audioOnlyBoth audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there’s no video track, just an audio track.ImageRepositoryContentBasedVideoMetadataNext Tag: 52boolean
golden7SoapboxSummaryGolden7 video-level people features. (go/ypf-video-features)ImageRepositoryContentBasedVideoMetadataNext Tag: 52DrishtiFeatureSetData
videoAnchorSetVideo anchor sets hold set of anchors with multiple anchor types and sequence of VideoAnchor which contains metadata about the anchor, such as thumbnail, perdoc data.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoContentSearchVideoAnchorSets
amarnaDocidA hash of the video bytes used as a key to Amarna’s video_metadata table.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
multiThumbnailsFramePerdocsmulti_thumbnails_frame_perdocs contains perdocs(go/vss-signals#perdoc) for all frame thumbnails generated by multiple frames per minutes. See more details in go/multiple-thumbnails-per-minutes.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFramePerdocs
videoPreviewsvideo_previews contain the preview metadata but no bytes. It exits for IE and non-IE cases.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageBaseVideoPreviewMetadata)
legosAnnotationDataLegos resultsImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoLegosLegosAnnotationsSets
youtubeProcessingFilterContains lists of reasons why YT videos were filtered from specific processing.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryYoutubeProcessingFilter
unwantedContentIf set, video has been deleted using the deletion service (MediaDeletionService).ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryUnwantedContent
searchDocid64 bit docid used for retrieving video previews.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
videoTranscriptAnnotationsVideoTranscriptAnnotations holds sentence segmented text and timing information to be used for VideoAnswers (go/video-answers). Note that only punctuated_transcript, timing_info, and lang field are filled, and other fields will be filled in the later stage.ImageRepositoryContentBasedVideoMetadataNext Tag: 52QualityWebanswersVideoTranscriptAnnotations
codeImageRepositoryCrawlStatusInfoFields for crawl-status-related debugging information.String
notCrawledReasonImageRepositoryCrawlStatusInfoFields for crawl-status-related debugging information.String
scoreDeepImageEngagingness score.ImageRepositoryDeepImageEngagingnessOutputnumber
originalFileSizeLowerBoundBytesA lower bound on the original file’s size.ImageRepositoryFileTruncationInfoDescribes our knowledge about whether a stored file is truncated with respect to its original file online.String
truncationStateIndicates whether the stored file is equal to the original file (COMPLETE), is only a prefix (TRUNCATED), or that we don’t know (UNKNOWN, the default).ImageRepositoryFileTruncationInfoDescribes our knowledge about whether a stored file is truncated with respect to its original file online.String
multiThumbnailVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierMultiThumbnailVariant
previewFrameZeroVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierPreviewFrameZeroVariant
thumbnailVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierThumbnailVariant
timestampMsOffset of the frame from the beginning of the video (in milliseconds).ImageRepositoryFrameIdentifierIdentifier for frames associated with a video.integer
previewLengthImageRepositoryFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.String
xtagListAll xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio).ImageRepositoryFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.ImageRepositoryApiXtagList
starburstV5EmbeddingsFrame-level Starburst V5 embeddings computed by SUP. See https://data.corp.google.com/su_catalog/signal/starburst:v5.ImageRepositoryFrameLevelStarburstEmbeddingsEach supported Starburst embedding version will have a pair of AmarnaSignalsBlobInfo and SUPFrameLevelEmbeddings. Blob info has the blob id of the corresponding embeddings and a blob write timestamp. SUPFrameLevelEmbeddings are the actual frame-level embeddings at 1 FPS. MMS callers have 3 options to fetch frame-level Starburst embeddings: 1. OPTION_NONE (default): Don’t fetch frame-level Starburst embeddings. 2. OPTION_BLOB_DATA: Fetch the actual Starburst embeddings in SUPFrameLevelEmbeddings. 3. OPTION_CLONED_BLOB_ID: Clone the starburst embeddings into the target Blobstore directory. Then, fetch the cloned blob id of Starburst embeddings in AmarnaSignalsBlobInfo.ImageRepositorySUPFrameLevelEmbeddings
starburstV5EmbeddingsBlobInfoFrame-level Starburst V5 embeddings blob id.ImageRepositoryFrameLevelStarburstEmbeddingsEach supported Starburst embedding version will have a pair of AmarnaSignalsBlobInfo and SUPFrameLevelEmbeddings. Blob info has the blob id of the corresponding embeddings and a blob write timestamp. SUPFrameLevelEmbeddings are the actual frame-level embeddings at 1 FPS. MMS callers have 3 options to fetch frame-level Starburst embeddings: 1. OPTION_NONE (default): Don’t fetch frame-level Starburst embeddings. 2. OPTION_BLOB_DATA: Fetch the actual Starburst embeddings in SUPFrameLevelEmbeddings. 3. OPTION_CLONED_BLOB_ID: Clone the starburst embeddings into the target Blobstore directory. Then, fetch the cloned blob id of Starburst embeddings in AmarnaSignalsBlobInfo.ImageRepositoryAmarnaSignalsBlobInfo
errorStatusError, if any, while generating the frame perdoc. It is mutually exclusive to the perdoc, only set when perdoc is missing.ImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).UtilStatusProto
frameIdentifierImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).ImageRepositoryFrameIdentifier
perdocImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).ImageData
timestampMsecTimestamp (in msec) of the frame from the original video DEPRECATED: Use the timestamp_ms field in frame_identifier instead.ImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).integer
framePerdocImageRepositoryFramePerdocsThis proto stores perdocs extracted from video frames.list(ImageRepositoryFramePerdoc)
fingerprintNearestNeighborDecisionDecision according to the given fingerprint nearest neighbor score.ImageRepositoryGeneratedImageLikelihoodSignalString
provenanceClassifierDecisionOVERALL DECISION Decision according to the given watermark logits and fingerprint nearest neighbor score.ImageRepositoryGeneratedImageLikelihoodSignalString
watermarkDecisionINDIVIDUAL DECISION Decision according to the given watermark logits.ImageRepositoryGeneratedImageLikelihoodSignalString
localeStrippedWhether the locale got stripped from the original result before further processing.ImageRepositoryLanguageIdentificationResultboolean
s3TopLocaleFrom cs/symbol:speech.s3.LanguageIdentificationResult owned by go/s3.ImageRepositoryLanguageIdentificationResultString
ytCapsAudioLanguageFrom cs/symbol:video_platform.operation.AudioLanguage owned gy go/ytcaps.ImageRepositoryLanguageIdentificationResultString
scoreNIMA score.ImageRepositoryNimaOutputnumber
audioInputCapAudio input processing cap.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.String
failedSegmentsNumber of failed segments. Successful segments are stored in `langid_signals_for_segment`.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
processedSegmentsNumber of processed segments.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
segmentDurationDuration of each segment (except for the last one if capped).ImageRepositoryS3LangIdDebuggingInfoFor debugging only.String
segmentStrideIf >1, every N segment is processed.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
waveHeaderWave header of the audio input.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.SpeechWaveHeader
containsSpeechWhether this audio chunk has speech or not.ImageRepositoryS3LangIdSignalsNext Tag: 10boolean
debuggingInfoImageRepositoryS3LangIdSignalsNext Tag: 10ImageRepositoryS3LangIdDebuggingInfo
endSecImageRepositoryS3LangIdSignalsNext Tag: 10String
langidResultS3 langID result. We keep langid_result even if contains_speech = false.ImageRepositoryS3LangIdSignalsNext Tag: 10SpeechS3LanguageIdentificationResult
languageIdentificationConverted version of the langid_result field, so that we have the YT compatible version of the langID result.ImageRepositoryS3LangIdSignalsNext Tag: 10VideoTimedtextS4ALIResults
modelVersionThe version of the model used for S3 LangID service.ImageRepositoryS3LangIdSignalsNext Tag: 10String
speechFrameCountImageRepositoryS3LangIdSignalsNext Tag: 10integer
startSecThe audio chunk which corresponds to this langID result expressed as a start_sec and end_sec.ImageRepositoryS3LangIdSignalsNext Tag: 10String
totalFrameCountCount the number of total frames in the audio chunk as well as the number of speech frames.ImageRepositoryS3LangIdSignalsNext Tag: 10integer
modeImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
modelInfoLabelImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
serviceNameImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
productSetsInformation about versioned product sets found. There will be at most two versions present. The results from the current version of the models used in VSS and the results from the previous version of the models used. Note that not all products may have two version since the model might detect the product in one version and not the other.ImageRepositoryShoppingProductInformationA message containing embedding information and localization scores using the VSS product recognition module.list(ImageRepositoryShoppingProductInformationVersionedProductInformationSet)
hThe vertical height of the bounding box (ymax – ymin + 1), normalized by image height with range [0,1].ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
wThe horizontal width of the bound box (xmax – xmin + 1), normalized by image width with range [0,1].ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
xThe x coordinate (xmin), normalized by image width with range [0,1).ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
yThe y coordinate (ymin), normalized by image height with range [0,1).ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
idImageRepositoryShoppingProductInformationEntityThe recognized entity.String
scoreThe normalized recognition score between 0 and 1.ImageRepositoryShoppingProductInformationEntityThe recognized entity.number
categoryIdThe possible Merlot ids for the item. There may be more than one if the product detector result corresponds to a collection of merlot ids, which can’t be easily grouped up to a common ancestor, for which the detector would still make sense for all the children. E.g. a detected “chair” can be either an indoor chair or an outdoor one, however in Merlot the common ancestor of the two is furniture.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(integer)
clusterIdsThe k-d tree clusters for retrieval. Will be deprecated, use the token_groups instead. To add tokens/cluster_ids from new tokenization model in the future, add it to the token_groups.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(integer)
detectionScoreThe localization detection score.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.number
embeddingThe serialized embedding values.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.String
entitiesThe recognized entities and scores.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(ImageRepositoryShoppingProductInformationEntity)
featureTypeFeature type (different detectors and embedders) requested.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.String
productLocationThe bounding box.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.ImageRepositoryShoppingProductInformationBoundingBox
tokenGroupsImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(ImageRepositoryShoppingProductInformationProductInformationTokenGroup)
modelImageRepositoryShoppingProductInformationProductInformationTokenGroupThe tokens for retrieval.String
tokensImageRepositoryShoppingProductInformationProductInformationTokenGroupThe tokens for retrieval.list(integer)
modelTypeThe type of the model.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.String
productsList of ProductInformation for this version.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.list(ImageRepositoryShoppingProductInformationProductInformation)
versionThe version of the models used in VSS. Newer version will have a higher version number.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.integer
confidenceThe confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).number
transcriptTranscript text representing the words that the user spoke.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).String
wordsA list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is true, you will see all the words from the beginning of the audio.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).list(ImageRepositoryWordInfo)
alternativesMay contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.list(ImageRepositorySpeechRecognitionAlternative)
channelTagFor multi-channel audio, this is the channel number corresponding to the recognized result for the audio from that channel. For audio_channel_count = N, its output values can range from ‘1’ to ‘N’.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.integer
languageCodeThe [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.String
resultEndTimeTime offset of the end of this result relative to the beginning of the audio. This field is internal-only and is used to order results based on their timestamps.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.String
embeddingEmbedding of the frame.ImageRepositorySUPFrameLevelEmbeddingReneEmbedding
timeOffsetTime offset of the frame.ImageRepositorySUPFrameLevelEmbeddingString
embeddingsAll the frame-level embeddings of the video.ImageRepositorySUPFrameLevelEmbeddingslist(ImageRepositorySUPFrameLevelEmbedding)
deletionReasonImageRepositoryUnwantedContentTo indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.String
hideReasonImageRepositoryUnwantedContentTo indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.String
venomStatusContains one status for each Genus that this video belongs to in Venom. For example, a video that is both 1) Found on the web, and 2) Opted-in by an Interest Feed partner would have two entries, one for GENUS_CRAWL and one for GENUS_VIDEO_INTEREST_FEEDImageRepositoryVenomProcessingInfolist(ImageRepositoryVenomStatus)
aclVenom ACL of the video. Used to check if other systems, such as Ares, are able to process the video.ImageRepositoryVenomStatusVideoAssetsVenomACL
deletionTimestampUsecImageRepositoryVenomStatusString
genusThe Genus (Venom’s client ID) that this media belongs to.ImageRepositoryVenomStatusString
insertionResponseTimestampUsecTime that VideoNotification result was received from Venom.ImageRepositoryVenomStatusString
insertionTimestampUsecImageRepositoryVenomStatusString
lastInsertionAttemptsNumRecord the attempts num of previous insertion. It’s only updated when either the insertion succeeds or fails with reason INSERTION_ATTEMPTS_EXCEEDED, but it’s always set so that we can easily construct venom_id with this attempts num for future insertions.ImageRepositoryVenomStatusinteger
reasonImageRepositoryVenomStatusString
settingsThe Settings that were used to customize the Venom request for this media.ImageRepositoryVenomStatuslist(VideoAssetsVenomSettings)
stateImageRepositoryVenomStatusString
transitionTransition contains the Objective and Outcome of the latest Venom run.ImageRepositoryVenomStatusVideoAssetsVenomTransition
venomIdThe media’s unique identifier within Venom.ImageRepositoryVenomStatusVideoAssetsVenomVideoId
venomMutationGenerationThe generation number returned by Venom.ImageRepositoryVenomStatusString
videoVenomSettingThis field is not persisted anywhere. It is only used in deletion service for converying the VideoVenomSetting when deleting Venom data.ImageRepositoryVenomStatusString
notIndexedVideoLinkImageRepositoryVideoIndexingInfolist(ImageRepositoryVideoLinkIndexingInfo)
crawlStatusInfoFields for crawl-status-related debugging information.ImageRepositoryVideoLinkIndexingInfoImageRepositoryCrawlStatusInfo
urlThe video URL.ImageRepositoryVideoLinkIndexingInfoString
lastAmarnaProcessingTimeLast Amarna processing timestamp.ImageRepositoryVideoPreviewsDebuggingInfoDateTime
processingEngineThe underlying processing engine, like ‘viper’ or ‘kronos’.ImageRepositoryVideoPreviewsDebuggingInfoString
contentThe actual video preview bytes generated for the video.ImageRepositoryVideoPreviewsVideoPreviewString
debuggingInfoUsed for debugging only.ImageRepositoryVideoPreviewsVideoPreviewImageRepositoryVideoPreviewsDebuggingInfo
metadataThe metadata associated with the preview (i.e. the type: 8k, 90k, etc.)ImageRepositoryVideoPreviewsVideoPreviewImageBaseVideoPreviewMetadata
previewFrameZero0th frame image of the preview. This frame has the same resolution as the associated preview video bytes, as it is taken directly from the preview bytes in Venom/Viper processing. Right now, we only populate preview_frame_zero only for the VPREVIEW_TYPE_540K_ORIGINAL_HQ_LICENSED preview type. Note that preview_frame_zero.thumbnails(0).timestamp_ms() is the timestamp from the full video, not from the preview.ImageRepositoryVideoPreviewsVideoPreviewDrishtiVesperVideoThumbnail
audioOnlyBoth audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there’s no video track, just an audio track.ImageRepositoryVideoPropertiesboolean
contentBasedMetadataInformation derived from fetched video bytes.ImageRepositoryVideoPropertiesImageRepositoryContentBasedVideoMetadata
crawlStateThe raw crawl state.ImageRepositoryVideoPropertiesImageMoosedogCrawlState
firstCrawlTimestampSecTimestamp of the first time that the video was successfully crawled.ImageRepositoryVideoPropertiesString
firstProcessingTimestampSecTimestamp when this video’s videoProperties is populated for the first time, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
indexedVerticalsProto to store vertical indexing information for the document. The video can be indexed to multiple verticals, including video search. It can also be indexed only in verticals, not in video search.ImageRepositoryVideoPropertieslist(ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo)
inlinePlaybackDEPRECATED: please use content_based_metadata.inline_playback. Metadata related to Inline playback on the Interest FeedImageRepositoryVideoPropertiesVideoCrawlVideoInlinePlaybackMetadata
lastCrawlRequestTimestampSecTimestamp when this video’s last crawling is requested, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
lastProcessingTimestampSecLast timestamp when this video’s videoProperties is populated, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
urlThis is the video url taken from the key of the Amarna references table row corresponding to this message.ImageRepositoryVideoPropertiesString
nameList the string representation of the vertical that this image is indexed into.ImageRepositoryVideoPropertiesVerticalIndexingInfoVideoProto to store vertical indexing information for the document and associated video outlinks. The video content can be indexed to multiple verticals, including videosearch. It can also be indexed only in verticals, not in videosearch.String
confidenceThe confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.ImageRepositoryWordInfoWord-specific information for recognized words.number
endTimeTime offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.ImageRepositoryWordInfoWord-specific information for recognized words.String
speakerTagA distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from ‘1’ to diarization_speaker_count. speaker_tag is set if enable_speaker_diarization = ‘true’ and only in the top alternative.ImageRepositoryWordInfoWord-specific information for recognized words.integer
startTimeTime offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.ImageRepositoryWordInfoWord-specific information for recognized words.String
wordThe word corresponding to this set of information.ImageRepositoryWordInfoWord-specific information for recognized words.String
previewsFilteredReasonImageRepositoryYoutubeProcessingFilterNext available tag: 13list(String)
childScoreThe probability that the youngest person in the image is a child.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
csaiScoreThis score correlates with potential child abuse. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.float
csamA1ScoreExperimental score. Do not use. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
csamAgeIndeterminateScoreExperimental score. Do not use. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
iuInappropriateScoreThis field contains the probability that an image is inappropriate for Images Universal, according to this policy: go/iupolicy.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
medicalScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
pedoScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
pornScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.float
racyScoreThis score is related to an image being sexually suggestive.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
semanticSexualizationScoreThis score is related to racy/sexual images where scores have semantic meaning from 0 to 1.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
spoofScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
versionImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.String
violenceScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
ytPornScoreDeprecated, use porn_score instead. The most recent model version does not produce this anymore.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
ocrAnnotationVersionA string that indicates the version of SafeSearch OCR annotation.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.String
ocrProminenceScoreThe score produced by Aksara geometry and spoof score. Describes the ‘visibility’ or ‘importance’ of the text on the image [0, 1]ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
pornScoreImage OCR racyness/pornyness, computed by porn query classifier.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
prominentOffensiveScoreSame as offensive_score, but weighted by prominence.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
prominentVulgarScoreSame as vulgar_score, but weighted by prominence.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
qbstOffensiveScoreThe score produced by offensive salient terms model.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
matchesImageSafesearchContentOffensiveSymbolDetectionlist(ImageSafesearchContentOffensiveSymbolMatch)
scoreConfidence score of the match. The higher, the more likely to match the symbol.ImageSafesearchContentOffensiveSymbolMatchEach entry corresponds to an image containing an offensive symbol.number
typeImageSafesearchContentOffensiveSymbolMatchEach entry corresponds to an image containing an offensive symbol.String
imageLinkSelectionInfoImage Selection InfoImageSearchImageIndexingInfolist(ImageSearchImageSelectionInfo)
rejectedNotIndexedImageLinkURLs and Amarna status of images on the page for which image data is not yet available and weren’t selected for indexing in image search. Used by consumers of docjoins that need a complete view of image urls on the page (i.e. Digdug).ImageSearchImageIndexingInfolist(ImageSearchUnindexedImageLink)
selectedNotIndexedImageLinkURLs and Amarna status of images on the page for which image data is not yet available and were otherwise selected for indexing in image search. Used by consumers of docjoins that need a complete view of selected image urls on the page (i.e. Hearse, the index selection testbed).ImageSearchImageIndexingInfolist(ImageSearchUnindexedImageLink)
acquireLicensePageRecords web page url about how to use the licensed image.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
copyrightNoticeProvides copyright info.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
copyrightNoticeSourceTypeSource type for copyright_notice field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creatorcreator, authors.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddlist(String)
creatorSourceTypeSource type for creator field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creditTextText for crediting persons or organizations.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creditTextSourceTypeSource type for credit_text field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
isRetiredCcUrlWhether this license url is in retired license list, which is from: https://creativecommons.org/retiredlicenses/ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddboolean
licenseTypeImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
licenseUrlRecords license URL.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
safesearchFlagsA bitwise-OR of SafeSearch filtering flags. If present, the flags will be a bitwise-AND between this value and all the classifier_porn::query::Vertical enums. If the value is -1, it indicates there is some error with SafeSearch classifier. The default value 0 means no filtering flags are set.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddinteger
sourceTypeImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
imageLinkSelectionInfoImage Selection Info.ImageSearchImageSelectionInfoImageMustangImageLinkSelectionInfo
urlThe image URL.ImageSearchImageSelectionInfoString
amarnaStatusInsight on why we do not have data for this imagelink.ImageSearchUnindexedImageLinkImageRepositoryAmarnaStatus
crawlStatusInfoFields for crawl-status-related debugging information.ImageSearchUnindexedImageLinkImageRepositoryCrawlStatusInfo
urlThe image URL.ImageSearchUnindexedImageLinkString
featureMultiple feature embeddings for this bounding box.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.list(ImageUnderstandingIndexingFeature)
labelGroupMultiple label annotations for this bounding box.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.list(ImageUnderstandingIndexingLabelGroup)
roiDetected bounding box. Leave it not set for whole image annotation.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.ImageUnderstandingIndexingImageRegion
annotationImageUnderstandingIndexingAnnotationGrouplist(ImageUnderstandingIndexingAnnotation)
bytesValueMultiple fields can be set. For example for Starburst V3, they can be used to store compressed byte, raw float feature, and tokens, respectively.ImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.String
floatValueImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.list(number)
imageTemplateLocal features.ImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.PhotosVisionObjectrecImageTemplate
int32ValueImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.list(integer)
versionImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.String
boxBounding box normalized to [0,1] scale independent on the image size. For example if the original image has the size 1600×1200, the rectangle [200, 200, 800, 600] from the image would have a normalized bounding box [1/8, 1/6, 1/2, 1/2].ImageUnderstandingIndexingImageRegionImage region produced by a detector.PhotosVisionGroundtruthdbNormalizedBoundingBox
scoreBox confidence score. This is used to store the confidence of the box proposal, not the score associated with any specific labels. The box proposal confidence score is a float number per region between [0, 1] indicating how likely a box contains an “object”.ImageUnderstandingIndexingImageRegionImage region produced by a detector.number
versionImageUnderstandingIndexingImageRegionImage region produced by a detector.String
canonicalTextHuman readable text.ImageUnderstandingIndexingLabelA single label with score and meta data.String
entityIdKG entity id.ImageUnderstandingIndexingLabelA single label with score and meta data.String
metaDataMeta data for topicality, visible labels, attribute, etc.ImageUnderstandingIndexingLabelA single label with score and meta data.list(ImageUnderstandingIndexingMetaData)
scoreConfidence score.ImageUnderstandingIndexingLabelA single label with score and meta data.number
labelImageUnderstandingIndexingLabelGroupLabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.list(ImageUnderstandingIndexingLabel)
versionImageUnderstandingIndexingLabelGroupLabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.String
floatValueImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.number
nameImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.String
stringValueImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.String
badSslCertificateIndexingBadSSLCertificateThis protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.TrawlerSSLCertificateInfo
urlWithBadSslCertificateThe URL where the bad SSL certificate really comes from. Present iff it is different from the source URL, i.e. a redirect target of the source URL).IndexingBadSSLCertificateThis protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.String
annotationSourceIndexingConverterLocalizedAlternateNameString
deviceMatchInfoDevice match info calculated only by URL pattern.IndexingConverterLocalizedAlternateNameString
ecnFpFp96 of webmirror ECN as of the last time the canonical was processed.IndexingConverterLocalizedAlternateNameString
feedUrlPopulated if annotation_source is SITEMAP.IndexingConverterLocalizedAlternateNameString
languageIndexingConverterLocalizedAlternateNameString
parsedLanguageParsed language and region code from language field.IndexingConverterLocalizedAlternateNameString
parsedRegionIndexingConverterLocalizedAlternateNameinteger
urlIndexingConverterLocalizedAlternateNameString
urlEncodingsee webutil/urlencodingIndexingConverterLocalizedAlternateNameinteger
rawFinalTargetFromRenderingFinal redirect target found from rendering. It is the same as the last element of raw_redirect_chain_from_rendering. It is used as an input source for the indexable fragment detection pipeline and also downstream phases.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.String
rawFinalTargetFromTrawlerThis is with-fragment version of redirect_with_contents. This field is populated only if there was a fragment. This field is used by indexing::mobile::GetRedirectTarget() defined in indexing/mobile/internal/smartphone-util.cc, which extracts the redirect target for smartphone optimized pages. The extracted target in turn is served in search results for smartphone users. We need with-fragment version because with-fragment url can return different content than fragment-stripped url. For example, http://www.example.com/m#article=11 and http://www.example.com/m can return different content. These cases are most typical for Ajaxy sites. This fragment does not have to be indexable.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.String
rawRedirectChainFromRenderingRedirect chain generated from redirect events in rendering. At the beginning of it, there could be some redirects from trawler (i.e. could be partial or entire trawler redirect chain), other redirects have their RedirectParams::is_redirect_from_rendering fields set to true. Redirects here have no RedirectChain::Hop::raw_target fields populated, and targets stored in RedirectChain::Hop::target fields are likely cleaned while keeping fragments (also sometimes they could be uncleaned ones because of cleaning failures), fragments could be indexable or non-indexable.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.IndexingConverterRedirectChain
renderingRedirectLimitThis is used to describe how many redirect hops from Webkit were kept in the raw_redirect_chain_from_rendering. If it is -1, it means it kept all the hops from Webkit in redirect chain.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.integer
hopIndexingConverterRedirectChainRedirect_chain is present for redirects, and absent for the final target. It contains the chain from the current hop’s target to the final target.list(IndexingConverterRedirectChainHop)
paramsIndexingConverterRedirectChainHopNOLINTIndexingConverterRedirectParams
rawTargetRedirect target with fragment. This field is populated only if there was a fragment.IndexingConverterRedirectChainHopNOLINTString
targetRedirect target URL and params of the current hop in the redirect chain.IndexingConverterRedirectChainHopNOLINTString
delayThe time difference between page loading and redirect occurrence. When missing, it means the redirect happens immediately (i.e. delay = 0). In seconds.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.integer
frameTargetDeniesFramingPopulated for SINGLE_FRAME and SINGLE_IFRAME redirects only and indicates that the target url requested not to be framed, by virtue of using the “X-Frame-Options” HTTP header.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
isDownloadIndicates corresponding redirect is a download. This field is only set when rendering redirect chain is used. This field represents the value of corresponding “RedirectEvent.target_content_downloaded” field.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
isRenderingRedirectIndicates corresponding redirect is from rendering if set to true.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
metaRedirectFromTrawlerIf set, it means that the redirect of type META was detected by Trawler (as opposed to the content processor.) Only makes sense when type is META.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
typeIndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.String
rangeIndexingConverterRichContentDataContains information about 3 versions of the content of a document: 1. Original: the crawled content (possibly patched in ConversionFilters). 2. Processed: the final version of the content indexed in Web search. 3. Intermediate (no longer generated): intermediate version between the original and the processed content. All 3 versions of the content consist of HTTP headers (in unknown encoding) concatenated with the document body (in interchange valid UTF-8 encoding).list(IndexingConverterRichContentDataRange)
rangeTypeIndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
sizeRange size when uncompressed, in bytes.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.integer
sourceTypeThe source of this range of content. Present iff ‘type’ is PROCESSED_ONLY or INTERMEDIATE_ONLY. Note: ‘source_type’ is not present for ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE because for those range types the source of their content is the original crawled content.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
sourceUrlThe source URL of this range of content. Present iff ‘source_type’ is present and ‘source_type’ is FRAME or FLASH or IFRAME.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
textThe content of the range, compressed with ‘text_compression_method’. Present iff ‘type’ is ORIGINAL_ONLY or ORIGINAL_AND_INTERMEDIATE or INTERMEDIATE_ONLY. Useful to reconstruct the original content or the intermediate content. Note: ‘text’ is not present for ORIGINAL_AND_PROCESSED and PROCESSED_ONLY because the processed content is already stored separately (in the contents column, and in CompositeDoc.doc.Content.Representation).IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
textCompressionMethodMethod used to compress the ‘text’ field. May be present only when the ‘text’ is present.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
contentExpirytime in unix time format after which this content should not be shown in the results. This in inferred from the X-Robots-Tag HTTP header with unavailable_after: Do not use this field directly. There is a column called content_expiration in Alexandria that includes this and other signals.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
convertToRobotedReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
disallowedReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
indexifembeddedReasonIMPORTANT: if you add a new field here, update the MergeRobotsInfo() function to merge the new field.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
maxImagePreviewMax image preview restriction applied to this data. A value of THUMBNAIL_UNSPECIFIED can be treated as though there is no restriction.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
maxSnippetLengthMax snippet preview restriction applied to this data. If this field is zero, it indicates that no snippet data can be displayed, therefore this field should be checked using has_max_snippet_length to determine if it was set.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
noarchiveReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nofollowReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noimageframeoverlayReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noimageindexReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noindexReasonBit map of RobotedReasons values. When set to a non-zero value, the document should not be indexed or archived etc. based on the name of the tag.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nopreviewReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nosnippetReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
notranslateReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
metadataIndexingConverterShingleFingerprintUsed for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.String
valueRepeated to allow for fingerprints larger than 64-bits.IndexingConverterShingleFingerprintUsed for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.list(String)
doubleIndexingExperimentIdOnly for double indexing experiments. This field is set for duplicated documents so that docjoin users will not see duplicated docs.IndexingCrawlerIdServingDocumentIdentifierString
dupExperimentIdOnly for Experimental clusters, not relevant for production serving data: Index-Dups can run experiments in Quality Clusters where different versions of the same document (e.g. with different signals) are serving in parallel. They are uniquely identified by the dup-experiment-IDs. This is for experimental clusters only. In prod-versions the member will not be set.IndexingCrawlerIdServingDocumentIdentifierString
keyThe primary identifier of a production document is the document key, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. The document key is the unique identifier for each document, but multiple document keys can cover the same URL (e.g. crawled with different device types). In your production code, please always assume that the document key is the only way to uniquely identify a document. Link for more background information: http://go/url The document key is populated for all docs in indexing since 2014-03. ## Recommended way of reading: const string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); Note: For older DocJoins (e.g. historical DocJoins), the field is not populated. In those scenarios it is recommended to use the function ‘GetDocumentKeyFromCompositeDoc’ in ‘//indexing/crawler_id/utils/compositedoc/compositedoc_util.h’ instead.IndexingCrawlerIdServingDocumentIdentifierString
phraseAnchorSpamCountHow many spam phrases found in the anchors among unique domains.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamDaysOver how many days 80% of these phrases were discovered.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamDemotedTotal number of demoted anchors.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamEndTime when anchor spam spike ended with padding.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamFraqSpam phrases fraction of all anchors of the document.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamPenaltyCombined penalty for anchor demotion.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamProcessedTotal number of observed anchors.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamRateAverage daily rate of spam anchor discovery.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamStartTime when anchor spam spike started with padding.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
anchorEndEnd date of the last anchor of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
anchorFraqRatio of spam demoted period to all anchor period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
anchorStartStart date of the first anchor of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedFollowing field record details of anchor demotion in action. How many anchors were demoted.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedAllDemoted all anchors in the period or only anchors classified as spam.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
demotedEndEnd date of the demotion period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedStartStart date of the demotion period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
phraseCountFollowing fields record signals used in anchor spam classification. How many spam phrases found in the anchors among unique domains.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseDaysOver how many days 80% of these phrases were discovered.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseFraqSpam phrases fraction of all anchors of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseRateAverage daily rate of spam anchor discovery.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
processedTotal number of processed anchors.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
sampledTrue if anchors were sampled during observation phrase.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
sourcesDetailed information about trusted sources and match computation. Populated only when –anchorspam_penalizer_debug=true.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.cclist(IndexingDocjoinerAnchorTrustedInfo)
spamDebugInfoAdditional debug information about computation of spam probability.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccString
spamPenaltyCombined penalty for anchor demotion.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
spamProbabilityPredicted probability of spam.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
trustedDemotedNumber of trusted anchors used in computation of spam probability.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
trustedExamplesExamples of trusted sources.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccString
trustedMatchingNumber of trusted anchors with anchor text matching spam terms.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
trustedTargetFollowing fields record details about trusted anchors True if is this URL is on trusted source.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
trustedTotalTotal number of trusted sources for this URL.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
penguinLastUpdateBEGIN: Penguin related fields. Timestamp when penguin scores were last updated. Measured in days since Jan. 1st 1995.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
badbacklinksPenalizedWhether this doc is penalized by BadBackLinks, in which case we should not use improvanchor score in mustang ascorer.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
penguinPenaltyPage-level penguin penalty (0 = good, 1 = bad).IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.number
minHostHomePageLocalOutdegreeMinimum local outdegree of all anchor sources that are host home pages as well as on the same host as the current target URL.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedRedundantAnchorCountSum of anchors_dropped in the repeated group RedundantAnchorInfo, but can go higher if the latter reaches the cap of kMaxRecordsToKeep. (indexing/docjoiner/anchors/anchor-loader.cc), currently 10,000IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
nonLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
mediumCorpusAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
penguinEarlyAnchorProtectedDoc is protected by goodness of early anchors.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
droppedHomepageAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
redundantanchorinfoforphrasecapIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap)
forwardedOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedNonLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
perdupstatsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsPerDupStats)
onsiteAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
penguinTooManySourcesDoc not scored because it has too many anchor sources. END: Penguin related fields.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
forwardedAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorSpamInfoThis structure contains signals and penalties of AnchorSpamPenalizer. It replaces phrase_anchor_spam_info above, that is deprecated.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.IndexingDocjoinerAnchorSpamInfo
lowCorpusAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
lowCorpusOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
baseAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
minDomainHomePageLocalOutdegreeMinimum local outdegree of all anchor sources that are domain home pages as well as on the same domain as the current target URL.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
skippedAccumulateA count of the number of times anchor accumulation has been skipped for this document. Note: Only used when canonical.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOnsiteAnchorCountAccording to anchor quality bucket, anchor with pagrank > 51000 is the best anchor. anchors with pagerank < 47000 are all same.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
pageMismatchTaggedAnchorsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
spamLog10OddsThe log base 10 odds that this set of anchors exhibits spammy behavior. Computed in the AnchorLocalizer.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.number
redundantanchorinfoIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo)
pageFromExpiredTaggedAnchorsSet in SignalPenalizer::FillInAnchorStatistics.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
baseOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
phraseAnchorSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.IndexingDocjoinerAnchorPhraseSpamInfo
anchorPhraseCountThe number of unique anchor phrases. Capped by the constant kMaxAnchorPhraseCountInStats (=5000) defined in indexing/docjoiner/anchors/anchor-manager.cc.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
ondomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainsAbovePhraseCapNumber of domains above per domain phrase cap. We see too many phrases in the domains.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainsSeenNumber of domains seen in total.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
scannedAnchorCountThe total number of anchors being scanned from storage.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
localAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
linkBeforeSitechangeTaggedAnchorsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
globalAnchorDeltaMetric of number of changed global anchors computed as, size(union(previous, new) – intersection(previous, new)).IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOndomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
mediumCorpusOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
offdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainPhrasePairsSeenApproxNumber of domain/phrase pairs in total — i.e. how many anchors we would have if the domain/phrase cutoff was set to 1 instead of 200. This is “approx” for large anchor clusters because there can be double counting when the LRU cache forgets about rare domain/phrase pairs.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
skippedOrReusedReasonReason to skip accumulate, when skipped, or Reason for reprocessing when not skipped.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.String
anchorsWithDedupedImprovanchorsThe number of anchors for which some ImprovAnchors phrases have been removed due to duplication within source org.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
fakeAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
redundantAnchorForPhraseCapCountTotal anchor dropped due to exceed per domain phrase cap. Equals to sum of anchors_dropped in the repeated group RedundantAnchorInfoForPhraseCap, but can go higher if the latter reaches the cap of kMaxDomainsToKeepForPhraseCap (indexing/docjoiner/anchors/anchor-loader.h), currently 1000.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainPhrasePairsAboveLimitThe following should be equal to the size of the following repeated group, except that it can go higher than 10,000.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
timestampWalltime of when anchors were accumulated last.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorCountCount of anchors kept from forwarding.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
collectTypeThis is EcnCollectType in anchor-ecn-matcher.h for the latest ECN of this dup: – kCollectNormal = 0, // Normal collection. – kCollectUnforwarded = 1, // Forwarding leader docid match only. – kCollectWhitelisted = 2, // Collected anchors matching whitelist. – kCollectNone = 4 // Skipped ECN anchor cluster.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
dupUrlIf missing, the same as the canonical.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.String
offdomainAnchorCountCount of offdomain anchors.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
redundantAnchorCountCount of redundant anchors.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
scannedAnchorCountThe number of anchors being scanned from storage per dupforwarding.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
timestampWalltime when this was scanned last.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
anchorsDroppedIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
domainIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
textIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
anchorsDroppedIndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCapinteger
domainIndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCapString
matchedScoreDifference in KL-divergence from spam and non-spam anchors. Value >0 indicate that anchor text from this trusted source is similar to anchors classified as spam which means that spammy anchors are legitimate.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
matchedScoreInfoDetailed debug information about computation of trusted anchors match. Populated only when –anchorspam_penalizer_debug=trueIndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.list(String)
phrasesScoreCount of anchors classified as spam using anchor text.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
siteSite name from anchor.source().site().IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.String
textTokenized text of all anchors from the site.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.list(String)
trustedScoreFraction of pages with newsy anchors on the site, >0 for trusted sites.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
extraMessageIndexingDocjoinerCDocBuildInfoHolds extra info except annotations and raw cdoc for buildint the final cdoc.Proto2BridgeMessageSet
timeAnnotationTagsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
photosGeoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSnippetSegmentSnippetSegmentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanRightsOptOutRequestIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAuthorshipAuthorAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusPositionRankAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
babelEncoderBabelEncodingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
sitemapsSitemapsSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaSentenceCompressionAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterFileMetaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDocImportanceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySosGoldmineSosAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNavboostCrapsCrapsDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnchorsOutdegreeOutdegreeInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsProductCompositionSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterProductBlockDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTangramInformationTypesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticStorytimeScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
foundationSplinterSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityResultFilteringIndexingClusterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
analyticsSiteidAnalyticsPropertyAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
localypIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientStuffSalientStuffSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanReviewsForWorkIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSpeedPageSpeedFieldDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpAtcClaraAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterDocumentShoppingDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeSporeEtlInputAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlxDocAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostSeismographEventAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMustangFaviconInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
i2eV2ImageEntitiesInfosIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikiJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsServingDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionDoubleIndexingExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingPlusoneSocialScoreSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityFreshnessAbacusInstantNegativeClicksInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStorytimeStampEngagementAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsinessAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalTableSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantClusterScorerSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamCookbookCookbookSitechunkAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
scienceIndexSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPhysicalMeasurementsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
modernFormatContentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPagemasterPagemasterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeSporeEtlAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsLinkedFeedLinkedFeedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityRichdataProtoImageAnchorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesGpgbGpgbNgramStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionFreshdocsPassthroughExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsTwitterEmbeddedTweetsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
voltIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumEncyclojoinsEncycloJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentAnchorDistIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeDeeplinkAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityQ2QualityBoostIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNegativeClicksNegativeClicksInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
priceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityImprovImprovAnchorsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoClickDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUdrExtraFactDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageRepositoryPicasaGeoDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsAnnotationsFeedContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPcuSignedExchangeInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsAdsaiMagicApfelApfelRegionFinderAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingDiscoverCorpusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityRichdataProtoRichdataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
acceleratedShoppingSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
smearingSmearedTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySimilarpagesRelatedInfoSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUrlPatternUrlTreeUrlPatternAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataLanguageInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAppsAffiliatedInstantAppInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebanswersTranscriptAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicCrawledSellerDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebanswersAltTitleSaftDocIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusteringTomeHorizontalLinkDescriptorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
firstseenIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fatcatSiteVerticalsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaMediaProcessingMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsFeedPageMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrSiteAuthorityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
amphtmlSignedExchangeValidationPayloadIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsUrlSourceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageContentColorSearchColorDetectionResultsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamJsJsInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalsImpressionsPerDayContainerIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUgcPageParamInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingPanopticAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rankBoostDocAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataSeriesInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocskeletonRepeatedPatternRepeatedPatternAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoDetailedEntityScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsAmenitiesAmenitiesAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
numberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterHorizontalReferenceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterRecordIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
officialPagesQuerySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
datacommonsDatacommonsTriplesSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingThirdpartyThirdPartyInputsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySearchoversiteAnnotatorStructuredResultsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocjoinerServingTimeClusterIdsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
freshboxFreshboxArticleAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsFactEvaluationSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
universalFactsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSpeechSpeechPagePropertiesProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionPriorScorerParameterSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGooglebombsGooglebombsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceCenterPieceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlVerticalVerticalClassificationResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefExperimentalWebrefEntitiesAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
verticalsDiscussionDiscussionAnnotationTagIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefReconcileResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentAuthenticAuthenticTextAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityLisztomaniaDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterLinkRelOutlinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileClientDependentInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRichsnippetsAppsProtosApplicationInformationAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarRowIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuAuxiliaryDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTwiddlerDomainClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageExtraImageExtraTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
creatorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrNsrDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPricedetectorKefirPriceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
lensVsaiDatasetsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMetricsUrlIndexingPropsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
ucpSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsHtmlTableSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
crawzallSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageSearchRejectedImageInfoListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
searchEngagementHighlightSharedHighlightSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceSectionTitleAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
discussionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsAdsaiMagicMagicPageTypeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterOfferIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
telephoneNumberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataContributorLinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
navboostBEGIN DATA FIELDSIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUdrExtraFactMentionDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantHistoricalContentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geostoreAddressProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStoryTeaserAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
authenticSiteRankDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantBaseReindexWhitelistDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppsDocRestrictionsDocPreviewRestrictionsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataParsedAccessTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicroformatsHproductIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaAnnotatorWikipediaPageComponentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceComponentLearningSourceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefEntityJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySummarySummaryIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoScoringSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
documentIntentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamScamScamnessIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsHiddenTextHiddenSpanAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarRowContainerIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsExtractionNewsPbeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaAliasListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
mapsSyntheticsGeoDocFetchKeyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsTypedNumberTypedNumberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningShoppingBrowseonomyDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikiMapperTripleSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrPairwiseqPairwiseQDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlAutomatedAudioExtractionSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamBrainSpamBrainPageClassifierAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAuthorityTopicEmbeddingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlDomainVideoClickDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
unwantedImageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamTokensSpamTokensAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefSalientEntitySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsStructuredSnippetsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fatcatCompactDocClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDatesDateTimesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalsAccumulatedOnlineSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSpeechGoldminePodcastAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeExtractorTopicAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikidataOrgTripleSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUnionKeyDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionImageImageSelectionAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDatasetModelAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionFastServingPushIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingProductReviewPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamScamUnauthoritativeSiteIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsObjectAnnotationsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsWebKvSiteGroupSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingDiscoverDocumentSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPiannoTvSeasonEpisodeIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusHubPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCommentBlockGroupsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlShoppingUniverseAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalFactScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsWaPassagesQueryToPassageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCanonicalUrlIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSentimentSentimentAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitIntermediaryMidsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTitlesSitelinksTargetTitleInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
localsearchAuthoritySiteAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingPlusonePlusOneSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeAuthoritySignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPcuAmpErrorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPeoplesearchNamedetectorNameOccurrenceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaDataRecoveryInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikibaseEntityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesLoginPageResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
safesearchPageClassifierOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
tableTalkStrideOfferPagePriceAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilitySnapshotHolderIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefGraphMentionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRodinRodinSiteSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
badurlsBadurlsForceSelectionSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTpfHowtodoHowtoVideoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamBrainSpamBrainDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataKgTopicLinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataInadvertentAnchorScoreAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsCrawzallAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsChromeBackgroundAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusStatusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicroformatsMicroformatAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeExtractorTripleAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGodclusterAffIdAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityBreadcrumbsBreadcrumbAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
infoextractionPinpointPinpointSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPersonPersonAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlDomNodeSegmentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceCenterpieceChecksumsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityVisualwebVisualWebModelsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalAggregatorUrlPatternSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
contraCuratedContentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGodclusterServerHeaderAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataParsedSuDocIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsIBertEmbeddingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsListFilterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
contraContentReviewAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebrefStatusIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesIndexSelectionRemovalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsAnnotationsContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterMetaDetectorsResultsProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeRtFactAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoSalientTermSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageembedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNavboostCrapsCrapsPatternSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
searcharSearchArPipelineSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsAggregateSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageContentAnnotationLabelsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateAnnotationTagsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppMarketAppMarketAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityCalypsoAppsLinkIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlVerticalVerticalClassificationV2IndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLayoutDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalFactMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
instantChromeViewsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dotsNewsstandSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoWebrefMentionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSocialCountsSocialWidgetsIndicatorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefRefconJugglerReferencePageMappingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrNsrSitechunksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnimaRoutinesRoutinesPropertiesProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlSemanticArticleIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataBibkeyComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumWikiaWikiaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
orbitIntentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataKnowledgeExplorationAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityFringeFringeQueryPriorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeRealtimeResultInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCollectionsDocCollectionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlYoutubeEmbedSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAppsMergedAppInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityVisualwebVisualWebAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsSchemaThingIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuRawDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikitrustWikiTrustInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
countryCountryAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocjoinerWikiInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoOverlayIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
timeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianPopulatorDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrUvSitechunksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStorytimeStampQualityAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticVoiceUgcAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterPdfFileMetaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
extractedBookInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostRealtimeBoostResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityViewsAnswersAnswerAnnotationInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHorizonRecordInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySitemapThirdPartyCarouselsItemListsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsWebanswersContextItemAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamFatpingIndexFeedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityCopiaFireflySiteInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHistoricalContentAgeIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingWebChannelsWebChannelAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicShoppingAnnotationSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
travelAssistantTravelDocClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBeringPublisherOnPageAdsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsImageRepositoryImageLicenseInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySalientTermsImageQuerySmearingListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefJuggernautIndicesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataItemSpecificBibdataComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseStoneSoupProtoRaffiaInstructionsSeqIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
emailAddressAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianBookMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySensitiveMediaOrPeopleEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySitemapDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsPodcastPodcastSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebfeederDocEmbeddingIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
noindexedImageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySensitiveFaceSkinToneSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientCountriesSalientCountrySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMustangWebsearchImageSnippetResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLandingPageProtoLandingPageSalientTextSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPricedetectorProductBlockAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarIndexingMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsWaPassagesTrimmedQueryToPassageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityGeoBrainlocGoldmineBrainlocAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsEventsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPiannoDocumentIntentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilityInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniNewsstandPcuIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumGoldmineTriplificationResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySalientTermsImageSalientTermSetMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsFeedbackSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPageClassificationSignalsSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlEntityInfoboxesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterVolumesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLabelmakerDocMediaLabelsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
amphtmlSignedExchangeErrorDetailsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
safesearchSafeSearchInternalPageSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileInterstitialsProtoDesktopInterstitialsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDocRestrictionsInDocRestrictionsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataRightsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsEventIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamCookbookCookbookAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingImagesRelatedImageSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageembedDomainNormIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientTermsQuerySmearingModelIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnimaLivewebLivewebAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsDiscussionThreadDiscussionViewProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsKatsSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitScopeSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsClassificationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCleanTextProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrPqDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchCoauthorOpinionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesDocSpamInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAllItemSpecificBibdatasIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDupsLocalizedLocalizedClusterIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantNewsImagesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterPdfPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumGoldmineTypeAssertionOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumWebkvWebKvIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitTripleSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
chromeCountsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingQualityShoppingSiteClassifierShopfabIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
discoverSourceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
boilerplateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
instantNavboostIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAnnotationMetaIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dotsGaramondSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
measurementAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
youtubeAlexandriaYoutubeBodyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingQualityShoppingSiteClassifierIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsRodinArticleAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesWordFrequenciesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageStockStockImageAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesBadPageParseResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrDokiAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsStorehoursStoreHoursAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterContentParserResultsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
socialPersonalizationKnexAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsArticleChecksumIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityImprovDocToQueriesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsHubDataAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedHashtagListAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionTensorFlowExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageRepositoryGeolocationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMonetizationFeaturedDocumentPropertiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardPredictedXlqIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticStorytimeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
robotsPolicyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilitySnapshotIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryUpdaterIndexSelectionAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fontsAnalysisAnnotatorFontsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlPageStructureIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesDataTableMidAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefUndermergedEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaIndexingIntermediateIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityProseJsonLdAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
predictedAuthenticityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsSporeFeedsSporeTriplesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsListSummaryAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantSignalSourceTagsExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomeMembersComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftNlxDocAnnotatorMigrationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
tasksTabaTabaDocSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppsCacheColonAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTablesTableInternalDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
boilerplateVisibleBytesEstimatesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsLocalizedFactIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsVerseAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientStructuresSalientStructureSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCustomCorpusCdmAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaOverlayCDocAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDeepwebStoreListAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataNewsEmbeddingAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlWatchPagePatternClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDiscoverUgcScatScatEmbeddingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityQ2SiteQualityFeaturesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSmartphonePatternClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningShoppingTwdModelVersionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
forumRankingForumPostsSafeSearchAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsPhoneTypePhoneTypeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingProductReviewIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsPageMapAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsVideosNewsVideoAnnotationSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsShoppingWebpxRawShoppingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseQueriosityGoldmineQnaAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsLicensedResourcesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTablesUniversalTableAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsSnippetSpansInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoWebGalleryIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicShoppingSiteQualityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitScopeFprintIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomeDetailsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesUnifiedModelFeaturesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterContentGenerationInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTimebasedTimeSensitivityTimeSensitivityAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantNewsHighlyCitedDocumentSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesCollapserInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
relativeDateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingWebentityShoppingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geoPointAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
infoextractionPinpointPinpointAnnotationSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNlqStructuredSearchAnnotationAnalysisAutomaticExtractionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesDataTableAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionProtoBasePromotionInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomePriceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsPageMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSubscribewithgoogleSwgAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSocialLinksSocialLinksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseScoredCompoundReferenceAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNearDupsInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityOrbitAsteroidBeltIntermediateDocumentIntentScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityProseThumbnailSelectionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTasksUniversalTaskAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefUniversalEmbeddingRetrievalDebugIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesTranslationMessageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
navBoostDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
langIdLangReasonerDocumentLanguagesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPageClassificationAnchorSignalsSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
watchpageLanguageWatchPageLanguageResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCrawlFilterNewsLinkCrawlSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySixfaceSixfaceUrlDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientTermsSalientTermSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsDataObjectIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
utilStatusProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateRangeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAutomobileVinAnnotatorAutomobileVinAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingLatticeLatticeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostRealtimeBoostEventIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingVideosVideoAnchorSourceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
metawebExtractionDocumentEvidenceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsListSnippetsAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantClusterScorerArticleIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
timeRangeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewromanIndexingNewRomanSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeGraphAcquisitionFeedsQuotesQuotesAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusLeafPageAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsVideosNewsAnchorSourceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingVideosVideoPlaylistAnchorSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsContentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nsrFdpDataMust be used together with quality_nsr_nsr_dataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionProcessingPriorityExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebrefEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
whatshappStrideExtractionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSectionHeadingAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateTimeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsShoppingSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPublicDomainInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedEcsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingShoppingProductReviewAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentImageMapPbIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsMetadescriptionDuplicateMetaSiteSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionAcquisitionMetadataAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPublicationDetailsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsConsolidatedEventsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantActiveClusterScorerSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianPopulatorPageDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsRdfaRdfaAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geoPointResolutionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedTopicFeedScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedHashtagAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentSiteAgeStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsUrlPredictionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingFreshSchedulerFreshSchedulerDoubleInstantExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
perDocLangidDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
youtubeAlexandriaYoutubeSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingFreshSchedulerOutlinkDiscoveryHistoricalHubsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoYoutubeLiveCardioCardioStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftRodinClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNlqStructuredSearchListingPagesListingPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSduPageTypeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSmartphoneContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsForEducationReadingStatisticsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicrodataMicrodataAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefReferencePagesClassifierScoredPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuParsedDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebshineDocResourcesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlAutomatedExtractionSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
uriAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusteringSeriesSeriesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardPredictedQueryFringeScoreIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHorizonProtoHorizonEmbeddingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
analyticsSiteidAnalyticsRenderedOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuMetaAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataMaterialInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySherlockKnexAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spambrainDomainSitechunkDataEND DATA FIELDSIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTitlesAlternativeTitlesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsEntityPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityGeoLoglocGoldmineDocumentLocationAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsDocumentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsAddressAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusRootAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPatentPublicationDetailsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityContraSelectedAttributionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rankembedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPreprocessingReferencePageCandidateListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rosettaLanguageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileObelixInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionLanguageExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
considerationTimestampMicrosSometimes, a piece of data may not exist for a document (and we don’t want to delete it), so timestamp_micros won’t exist. However, consideration_timestamp_micros will be set to indicate we tried to update that piece of data for tracking purposes.IndexingDocjoinerDataVersionVersionInfoString
humanReadableVersionIndexingDocjoinerDataVersionVersionInfoString
timestampMicrosThe timestamp when a piece of data is updated (or deleted if the data doesn’t exist in the update).IndexingDocjoinerDataVersionVersionInfoString
clusterIdThe unique id to distinguish members in cluster. It could be generated in different ways according to reason, e.g. LINK_REL_NEXT_PREVIOUS: it is the fingerprint of the URL of index 0; PAGE_PARAMETER_INFO: it is the fingerprint of pagination pattern (pagination_pattern_fp field in PageParamInfo message).IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.String
indexForDebuggingThe member index of this document in cluster. Starts from “0”. Note that indices of pages in a cluster may not be consistent with each other, because we may update them at different points in time. Currently only used for debugging.IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.integer
reasonThe reason why this document is clustered into this cluster.IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.String
clusterIdThe exact cluster metadata for each individual cluster if any.IndexingDocjoinerServingTimeClusterIdsThis message contains a set of cluster ids used to de-dup at serving time. A document could be clustered into different clusters according to different properties.list(IndexingDocjoinerServingTimeClusterId)
clusterIdCluster-ID of that locale entry. Not Populated if the message is part of a Cluster-Proto (e.g. when loaded as a signal). The data is being populated when the proto is used outside of the cluster context. For instance, when being used as a dups-computed-localized-alternate-name.IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
deviceMatchInfoDevice match info calculated only by URL pattern.IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
languageLanguage/Region code. E.g. “en-US” or “de”. Allowed values are language-region codes based on the W3C recommendation http://www.w3.org/TR/html401/struct/dirlang.html#langcodesIndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
urlThe alternate url representing the content for a specific language and region (or language only).IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
urlEncodingsee webutil/urlencodingIndexingDupsComputedLocalizedAlternateNamesLocaleEntryinteger
urlRegionCodeThe region code that was extracted from the URL, either by the TLD or via a pattern (like ‘en-ca’ as a path element).. Always filled in if known, unlike the sometimes left out region part of the language field. Unknown Region CodeIndexingDupsComputedLocalizedAlternateNamesLocaleEntryinteger
boostSourceBlockerDefined as a source-blocker, a result which can be a boost target but should itself not be boosted (e.g. roboted documents). For more details on source and target blocking, please read through the code for quality/twiddler/impls/PROTECTED/local_result_twiddler_v2.ccIndexingDupsLocalizedLocalizedClusterboolean
clusterIndexingDupsLocalizedLocalizedClusterlist(IndexingDupsLocalizedLocalizedClusterCluster)
deprecatedHreflangInfoSince July 2014 those two fiels are no longer populated, the data is stored in the TargetLinkSets instead. The deprecated fields contain values only for docs which have not been processed since July 2014.IndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo
deprecatedOutlinksInfoIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo
documentLanguageThe language of this document (as detected by on-page language detection, not influenced by external anchor signals or other indirect conclusions).IndexingDupsLocalizedLocalizedClusterString
hreflangTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
inbodyTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
outlinksTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
sitedupRuleIdThe list of Sitedup rule IDs for this specific URL. The value is only populated if the URL has at least one localized cluster fulfilling the following conditions: – spans more than one host – does not have filtering enabled due to other input (e.g. due to being a hreflang cluster).IndexingDupsLocalizedLocalizedClusterlist(String)
warningMessageA warning indicator that a problem has occurred, e.g. cross-domain links being filtered early. The warning is just presented for debugging purposes.IndexingDupsLocalizedLocalizedClusterlist(String)
clusterIdThe cluster id, a unique int64 id for the cluster.IndexingDupsLocalizedLocalizedClusterClusterString
clusterTypeIndexingDupsLocalizedLocalizedClusterClusterString
deprecatedDebugInfoDebug Info being attached to each cluster, to understand how it was created. That info is stored in Alexandria, but not available during serving.IndexingDupsLocalizedLocalizedClusterClusterlist(String)
filteringEnabledIndicates that filtering can be applied on the category (if many results of one cluster show up on the SERP, only one should be kept).IndexingDupsLocalizedLocalizedClusterClusterboolean
languageThe language as represented by the URL, e.g. ‘use this document on the cluster for German queries’.IndexingDupsLocalizedLocalizedClusterClusterString
regionCodeSame as language, except for the country. This is the Stable Region Code. This value may be UNKNOWN even though the URL region code is known, namely when the known region code was the main region for the language and for that language no other region is specified (e.g. de-DE being the only german variation). Unknown Region CodeIndexingDupsLocalizedLocalizedClusterClusterinteger
urlRegionCodeSimilar to region_code, but always has the value filled in if known. Unknown Region CodeIndexingDupsLocalizedLocalizedClusterClusterinteger
fpOutlinksA fingerprint of all outlink-URLs of this document that have been used as algorithmic input.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
lastModifiedInputTimestampMsThe last time the set of outgoing links of this document was modified. This is the input for our calculation.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
lastProcessedOutputTimestampMsThe last time the cross-validation of the links was done. Between that last timestamp and now, only cached results have been used.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
linkMemberAll verified members of the cluster (including recursive inclusions).IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.list(IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMember)
unvalidatedOutlinkIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.list(IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkData)
annotationSourceIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDataString
crawlTimestampIf set, represents the crawl timestamp. If not set, there is no known crawl timestamp for that url.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDatainteger
urlIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDataString
annotationSourceIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberString
languageCodeIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberlist(String)
urlIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberString
linkDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkLink
metaDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadata
targetDocDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocData
validationStatusIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.String
annotationSourceInfoIndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.list(IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfo)
crossDomainFor a link A->B where B is represented by this proto, cross_domain := Host(A) != Host(B).IndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.boolean
urlThe URL the information in TargetLink refers to.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.String
anchorTextOptional field for storing the anchor text the language code was extracted from. Applies to outlinks only.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
annotationSourceInformation about where the language code was extracted from.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
languageCodeLanguage code extracted from the URL (hreflang or outlink). One URL can represent multiple language codes, like e.g. de-at and de-chIndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
sourceFeedUrlOptional field that stores the feed URL where a Sitemap annotation was discovered. Only populated if annotation_source is SITEMAP.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
firstSeenMsWhen was the first time a link seen. Defaults to last crawled timestamp.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadataInformation derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).String
lastVerifiedMsWhen was the last time a link validated. Validation is the process of (re)reading the relevant information for a linked document from its respective row in the document table. Data needed for understanding the correctness of the cluster is copied over to have it available locally.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadataInformation derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).String
directTargetLinkDirect links are the simplest scenarios where A simply links to B.IndexingDupsLocalizedLocalizedClusterTargetLinkSetslist(IndexingDupsLocalizedLocalizedClusterTargetLink)
indirectTargetLinkRepeated field for URLs that are not directly linking to the document TargetLink refers to. We can encounter the following scenario: A -> Links to B -> links to C (i.e. without (A) linking to (C)). In the context of B, indirect_inclusion would include the link to ‘C’ but not the link back to ‘A’.IndexingDupsLocalizedLocalizedClusterTargetLinkSetslist(IndexingDupsLocalizedLocalizedClusterTargetLink)
contentLanguageThe detected on-page content language of the document.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.String
crawlStatusIndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.String
crawlTimestampSecondsThe timestamp of the last crawl attempt from crawl_timestamp column.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.integer
isCanonicalWhether the URL being validated is canonical at the time of processing.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.boolean
outgoingLinkDataRepeated field for data about the outgoing hreflang links that appear in the document that the currently processed URL refers to.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.list(IndexingDupsLocalizedLocalizedClusterTargetLinkLink)
compressedDocumentTreesThe document’s DOM and render tree produced by WebKit as a side effect of rendering the page. It might be compressed or not. Thus, use indexing::embedded_content::UncompressWebkitDocument to decode it.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
convertedContentsThe converted contents, as produced by the same DocumentUpdater transaction that generated the render tree. Useful whenever one of our users wants to experiment with deriving an annotation from the render tree.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
embeddedLinksInfoInformation about all external resources needed to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingEmbeddedContentEmbeddedLinksInfo
headlessResponseThe headless response for rendering the document.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21HtmlrenderWebkitHeadlessProtoRenderResponse
isAlternateSnapshotIndicate if the snapshot is generated from alternate snapshot. If true, the snapshot will be exported even if the snapshot quality score is low.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21boolean
originalEncodingThe original encoding of the content crawled from trawler. It’s the value of enum i18n::encodings::encoding. We put a int32 here instead of encoding proto to maintain the compatibility of “py_api_version = 1”IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21integer
rawRedirectInfo*** DEPRECATED *** This field is only populated in fresh_doc which is shutting down.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingConverterRawRedirectInfo
referencedResourceInformation about all external resources used to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21list(HtmlrenderWebkitHeadlessProtoReferencedResource)
renderedSnapshotOnly exist in dry run mode.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21HtmlrenderWebkitHeadlessProtoImage
renderedSnapshotImageSnapshot image of a rendered html document (possibly encoded as png, jpeg, or webp).IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
renderedSnapshotMetadataA collection of values which are needed by the users of the Kodachrome bigtable.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21SnapshotSnapshotMetadata
renderedSnapshotQualityScoreThe quality of the image, 0.0 is the worst, 1.0 is the best. If all dependencies are successfully crawled, the quality should be 1.0. If one or more of the dependencies are unknown, the quality will be lower.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21float
renderingOutputMetadataIndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingEmbeddedContentRenderingOutputMetadata
richcontentDataThe rich content data to recover the original contents from the converted_contents. Useful for offline content analysis.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingConverterRichContentData
embedderInfoThis field is optional only because we’re adding it late and want to support records written before that. For newly produced records, this field should always be set.IndexingEmbeddedContentEmbeddedLinksInfoIndexingEmbeddedContentEmbedderInfo
linkIndexingEmbeddedContentEmbeddedLinksInfolist(IndexingEmbeddedContentLinkInfo)
pageSizeInfoPage download size.IndexingEmbeddedContentEmbeddedLinksInfoIndexingEmbeddedContentPageSizeInfo
sumHttpResponseLengthThis field is the sum of http_response_length for the embedder and all embedded resources. This is expected to be set only in the docjoins, not in the pinax tables or the exported bigtable.IndexingEmbeddedContentEmbeddedLinksInfointeger
uncrawledLinkUrlIndexingEmbeddedContentEmbeddedLinksInfolist(String)
importanceAsEmbedderIndexingEmbeddedContentEmbedderInfointeger
linkInfoIndexingEmbeddedContentEmbedderInfoIndexingEmbeddedContentLinkInfo
counterIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.list(IndexingEmbeddedContentFetchHostCountCounter)
hostIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.String
numIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.integer
nameIndexingEmbeddedContentFetchHostCountCounterString
numIndexingEmbeddedContentFetchHostCountCounterinteger
adsResourceTypeIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
crawlStatusThe field always exists, and has four options: UNKNOWN, CONTENT, ROBOTED and ERROR, which are defined in indexing.converter.CrawlStatus.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.integer
criticalResourceTypeIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
fetchWithSmartphoneUaTrue if the response is fetched with SMARTPHONE user agent.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isAdsResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isCriticalResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isTrivialResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
numTrawlerFetchesNumber of trawler fetches while fetching this URL. In most cases, this number will be 0 or 1.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.integer
rewriteMethodUsed for logging purposes only here.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
robotsInfoNote that this robots_info should only be used for noindex_reason and will only be present for TARGET_MAIN_FRAME / TARGET_SUBFRAME fetches.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.IndexingConverterRobotsInfo
contentLengthSize of the HTTP body (payload of the HTTP response, excluding headers), pre-decompression. Equal to the value of the Content-Length header if any. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response (i.e. http_response_length) as an approximation, as we could not get the size of HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
contentTypeIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlDurationTime spent downloading this resource, in milliseconds. Not a timestamp!IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlStatusEnum values for crawl_status are defined in indexing/converter/proto/converter.protoIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlTimestampIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
deprecatedRedirectIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18list(String)
fetchSourceInfoWhere this resource comes from.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18list(WirelessTranscoderFetchFetchSourceInfo)
fetchStatusFetch status from trawler.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18TrawlerFetchStatus
fetchUrlResponseMetadataPopulated from embedded-content fetch server.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18IndexingEmbeddedContentFetchUrlResponseMetadata
frdFetchReplyData from trawler.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18TrawlerFetchReplyData
httpResponseLengthSize of the full HTTP response (headers and body pre-decompression). Semantically equal to content_length plus size of the HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
isCacheableIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18boolean
isRobotedContentFromFastnetIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18boolean
uncompressedContentLengthSize of the HTTP body (payload of the HTTP response, excluding headers), post-decompression. Equal to content_length if the body was not compressed to begin with. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response as an approximation, as we could not get the size of HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
urlIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18String
webkitFetchMetadataIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata
documentDataIndexingEmbeddedContentOutputGenerationTimestampsFor each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn’t change. Next tag available: 8integer
renderedSnapshotIndexingEmbeddedContentOutputGenerationTimestampsFor each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn’t change. Next tag available: 8integer
numImagesImages are also resources. num_images <= num_resources.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numImagesWithContentNumber of images whose crawl status is CONTENT.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numResourcesNumbers below don’t include embedder.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numResourcesWithContentNumber of resources whose crawl status is CONTENT.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
sumHttpResponseLengthSum of embedder and all referenced resources.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
cacheExpireTimestampUsecWhen the rendered content would expire from the cache in microseconds.IndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
crawledSimhashDistanceIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6integer
lastRenderedTimestampUsecThe last time the document was rendered, in microseconds. Does not update in case of cache use.IndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
renderCacheIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
renderedSimhashDistanceIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6integer
fetchHostCountA host->count mapping to log how many embedded_links in each host finally goes to trawler during rendering.IndexingEmbeddedContentRenderingFetchStatsFetch stats during rendering.list(IndexingEmbeddedContentFetchHostCount)
configParamsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderRequestConfigConfigParams
exceptionsThe exceptions observed during the rendering. In bit-field encoding of enum values of RenderResponse.RenderingException.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
experimentalRenderTimeMsecTotal GCU time for rendering the document in millisecond. This data is from render_stats.render_cost_mgcu in RenderResponse proto. Note that this is *experimental* field. Please check with rendering-infra@ if you want to use.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
generationTimestampsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentOutputGenerationTimestamps
importanceThe importance value of the rendered document.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
lastNewContentProbingTimestampThe timestamp of last new content probing.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
newTokensPercentageAfterRenderingPercentage of new tokens in the rendered the document content.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
numNewTokensFoundInRenderingIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
refreshIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30boolean
renderCacheStatsA collection of fields to track stats on cache use in the Rendering microservice.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderCacheStats
renderEngineIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderEventDifferent types of events which happened during rendering.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30list(HtmlrenderWebkitHeadlessProtoRenderEvent)
renderServerClThe CL from which the render engine was built.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderTreeQualityScoreIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
renderedSnapshotSignatureShort signature (usually less than 1 KB) which captures a perceptual hash on the rendered image. This is used to determine whether successive renderings should be output. See the library in googlen/snapshot/shared/similarity.* for more info about how this value is interpreted and used.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderedTimeUsecCurrent time in microseconds the document is going through rendering system. This field is set regardless of whether the document is being rendered or if we are skipping rendering by using a cache.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderingFetchStatsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderingFetchStats
selectionResultThe corpus selection result. Can be used for offline analysis.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentSelectionResult
snapshotQualityScoreThese scores are copied from htmlrender_webkit_headless_proto.Document.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
withMissingResourcesTrue if there were any missing resources during the rendering.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30boolean
virtualTimeIndexingEmbeddedContentRenderRequestConfigConfigParamsfloat
renderEffortIndexingEmbeddedContentSelectionResultOutput that indicates a url should be in our corpus.String
selectorIdIndicate which selector has made the decision.IndexingEmbeddedContentSelectionResultOutput that indicates a url should be in our corpus.String
idUnique ID.IndexingMlVerticalVerticalIteminteger
nameThe description name.IndexingMlVerticalVerticalItemString
petacatIdThe corresponding Petacat ID.IndexingMlVerticalVerticalIteminteger
probabilityThe probability of the vertical, whose value is in [0.0, 1.0].IndexingMlVerticalVerticalItemnumber
detailsIndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.list(IndexingMobileInterstitialsProtoDesktopInterstitialsDetails)
pipelineEpochEpoch of the interstitial offline pipeline generating this signal.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.String
pipelinePatternIf present, pipeline_pattern identifies the cluster of URLs for which the signal value was smeared.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.String
urlTreeURL tree of interstitial patterns belong to the host, to be used as site-level signal in Index Signals. A pattern may contain a payload InterstitialPatternPayload, which will indicate the violated interstitial types of this pattern.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.IndexingUrlPatternUrlTreeUrlTree
violatesDesktopInterstitialPolicyOverall policy violation status. If this is true, at least one of the InterstitialSignal below indicates a violation.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.boolean
basicInfoIndexingMobileInterstitialsProtoDesktopInterstitialsDetailsAn optional message that may contain details of the signals computation.IndexingMobileInterstitialsProtoInterstitialBasicInfo
isSmearedSignalIndicates whether the signal value is “smeared”, e.g. extrapolated from other URLs.IndexingMobileInterstitialsProtoDesktopInterstitialsDetailsAn optional message that may contain details of the signals computation.boolean
absoluteBoxStores the geometry of detected interstitial in absolute page pixels.IndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.HtmlrenderWebkitHeadlessProtoBox
contentTypeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
detectionModeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
layoutTypeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
clsCumulative Layout Shift.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
fidFirst Input Delay.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
inpIndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
lcpLargest Contentful Paint.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
desktopCwvDesktop Core Wev Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet.IndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.IndexingMobileVoltCoreWebVitals
desktopDisplayUrlIsHttpsIndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.boolean
displayUrlIsHttpsIndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.boolean
mobileCwvMobile Core Web Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet.IndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.IndexingMobileVoltCoreWebVitals
restrictionCategoriesIndexingPrivacyAccessAccessRequirementslist(String)
clicksGoodIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksGoodPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksTotalIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksTotalPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
ctrwiIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
ctrwiPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
dwellsIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
dwellsPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
luDwellsIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
luDwellsPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
averageChanceTimeWeighted averged timestamps of the decayed chances.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
chancesNumbers below are all total in the decayed manner. To get rate of impression/clicks, divide by chances.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksBadIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksGoodIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksImageIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksTotalIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksUnclassifiedIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
coverageTimestampEpoch seconds at which this weighted coverage data was calculated.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
ctrWeightedImpressionsIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
dwellsDwells from KnowledgePanel and WebAnswers.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
firstBaseCoverageTimestampEpoch seconds at which this url first gets coverage in BASE.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
firstCoveragePagerankNsThe pagerank when the url was serving for the first time.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
firstCoverageTimestampEpoch seconds at which this url first gets coverage data.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
firstseenIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
impressionsIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
intervalDataInterval Data to track the average time between clicks_total, clicks_good, and ctr_weighted_impression.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28IndexingSignalAggregatorAdaptiveIntervalData
languageIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastDwellDateInDaysIndicates the date when this document received the last KnowledgePanel or WebAnswer dwell. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastGoodClickDateInDaysIndicates the date when this document received the last good click. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastImpressionDateInDaysIndicates the date when this document received the last impression. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastLuDwellDateInDaysIndicates the date when this document received the last LocalUniversal dwell. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastPseudoImpressionsDateInDaysIndicates the date when this document received the last pseudo-impression. I.e., when it was retrieved as a result but GWS would not show it because of the document’s age in the index. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
luDwellsDwells from LocalUniversal.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
repidRepid in Alexandria pipeline.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
totalChancesTotal number of chances on this urls (not decayed).IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
urlIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
urlfpTemporary variable, only used during mapreduce.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
deviationA number reflecting the deviation of Url scores.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
m2State variables for West & Chan variance algorithm used to be stored here directly. Now they are stored inside RunningMeanAndVarianceInternalState.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
maxScoreUrlInput UrlScore with max score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
meanIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
meanScoreOverall stats that are only available in final aggregation results. The aggregated score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
minScoreUrlInput UrlScore with min score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
numImportantUrlsIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
numUrlsMatchedFinal Stats that are also available in intermediate output. Number of Urls matching the class.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
numUrlsWithSignalNot every matching url has a signal.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
patternLayerExperimental layer of the corresponding pattern.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
patternsUsedInMediationOptionally populated in mediators. A list of patterns that actually contributed to the final mediated signal.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(String)
percentileScore percentile of matching urls. If present, it has N entries for buckets of roughly equal number of urls. N is specified the aggregation. The value is the min score in that bucket.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(float)
runningMeanAndVarianceInternalStateIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorRunningMeanAndVarianceInternalState
samplesRandom samples.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(IndexingSignalAggregatorUrlScore)
scoresfor calculating percentileIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(float)
signalIdFor debugging purposes, this is an id of the signal associated with this AggregatedScore. For pattern score, this may be the length of the pattern.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25integer
singleUrlScoreIf this field presents, it is for a single url. No other field should appear.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
totalScoresummation varaible used to get meanIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreLowlow-order part of total_scoreIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreSqrsummation variable for calculating deviation note, these are now only used for legacy and debugging purposesIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreSqrLowlow order part of total_score_sqIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalWeightfor calculating weighted mean/devIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalWeightLowlow order part of total_weightIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
m2The variable which in the Wikipedia page is referred to as M_2: m2 = w_1 * (x_1 – mean)^2 + … + w_n * (x_n – mean)^2. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update m2 in a numerically stable way when the data set grows. If total_weight = 0, then m2 is meaningless, and its value is unspecified, except that it must be finite and >= 0.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
meanMean of the data set, mean = (w_1 * x_1 + … + w_n * x_n) / total_weight. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update this mean in a numerically stable way when the data set grows. If total_weight = 0, then mean is meaningless, and its value is unspecified, except that it must be finite.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
totalWeightTotal weight of the data set, total_weight = w_1 + … + w_n.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
parentPatternIndexingSignalAggregatorSccDataIndexingSignalAggregatorSccSignal
patternThe most immediate pattern data.IndexingSignalAggregatorSccDataIndexingSignalAggregatorSccSignal
clicksBadIndexingSignalAggregatorSccSignalfloat
clicksImageIndexingSignalAggregatorSccSignalfloat
clicksTotalIndexingSignalAggregatorSccSignalfloat
debugInfoFor debugging purpose only.IndexingSignalAggregatorSccSignallist(String)
numImageUrlsThis represents the number of urls with image clicks. A url can have both image and non-image clicks, in which case we set num_image_urls to be the ratio of image_clicks vs total clicks. For example, if a url has 10 total clicks and 7 image clicks, num_image_urls will be set to 0.7.IndexingSignalAggregatorSccSignalfloat
numUrlsIndexingSignalAggregatorSccSignalString
patternFor debugging purpose only.IndexingSignalAggregatorSccSignalString
coverageIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAgeWeightedCoverageData
pagerankScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
patternScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
priorSignalIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7list(IndexingSignalAggregatorUrlPatternSignalsPriorSignal)
regexpPatternScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
sccDataIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorSccData
aggregatedScoreIndexingSignalAggregatorUrlPatternSignalsPriorSignalThis message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.IndexingSignalAggregatorAggregatedScore
priorSignalIdIndexingSignalAggregatorUrlPatternSignalsPriorSignalThis message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.String
dsacNumWeeklyPerfRecordsThe number of weekly performance records if the UrlScore is extracted from the DSAC data. It should be used in case a URL is no longer served. As of 2014-10-14, this field is for the evaluation purpose only.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.integer
eligibleExperimentalLayerIf this field is set, it indicates the url is eligible to be aggregated to one of the experimental layers.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
firstServedTimestampThe timestamp of the first time this document is served anywhere.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
isImportantWhether this url has important signal. Used for keeping patterns that match too few URLs but some of them have good clicks.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.boolean
scorescore might be missing if the url does not have signal.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.float
urlurl might be missing if we can get it from sstable key.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
weightweight for this url.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.float
audioDurationDuration of audio in processed fragment (including non-speech), in seconds.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
audioOnlyIf true, the media file is audio-only. If false, also has video track(s).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).boolean
estimatedAudioDurationEstimated duration of audio in the whole file (including non-speech), in seconds. If this is greater than 0, then it will either be equal to audio_duration (when truncated_file is false), or to the length of the content (audio or video) according to the file header (when truncated_file is true).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
estimatedAudioDurationConfidenceOur confidence in the duration estimate, on a scale from 0 (not confident) to 1 (very confident). An estimate should have a confidence of at least 0.5 if it is to be shown to users.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).number
languageCodeThe spoken language, see i18n/identifiers/languagecode.h and go/gl2014. This may or may not match the language of the written page. (Examples: “en”, “sv”, “zh-CN”).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).String
numWordsTotal number of recognized words in processed fragment.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
recognizerAccuracyMeasure of the estimated output accuracy from the speech recognition code, from 0 to 1. Based on word-level confidence and possibly other factors.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).number
speechDurationDuration of speech in processed fragment, in seconds.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
truncatedFileIf true, we may have processed a truncated file (most likely due to a size-cutoff when crawling). As a result, the audio duration is a lower bound and the other fields reflect only the processed prefix of the file.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).boolean
featuresIndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.IndexingUrlPatternUrlTreeUrlFeatures
patternIdThe fingerprint of the features string.IndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.String
payloadIndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.Proto2BridgeMessageSet
fingerprintIndexingUrlPatternUrlTreeUrlFeatureString
fingerprintWithGroupInTypeIf consider position when calculating fingerprint of url feature.IndexingUrlPatternUrlTreeUrlFeatureboolean
groupInTypeUsed together w/ type field to group features, for finding features with too many possible values.IndexingUrlPatternUrlTreeUrlFeatureString
typeIndexingUrlPatternUrlTreeUrlFeatureString
valueIndexingUrlPatternUrlTreeUrlFeatureString
featureIndexingUrlPatternUrlTreeUrlFeatureslist(IndexingUrlPatternUrlTreeUrlFeature)
bigBranchKeeping information for dominating branches separately, to prevent docs on smaller branches from being dropping during sampling.IndexingUrlPatternUrlTreeUrlTreelist(IndexingUrlPatternUrlTreeBigTreeBranch)
debugInfoIndexingUrlPatternUrlTreeUrlTreeIndexingUrlPatternUrlTreeUrlTreeDebugInfo
keyIndexingUrlPatternUrlTreeUrlTreeIndexingUrlPatternUrlTreeUrlTreeKey
nodenode(0) is root.IndexingUrlPatternUrlTreeUrlTreelist(IndexingUrlPatternUrlTreeUrlTreeNode)
retrievalTimestampUsed in url pattern matcher for cache invalidation.IndexingUrlPatternUrlTreeUrlTreeinteger
siteThe key for this UrlTree, also will be the key in sstable. The old format is site, while the new format will be UrlTreeKey. Only one field can be set in the same time for site and key.IndexingUrlPatternUrlTreeUrlTreeString
timestampThe time when this UrlTree is built, encoded as seconds past the epoch (Jan 1, 1970).IndexingUrlPatternUrlTreeUrlTreeinteger
treeInfoAny additional information.IndexingUrlPatternUrlTreeUrlTreeProto2BridgeMessageSet
innerSimilarityIndexingUrlPatternUrlTreeUrlTreeDebugInfofloat
crawlerIdIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
domainIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
hostnameIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
indexOfSubTreeWithSplittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeinteger
indexOfSubTreeWithoutSplittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeinteger
parentIndexingUrlPatternUrlTreeUrlTreeNodeinteger
pathFromRootThe path from root to current node. This is only used for debugging.IndexingUrlPatternUrlTreeUrlTreeNodeString
patternIdThis is only used in leaf nodes which represents a url pattern. It is the fingerprint of the splitting url features from root to the leaf.IndexingUrlPatternUrlTreeUrlTreeNodeString
payloadIndexingUrlPatternUrlTreeUrlTreeNodeProto2BridgeMessageSet
splittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeIndexingUrlPatternUrlTreeUrlFeature
splittingFeatureScoreThe information gain of content features when selecting this splitting feature to split the node.IndexingUrlPatternUrlTreeUrlTreeNodefloat
gibberishResultIndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.String
numGibberishSegmentsThe number of the above segments that were classified as gibberish.IndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.integer
numSegmentsClassifiedThe number of ASR segments that were sent for classification.IndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.integer
KaltixRankapprox. 2 bytes for top 1BKaltixPerDocDatainteger
LocalKaltixRankempty for nowKaltixPerDocDatainteger
SiteKaltixRankempty for nowKaltixPerDocDatainteger
regionTypeThe particular type of region should be explicitly set to disambiguate.KeGovernanceTypedRegionsWrapper message containing list of regions and their corresponding type of region signal to use in data governance.String
regionsValues are go/iii RegionCode in capital case. It is a good practice to keep elements in this list unique, although not enforced. In case of duplicated entries, they’ll be treated as if there were only one entry of the same value.KeGovernanceTypedRegionsWrapper message containing list of regions and their corresponding type of region signal to use in data governance.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersAnyTypeAccepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersAnyTypeAccepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.NlpMeaningMeaningRemodelings
attributeUse in parsing: the value filled with must be in the list of this. If no attribute ids are specified, this value can be filled with any attribute.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.NlpMeaningComponentSpecificContracts
pivotEntitySlotIf exist, the attribute will be applied on the given pivot slot. This helps type checking when qrewrite constructs function calls with an attribute-typed slot.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.String
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersBooleanTypeA BooleanType configures a yes/no value.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersBooleanTypeA BooleanType configures a yes/no value.NlpMeaningMeaningRemodelings
collectionThe collection this value is filled with must be one of these collections (denoted by a /collection/* id). If no collections are specified, this value can be filled with any collection.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersCompoundTypeA CompoundType configures a value composed of multiple answer values.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersCompoundTypeA CompoundType configures a value composed of multiple answer values.NlpMeaningMeaningRemodelings
slotNamesKnowledgeAnswersContainerTypelist(String)
allowAllRangeResolutionsIf true, will allow all resolutions that are ranges.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsIf true, overrides all other options in this message and allows any kind of DateTime annotation.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsExceptHolidaysIf true, will allow all resolutions except holidays.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsWithout4digit24hrTimeIf true, will allow resolutions that aren’t contiguous sequences of 4 digits annotated as 24-hr times. These are often mis-interpreted years or postcodes.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsWithoutTimeIf true, will allow resolutions without an explicit hour. Symbolic ranges such as [this evening] are not considered as explicit hour, but the range [1-3pm] is considered as explicit.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowDayResolutionIf true, will parse a mention to DateTime of resolution day. This allows parsing strings like “August 30th”, “2012-12-25”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowDayResolutionExceptHolidaysOrOrdinalIf true, will allow day resolutions except holidays or ordinal numbers, such as “today”, “December 13”, but “Christmas”, “first” are not allowed.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowHourResolutionIf true, will allow resolutions with an explicit hour such as “8am”, “5pm”.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowMonthResolutionIf true, will parse a mention to DateTime of resolution month. This allows parsing strings like “this August”, “2012-12”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowNowResolutionIf true, will allow “now” resolutions, but not any other timeKnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowSymbolicTimeIf true, will allow symbolic time resolutions such as “tonight”.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowTimeResolutionsWithoutExplicitTimezoneIf true, will allow time resolutions without an explicit timezone.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowYearResolutionIf true, will parse a mention to DateTime of resolution year. This allows parsing strings like “Next year “, “2010”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17NlpMeaningMeaningRemodelings
subTypeKnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17String
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDependencyTypeNlpMeaningComponentSpecificContracts
containerTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersContainerType
intersectTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersIntersectType
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDependencyTypeNlpMeaningMeaningRemodelings
sameTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersSameType
unionTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersUnionType
refersToFullMrfTrue iff this ReferentialResolution is part of an intent and refers to the full MRF subtree (rather than just the intent).KnowledgeAnswersDialogReferentialResolutionHow a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -> “his” is resolved from the Obama entity obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsboolean
resolutionTypeKnowledgeAnswersDialogReferentialResolutionHow a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -> “his” is resolved from the Obama entity obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsString
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.NlpMeaningComponentSpecificContracts
rangeConstraintRange constraint limits the set of durations accepted. The values of the range are in milliseconds. Currently, this constraint is only enforced in Loose Parser.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.KnowledgeAnswersRangeConstraint
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.NlpMeaningMeaningRemodelings
collectionThis field specifies that containing entity must be: – in *any* ‘collection’ if ‘in_all_collections’ is false (default) – in *every* ‘collection’ if ‘in_all_collections’ is true. The collection field contains strings of the form ‘/collection/’. If no collections are specified, this value can be filled with any entity. A collection specified as an empty string has a special meaning for Aqua induction, which is that the type includes all entities.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10NlpMeaningComponentSpecificContracts
excludedCollectionThe entity that this value is filled with must not be any of these collections (denoted by a /collection/* id). This restriction does not affect parsing; it is used only to filter attributes in the extraction flow.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
idThe entity that this value is filled with must be one of the following explicitly specified KG-ids.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
identifierThe entity that this value is filled with must be of the explicit type and/or contain the explicitly specified id. This field can not be used for kg mids, which should directly use the id field above.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(KnowledgeAnswersIntentQueryIdentifier)
inAllCollectionsKnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10boolean
includeGeolocationDataIf this is set to true for a slot and the entity is a location, the latitude and longitude will be available in variables $SlotName_Latitude and $SlotName_Longitude, respectively. The latitude and longitude data comes from KG.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10boolean
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10NlpMeaningMeaningRemodelings
facetNameOptional, as this can take the name of the slot/schema its associated with or it might need to map onto something different.KnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
inputSlotNameRequired, the slot into which we put any ungrounded string or midKnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
outputSlotNameOptional, if absent output_type will be used for typing, or this is a MRF operatorKnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
alternateLanguageLanguage of all of the non-annotation tokens of the query interpretation, if it is different than |language|. This can happen with English smearing, e.g. [height rousseau] will trigger as “fr” when issued in fr/FR, but really the language is “en”. This can also happen when we have extra information about the language model, e.g. language=”zh”, alternate_language=”zh-Hant”.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
definitenessKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
languageLanguage of parsed query.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
moodSince there’s only IMPERATIVE, consider using Marker.command instead.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
pluralityKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
polarQuestionWhether or not the question is a polar (yes/no) question.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeboolean
sentimentSentiment analysis attached to an intent implies the sentiment user expressed behind that query. This is generated by the Empathetic Servlet in the QRewrite.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeSentimentSentiment
tenseKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
customVehicleActionArgumentAnnotatorSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals
freetextAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryFreetextAnnotationSignals
nimbleAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryNimbleAnnotationSignals
ntprAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryNTPRAnnotationSignals
qrefAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryQrefAnnotationSignals
semanticAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQuerySemanticAnnotationSignals
teleportArgumentAnnotatorSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryTeleportArgumentAnnotatorSignals
componentsKnowledgeAnswersIntentQueryArgPathlist(KnowledgeAnswersIntentQueryArgPathComponent)
argNameKnowledgeAnswersIntentQueryArgPathComponentLINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between “sibling” (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{“Z”, 0}, {“Z”, 0}} It’s the first of two Z “siblings” under A, then the only Z under B. The path to the Y=7 argument is {{“Z”, 1}, {“Y”, 0}} It’s the second of two Z “siblings” under A, then the only Y under C. The path to the Z=B(…) argument is {{“Z”, 0}} It’s the first of two Z “siblings” under A.String
indexKnowledgeAnswersIntentQueryArgPathComponentLINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between “sibling” (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{“Z”, 0}, {“Z”, 0}} It’s the first of two Z “siblings” under A, then the only Z under B. The path to the Y=7 argument is {{“Z”, 1}, {“Y”, 0}} It’s the second of two Z “siblings” under A, then the only Y under C. The path to the Z=B(…) argument is {{“Z”, 0}} It’s the first of two Z “siblings” under A.integer
evalDataThis field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this argumentKnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpSemanticParsingAnnotationEvalData
heuristicEvalDataEval_data was not derived at parsing time (i.e. is not expected to be produced by the IG), but heuristically determined by matching the ArgumentValue to an annotation/query fragment.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpSemanticParsingAnnotationEvalData
keySlot schema key for this Argument. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions. Note: Currently MeaningSchemaSlotKey proto has both mid and unique_id. In future, only mid will be present in it. We are in the process of moving “unique_id” out of it. See (b/168907943). Note: The logged version of intent_query will only have “mid” populated in it to save space and avoid data duplication.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMeaningSchemaSlotKey
modifiersA flattened representation of all intent modifiers that apply to this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentModifiers
nameName of this argument. If this Argument is part of a FunctionCall, it must have a name or it is not well-formed. If this Argument is from an Annotator, the name field should be empty.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
signalsSignals associated with this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryArgumentSignals
valueThe value of this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryArgumentValue
anaphorIf populated, the current query contains an anaphor that refers to the value. For example: U: Weather in Paris. [Weather(location=paris)] G: 65 degrees and sunny. U: How many people live there? [Population(city=paris)] The “there” in the current query would have the “anaphor” field set. NOTE: after a string rewrite this field will not be populated anymore if the rewrite replaced the anaphor with the corresponding value. For example, if we rewrite [How many people there] to [How many people in Paris], the CurrentQuerySignals for “paris” will not contain an “anaphor” message anymore in the following turns. It will only contain an eval_data for the span that corresponds to “paris” in the query.KnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphor
attentionalEntityKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntity
currentQueryNOTE: PreviousQuery is used for values that originate directly from QRef entities annotated in the user query. AttentionalEntity is used for values that come from the system (entities published by a dialog). These values could also originate from an entity annotated by QRef in the query, but this is not necessarily the case. SearchAnswerValue is used for values that come from the system as part of the answer of the user query. For example: U: Wife of Barack Obama G: Barack Obama’s wife is Michelle Obama Here “Barack Obama” can have an ArgumentProvenance of PreviousQuery, or AttentionalEntity if a dialog publishes that entity and the interpretation pulls the value from it. “Michelle Obama” can have an ArgumentProvenance of SearchAnswerValue, or AttentionalEntity if the dialog publishes that entity and the interpretation pulls the value it.KnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQuery
injectedContextualSchemaKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceInjectedContextualSchema
previousQueryKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousQuery
previousResponseMeaningKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousResponseMeaning
previousTaskStateKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskState
searchAnswerValueKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue
attentionalEntityKeyThis key can be used to recover the attentional entity from the corresponding attentional_entities::EntityCache.KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntityThe value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the “movie” argument would have a provenance of ATTENTIONAL_ENTITY.String
mentionPropertiesSource information from the AttentionalEntityReader.KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntityThe value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the “movie” argument would have a provenance of ATTENTIONAL_ENTITY.AttentionalEntitiesMentionProperties
evalDataThe span(s) in the query where the value comes from. Note that if the argument is split across the current and previous query, this message should *NOT* be populated. Please use PreviousQuery below, populating it’s eval-data fields accordingly.KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQueryNOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The “location” argument would have a provenance of CURRENT_QUERY.list(NlpSemanticParsingAnnotationEvalData)
neuralLocationAnnotatorKnowledgeAnswersIntentQueryArgumentProvenanceCurrentQueryNOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The “location” argument would have a provenance of CURRENT_QUERY.KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator
currentQueryEvalDataThe span(s) in the current query where the value comes from. This is used when the argument spans both the current and previous query. Eg jfk death -> [death, when] spans both queries.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.list(NlpSemanticParsingAnnotationEvalData)
evalDataThe span(s) in the query where the value comes from.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.list(NlpSemanticParsingAnnotationEvalData)
eventIdThe event ID of the query where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.EventIdMessage
neuralLocationAnnotatorKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator
roleKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRole
sourceKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.String
intentIdKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRoleThe role that this data played in the previous query.String
slotNameKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRoleThe role that this data played in the previous query.String
argumentNameArgument names in the DialogIntentState that the argument corresponds to. This is repeated so it can handle complex argument update paths. (ordered from outermost argument to innermost argument)KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).list(String)
currentQueryEvalDataThe span(s) in the current query (if any) used to resolve the previous query’s DIS. Example: U: Barack Obama G: Do you want his age or his height? U: The first one. G: Age(/m/obama) In this example, the intent is derived from the previous query’s DIS, but also needs to be resolved in the current query since the user was presented with multiple options.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).list(NlpSemanticParsingAnnotationEvalData)
dialogIntentStateIdThe id of the specific DialogIntentState instance that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).String
intentNameIntent name of the DialogIntentState that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).String
listCandidateKnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidate
previousFunctionCallKnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStatePreviousFunctionCall
candidateIndexThe presented_index of the field_candidate in the DialogIntentState field_signals that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidateThe value is carried over from a field_candidate in a DialogIntentState. For example: U: Send a message to John. G: Which John do you want to message? U: John A. [ListPresentationIntent(contact_disambiguation.person=0)] On the second user query, the “contact_disambiguation.person” argument would have a provenance of PREVIOUS_TASK_STATE_LIST_CANDIDATE.integer
evalDataIf populated, the spans in the current query where this value was annotated. This is a repeated field because some values can be annotated from a set of discontiguous spans (e.g. some intent phrases), but in most cases this field will contain only one item or it will be empty (for values inferred from context without the use of anaphora).KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphorSignals about an anaphor in the query: for example an occurrence of the pronoun “it”.list(NlpSemanticParsingAnnotationEvalData)
eventIdThis identifies the SearchAnswerValues where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.EventIdMessage
metadataValueIndexEach SearchAnswerValue can have a primary value and a list of metadata values. If this index is set, this value was pulled from the metadata value at this index, otherwise it was pulled from the primary value.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.integer
textThe display text of this answer value. It’s taken from the search answer value display text if present, or the canonical name if it’s an entity.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.String
valueIndexThe index of the SearchAnswerValue where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.integer
gaiaIdThe gaia id for the entity (person or plus page).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
expressionStatusStatus indicating whether the user has completely expressed the semantics of the argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeNlpSemanticParsingExpressionStatus
deprecatedSupportingMidA list of mids that “support” this argument in voting, i.e., results that support these mids will be treated as if they support the argument. This field has been deprecated in favor of related_entity. b/27363861KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
onDeviceAnnotationSignalsAdditional signals for on-device annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryOnDeviceAnnotationSignals
ungroundedValueTypeType of ungrounded argument. It is exclusively used when simple_value.ungrounded_value is populated.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersValueType
isIntentgenAnnotationWhether this argument was annotated by Intentgen QUIK model (go/intentgen-quik)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
locationClassificationScoreConfidence score of this argument being a location.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangefloat
allowedFuzzyMatchFor this argument, backend performed fuzzy match.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
isEvalDataHeuristicSet when the eval_data was not derived at parsing time, but heuristically determined by matching the ArgumentValue to an annotation/query fragment.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
supportTransferSignalsSupport Transfer signals for this entity.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQuerySupportTransferSignals
deprecatedFreebaseTypeIf the literal.obj_type of the argument value is ID (Entity), this represents freebase types of the entity in this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
rawQueryTextA copy of the span of canonical (raw) parser input text corresponding to this annotation.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
isEnumSet when the argument has an enum value – a normalized_string_type from the intent catalog.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
supportTransferRulesgo/stbr supportthis is anKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LogsSemanticInterpretationIntentQuerySupportTransferRule)
qrefInterpretationIndexThe index of the QueryJoin interpretation from which this annotation is taken. We copy over the value given by nlp.semantic_parsing.annotators.QrefAnnotator. The value will be “-1” if the annotation is coming from low confidence Qref annotations. NOTE – this is generated from as QRef’s interetation_number.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
relatednessSignalsRelatedness Matrix signals about this argument, e.g., query_popularity.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryRelatednessSignals
locationTypeThe type category for the location stored in this Argument, if it exists.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
mergedImpliedEntityList of QRef implied entities merged into this entity during parsing. Clients should not rely on the order, as it is derivation-dependent.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryImpliedEntity)
multipleHorizontalListSelectionMatchesWhether there were multiple equally good matches from horizontal_list_selection.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
midEquivalentToCollectionFor collection arguments, it is useful to save what was the original mid that qref annotated. For example, if the collection is /collection/films, we’ll have the mid for /en/film here (/m/02vxn).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
saftSignalsSignals derived from SAFT.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQuerySaftSignals
relatedEntityList of entities that are semantically related to the argument as well as details of the relationship.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(NlpSemanticParsingRelatedEntity)
personalEntityPersonal entities are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., “my father’s mother” can have a summary node annotation of “Mother(Father(Myself))”KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryPersonalEntity)
resolvedFromPronounWhether this argument was resolved from a pronoun mention in the query. Eg: [how old was obama when *he* became president]KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
chainIdOne or more ChainIds from a ChainAnnotation whose “organization_mid” matches the MID. As of 2021-01 multiple chain_ids may be specified if the organization for MID controls multiple chains. See go/chains-lckp-robust-triggering for motivation.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LocalsearchChainId)
addedByCloseAnswersWhether this argument was added by CloseAnswers in Postref. This bit is used to mark the corresponding interpretation/intent query as such by setting is_close_interpretation bit.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
locationEntity location information (latitude/longitude) from freebase.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeGeostorePointProto
groundingSignalsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryGroundingSignals
personalQrefReferenceScoreThe confidence (in [0, 1]) that the annotation is a reference that implies another entity (e.g., “my hotel” in “navigate to my hotel” is a reference to an explicit hotel from the user’s hotel reservations).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
mediaEntitySignalsSignals about the media entity for this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryMediaEntitySignals
collectionMembershipIf the literal.obj_type of the argument value is ID (Entity), this represents the collection that the entity in this argument is a member of.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryCollectionMembership)
locationMarkersSignalsThe usual semantic role associated with the signal from lightweight tokens attached to this argument span.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryLocationMarkersSignals
sourceWhat added this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
clusterInfoIf the literal.obj_type of the argument value is ID (Entity), this stores cluster scoring information for that entity, if the entity belongs to a cluster.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeQualityViewsExtractionClusterInfo
qrefConfidenceScoreThe QRef confidence score for an entity argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
isGenieAnnotationWhether this annotation was propagated as part of a Genie rewrite (go/genie-aqua).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
resolvedFromContextWhether this argument was resolved through context from a previous query. Examples: obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
valueSourceWhat added the argument value.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
webrefListSourceThis represents which list entities index refers to.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
isDefaultValueIf true, the value of the argument is populated with the default value specified by the system if the value can’t be inferred from the input query. In IntentConfig case, the default value is specified by using IntentConfig.slot.default_value.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
parsedDueToExperimentExperiment ID for experiments that were used to parse this FunctionCall. Empty indicates no experiments used.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
facetIf this slot was transformed from or could be transformed to a facet on a categorical, that information is stored here.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersFacetParsing
isNimbleAnnotationWhether this argument was annotated by nimble (go/nimble-annotator)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
fromSymbolAnnotationWhether the argument entity comes from a graphic symbol annotation. This is later used as a heuristic for poor web result quality.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
entityNumberSignals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn’t link to the song title. This value specifies the order of annotations in a QRef annotation chain so they can refer to each other.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
copleySourceTypeListContains the source and type information related to a personal entity, for example if it is a hotel or a restaurant (type) and if it comes from Gmail, Calendar, etc. (source).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeCopleySourceTypeList
webrefEntitiesIndexWebref entity index for this argument, necessary for interpreting the relationship structure, and the list to index into. Specifically we need this to understand qref implications since they edges are represented with entity indexes.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
entityRelationshipSignals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn’t link to the song title.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(NlpSemanticParsingQRefAnnotationEntityRelationship)
muninSignalsSignals derived from Munin Function call annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryMuninSignals
shoppingIdsEquivalent shopping ids for the argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryShoppingIds
responseMeaningSignalsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals
contextResolutionHow this argument was resolved through context from a previous query. Examples: obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shops (Attentional Entities)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
annotationLayerSignalsSignals to facilitate orchestration of TUIG annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryAnnotationLayerSignals
annotatedRelationshipRelationships between entitiesKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LogsSemanticInterpretationIntentQueryWebrefEntityRelationship)
personalQrefResolutionScoreThe confidence (in [0, 1]) that the annotation was created on an implicit mention (e.g., “my hotel”) as opposed to an explicit mention (e.g., “the westin copley square”).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
resultSupportThe list of result supports for this Argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(UniversalsearchNewPackerKnowledgeResultSupport)
isAUngroundedTypeOfIf the argument is entity, the ungrounded type the entity is. For example, the entity argument is /m/0p83l (Jasmine), the value of this field should be “Plant” if it is present.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
oysterIdThe oyster feature id. NOTE: As of Mar 2017, the cell ID field of the feature ID might not be set. See http://b/35447230#comment10KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeGeostoreFeatureIdProto
provenanceInformation about where the value of this argument came from. For example, it could have been explicitly provided in the query, pulled in from the previous state, or pulled from attentional entities.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryArgumentProvenance)
fromManualSymbolAnnotationWhether the argument entity comes from a manual graphic symbol annotation. This is later used as a heuristic for poor web result quality.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
complexQueriesRewriteCustom type used by Complex Queries. This is populated based on the output of the RPC to the Complex Queries Boq node.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityGenieComplexQueriesComplexQueriesOutputRewrite
audioKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaAudio
appAnnotationDevice actions custom types.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingAppAnnotation
calendarReferenceKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityQrewriteCalendarReference
scalarValueA scalar value with optional unit; used ONLY for resolved values after grounding.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryScalarValue
componentReferenceComponent reference between WebrefEntity and Mention. This should only ever be set in argument values in WebrefEntities (e.g. in a QueryJoin). The processing expectation is that the value including the component reference is discarded altogether and replaced by reference target. Use QueryJoinToMeaningStructConverter to perform the replacement. An example value parallel to this reference may exist, but it’s meant purely for human consumption and should not be used.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42RepositoryWebrefComponentReference
timerProductivity custom types. Team: go/productivity-assistance.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityActionsTimer
moneyRepresents: money expressions (e.g. 25$). Annotated by: number subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMoneyMoney
dateTime*** Opaque types that are likely to become fully supported: *** Represents: date and time expressions. Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeDateTime
productivityListItemKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantProductivityListItem
funcall*** Fully supported types *** An argument can also be a function call.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryFunctionCall
deviceIdDeviceId custom types. Details in go/reply-broadcastKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesDeviceId
recurrenceRepresents: intervals of recurrence for repeated tasks. See go/recurrence-subgrammar Annotated by: recurrence subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsRecurrence
shoppingOfferShopping custom types. See go/sopa-attentional.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantOffer
sensitiveValueSensitive value, see go/sensitive-intents and go/a4w-multi-turn-dialogKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQuerySensitiveArgumentValueGuard
shoppingMerchantKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantMerchant
deviceUserIdentityDeviceUserIdentity custom types. Details in go/reply-broadcastKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesDeviceUserIdentity
locationRepresents: location expressions. Annotated by: location subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingLocalLocation
shoppingProductKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantProduct
calendarEventCalendar custom types. Details in go/cal-ref.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesCalendarEvent
mediaKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaMediaAnnotation
homeAutomationDeviceHomeAutomation custom types. Details in go/smarthome_with_monastery.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantVerticalsHomeautomationProtoHomeAutomationDevice
shoppingProductExpressionKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantProductExpression
simpleValueWhen literal is a datetime, it’s really just an ISO 8601 datetime string. This case will eventually be replaced with the date_time field, which is more expressive and can also represent recurrences, ranges, etc. Likewise, simple_value will replace the other types of simple values that literal is currently being used to represent.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQuerySimpleValue
sensitivityArgument level query sensitivities. 1) Statically defined Sensitivity is copied from IntentSlot at serving time so it can be propagated along with FunctionCall to places where the Intent Catalog is not available. See go/sensitive-intents for details. 2) For the same reason, contextual sensitivites (eg., from AttentionalEntity mentions) are populated here too. See go/tagging-sensitive-ae for details.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42list(KnowledgeAnswersSensitivitySensitivity)
durationRepresents: duration expressions (e.g. 5 minutes). Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeDuration
onDeviceOnDevice custom types. Device on which an intent should be fulfilled. Differs semantically from device fields used by Media and HomeAutomation: this is annotated by the on_device subgrammar, and will not output any metadata beyond what the subgrammar outputs. See go/on_device_induction_quality.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsOnDevice
messageNotificationCustom type used by tap-to-read for embedding a MessageNotification message in a GetMessageContent intent.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesMessageNotification
coreferenceA value that is a coreference or variable binding to some other part of the tree. See go/mrf-variables.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryCoreference
narrativeNewsProviderCustom type used by NarrativeNews. This is populated by the narrative news provider annotator, and it differs semantically from a mid for a news brand in that it doesn’t refer to the field of widely known news brands but rather but to the specific audio news RSS feeds that the narrative news feature serves. (There is of course substantial overlap between those two concepts)KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsNarrativeNewsNewsProvider
reminderKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityActionsReminder
deviceMedia custom types. For example use, see go/valyrian-media-dd.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaCastDeviceAnnotation
calendarEventWrapperDetails in go/multi-account-event-representation.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesCalendarEventWrapper
numberRepresents: number expressions. Annotated by: number subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingNumberNumber
shoppingStoreKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantStore
aogSlotCustom type used by actions-on-google in-dialog queries. See go/3p-custom-intents-wrt-meaning-catalogKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingProtoActionsOnGoogleAogSlot
personalIntelligenceEntityEntity parsed from manual grammar interpretation in the Personal Intelligence domain.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingPersonalIntelligenceEntity
personRepresents: structured person names, including common names and personal contacts. Annotated by: go/person-subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsPersonPerson
timezoneRepresents: timezone expressions (e.g. Eastern Daylight Time). Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeTimeZone
attributeIdKnowledgeAnswersIntentQueryAttributeSignalContains an attribute id and it’s completion score.String
scoreKnowledgeAnswersIntentQueryAttributeSignalContains an attribute id and it’s completion score.number
collectionIdHuman readable id of the collection.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.String
collectionMidIdentifier of the collection, usually a MID (/m/xyz or /g/zyw).KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.String
collectionScoreThe collection score for a entity.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.number
scoreDifferent types of scores for the collection. Each score type has at most one score.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.list(KnowledgeAnswersIntentQueryCollectionScore)
scoreTypeKnowledgeAnswersIntentQueryCollectionScoreString
scoreValueKnowledgeAnswersIntentQueryCollectionScorenumber
idKnowledgeAnswersIntentQueryConceptInfoConcept provides meaning semantics captured in a continuous space, as opposed to MRF. go/concepts-roofshot.ConceptsConceptId
dataEpochIdConcepts data epoch used to annotate the queries.KnowledgeAnswersIntentQueryConceptSignalsSignal data for associated Concepts (go/concept-roofshot).integer
argPathA coreference is represented by an argument path starting from the root of the whole tree to the referenced value.KnowledgeAnswersIntentQueryCoreferenceA message representing a coreferenced value defined elsewhere in the meaning struct.KnowledgeAnswersIntentQueryArgPath
additionalAnnotationDataStores any additional data which is required only at the intent fulfilment phase.KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignalsSignals associated with CustomVehicleActionArgumentAnnotator annotations.map
argumentA list of arguments of this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryArgument)
catalogVersionThe corresponding meaning catalog version that was used to generate this FunctionCall.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
conceptInfoInformation about the corresponding Concept for this MRF Expression. For more details see go/concepts-roofshot.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryConceptInfo
contextualSensitivityContextual Sensitivity (go/contextual-sensitivity) metadata indicating that a policy- or privacy- sensitive conversation context (previous queries, rewritten user queries, and previous system responses, like attentional entities) is used to generate this FunctionCall. This needs propagation (1) from Interp to DialogIntentState (DIS) (see b/148479837) and (2) from QRewrite/QUS down to Assistant Server’s memory finalizer. One can use knowledge/answers/sensitivity/sensitivity_reader.h to parse this proto. NOTE(b/149091449): This is part of the migration of contextual sensitivity protos from Interp sensitivity extension. (nlp::semantic_parsing::sensitivity) to this proto field. See the bug to track the migration progress and for more details.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersSensitivitySensitivity)
enabledRemodelingsContains data about which remodelings are being used for this funcall. For more information see go/meaning-remodeling-framework.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpMeaningMeaningRemodelingControl
ignoredTokensA list of token lists that were ignored during parsing because they are known context phrases for this interpretation. For example, for query [tell me how tall height of Obama really], assuming “tell me”, “tall”, “of”, “really” are explained and thus ignored, with corresponding prior 0.9, 0.8, 0.7, 0.6, following ignored tokens will be populated: { ignored_tokens { token { ngram: “tell me”, prior: 0.9} score: 0.9 } ignored_tokens { token { ngram: “tall”, prior: 0.8} token { ngram: “of”, prior: 0.7} score: 0.56 // currently score = prior1 * prior2 * … * prior N } ignored_tokens { token { ngram: “really”, prior: 0.6} score: 0.6 } } These tokens can serve two purpose: 1) debug info to show why an interpretation is generated; 2) carry the signals for downstream usage. Note: This field is under active development, and significant changes could happen. Please contact porky-pig@ if you want to use it.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryTokens)
keyThe primary key for this FunctionCall. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMeaningSchemaKey
markerThe marker specifies the purpose of this meaning struct / function call: Is it asking a question, and if yes, for which slot(s)? Is it a command, statement, etc? This corresponds to a (very coarse) notion of dialog acts. In the absence of this field, it will be inferred using the following algorithm (subject to marker applicability rules specified in marker.proto, see also go/requested-slots): 1) Use the underlying Meaning Schema’s default marker, if applicable. 2) Assume that the Meaning Struct is polar or a statement. The presence of a marker will affect the value type of this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMarker
modifiersA flattened representation of all intent modifiers that apply to this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentModifiers
nameName of this function call. The name must be present. If it is omitted, the FunctionCall is not well-formed.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
sensitivityIntent level query sensitivity (go/sensitive-intents). This metadata comes directly from Intent Catalog, indicating a single-shot query sensitivity without putting context into considerations. Therefore, this requires a one-to-one match with each intent registered in Intent Catalog.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersSensitivitySensitivity
signalsSignals at the function call levelKnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryFunctionCallSignals
unexplainedTokensA list of tokens that were ignored during parsing that cannot be explained by context phrases.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryTokens)
intentAnnotationSourcesKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
expressionStatusStatus indicating whether the user has completely expressed their intended semantics. (See go/streaming-nlu-fulfilment-protocol-v1 for more info. )KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39NlpSemanticParsingExpressionStatus
attributeSignalsThe attributes from which this intent was generated during execution of AttributeSignalsProvider. |attribute_signals| is only populated for single entity funcalls.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryAttributeSignal)
isRefinedMeaningWhether the FunctionCall is created as a refined_meaning in resolution. Downstream code will look at this field to see if it needs to create a new refined QueryInterpretation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
argumentComposingMidThe argument mid that was used to compose the entity for a concept interpretation, along with the intent_composing_mid (one of the intent’s equivalent MIDs).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
roleKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
isCloseInterpretationWhether the interpretation was generated using similar queries in POSTREF. In case POSTREF_AQUA generated the same entity-attribute interpretation, this is still set to true.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
prefulfillmentSignalsAll the input signals to the Prefulfillment Ranker.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39AssistantPrefulfillmentRankerPrefulfillmentSignals
dedupedFuncallsFunctionCall-s that this funcall was deduped against.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryFunctionCall)
localSignalsInformation about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryLocalSignals
isDisambiguationIntentDenotes whether this is a sub-intent of an ambiguous SystemUncertain intent go/intent-disambiguation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
intentProvenanceInformation about where the value of this intent came from. For example, it could have been explicitly provided in the query, pulled in from the previous dialog state, or pulled from previous queries.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryArgumentProvenance)
highConfidenceUsed to indicate that an interpretation is high confidence and triggers different voting behavior. This bit should only be set for verticals. DEPRECATED. Use confidence_level instead.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
conceptEntityMidAn entity that represents the concept of an entity-attribute intent by being composed of an intent equivalent MID and the argument MID.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
selectedByPrefulfillmentRankingIdentifies whether the Prefulfillment Ranker selected this intent for emission. This is needed temporarily while migrating intent emitters from ACE to QUS/PFR. See go/pfr-intent-emitter for more infoKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
freefolksTriggerKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
conceptSignalsInformation about the corresponding Concept attached to the FunctionCall. go/concept-roofshot.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryConceptSignals
groundingSignalsGrounding signals for ranking/filtering, as well as whether to use Grounding Box and PGRP in AnswersRewriter. See comment on GroundingSignals for details.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryGroundingSignals
refxSummaryNodeIdThe id of the summary node if this funcall represents an mdvc interpretationKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
signalsFallbackIntentsAdditional intents to be used for intent scoring. This field must only be populated when we cannot find a single unified intent. For example, when we compute signals for a LocalEntities function call, this means we could not find a unified intent to capture all the local results. In this case, we add a fallback intent for each local result (e.g. GeoSchool, GeoRestaurant, and GeoBank if those are the results we show).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQuerySignalComputationFallbackIntent)
isDisambiguationCardIntentDenotes whether this is an intent being fulfilled from user tapping a disambiguation card. More info in go/cardea-deck.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
prefulfillmentRankingScoreIdentifies a score, determined before fulfillment but after grounding. Written by the Prefulfillment Ranker, and used as a signal for ACE Ranking.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39number
isNeuralCategoricalInterpretationWhether the interpretation was generated from the neural categorical parser.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
parsedDueToExperimentExperiments that caused this FunctionCall to parse, without which this would not have parsed.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
referentialResolutionDescribes how this intent was resolved via external data (either elsewhere in the query, or in a previous query).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersDialogReferentialResolution
intentComposingMidAn intent_relevant_mid that was used to compose the entity for a concept interpretation, along with argument_composing_mid (the question’s argument MID).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
shoppingIdsEquivalent shopping ids for the function call.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryShoppingIds
responseMeaningSignalsSignal data from SRM generation. Solely used internally. See: go/srm-design.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals
osrpJourneyTagA tag to annotate user’s journey (e.g., JourneyFollowCampusUpdates). This will be used for Journey OSRP demo (go/josrp-sprint). !!NOTE!! This field is reserved for Journey OSRP demo, and will be deprecated shortly after its completion. DO NOT USE.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
parsingSignalsParsing signals for ranking/filtering.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryParsingSignals
resultSupportThe list of result supports for this FunctionCall.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(UniversalsearchNewPackerKnowledgeResultSupport)
intentRelevantMidKG mids of entities that represent this intent. These entities are seen as equivalent to the Intent definition, and are specified in the Intent Catalog as relevant_mid.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
usesPrefulfillmentRankerIdentifies whether this intent intends to be scored and pruned by the prefulfillment ranker after intent-generation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
isUiCompositionIntentDenotes this is a sub-intent used for composing an Assistant UI response. The assistant dialog should output ui_composition_shelf in the SystemResponse if it can fulfill the intent. More info in go/davinci-design and go/davinci-di-fulfillmentKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
confidenceLevelKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
addedByGroundingKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14boolean
groundabilityScoreScore indicating how grounded the intent is, populated by the Grounding Box, used by the pre-fulfillment ranker, see http://go/prefulfillment-ranker.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numConstraintsSum of the number of constraints used by the Grounding Box to ground each variable.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numConstraintsSatisfiedSum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints].KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numGroundableArgsNumber of groundable arguments in the parsed intent.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numGroundedArgsNumber of arguments that got actually grounded.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numVariablesNumber of arguments, possibly nested, that the Grounding Box tried to ground.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numVariablesGroundedNumber of arguments, possibly nested, that the Grounding Box was able to ground. This includes ambiguously grounded arguments.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
pgrpOutputFormatPGRP outputs PROD_INTENT_FACTORY intent format by default. See go/intent-conversion-locations-in-sage. Experimental flags can change or make PGRP output additional intents formatted for PORTMON_FULFILLMENT (e.g. with RDs). This is used by the PortMon/ARM dark launch (go/arm-dark-launch-infra). Longer term, this will be replaced by DGS system-internal transformations (go/if-dgs).KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
provenanceKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
sentimentKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
usesGroundingBoxIf true, then GroundingBox and PGRP are used in AnswersRewriter to process the intent. Other post-processing steps, including IGDP, are adjusted accordingly. Note this will be removed once GroundingBox is fully launched and all prod traffic goes through it. Before that happens, each IG that needs to go through GB and PGRP (post GB ranking pruning) will need to explicitly set this field to true. See http://go/gb-impl and http://go/gb-post-ranker-pruner for details.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14boolean
idKnowledgeAnswersIntentQueryIdentifierIdentifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.String
idTypeKnowledgeAnswersIntentQueryIdentifierIdentifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.String
annotatedSpanA copy of the span of canonical (raw) parser input text corresponding to this annotation. Copied from QRefAnnotation.annotated_span.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.String
evalDataThis field is used inside Aqua for evaluation purposes.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.NlpSemanticParsingAnnotationEvalData
isUngroundedValueTODO (b/143536264): Create a new ImpliedTokens message and remove this. Whether the implied entity is ungrounded value, set to true when the entity doesn’t have a KG mid.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.boolean
midThe KG mid of the implied entity.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.String
qrefConfidenceScoreThe QRef confidence (in [0, 1]) of the entity being correctly annotated.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.number
shoppingIdsAll ShoppingIds for this implied entity that need to be copied to IntentQuery (FunctionCall) if this implied entity is used in intent generation. See go/iql-shopping-ids for details.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.KnowledgeAnswersIntentQueryShoppingIds
iqlEncodingVersionThe version of encoder for the IQL FunctionCalls. We bump up the version when, but not limited to, we change how an IQL is converted to a byte array, or the change of byte compression algorithm.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5integer
iqlFuncallsA compressed byte array that represents IQL FunctionCalls. A list of IQL FunctionCalls are first encoded as a byte array. The byte array is then compressed. For more details on the encoding, see go/iql-in-wma.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5String
piannoConfidenceScoreE2The Pianno confidence scores of all intents of the IQL FunctionCalls. For space reasons this is stored as a [0, 100] integer that represents the confidence up to two decimal points (fixed point). Convert it to confidence_score using the following formula: float pianno_confidence_score = pianno_confidence_score_e2 / 100.0f It should have the same number of elements as the IQL expressions after decoding. For non-Pianno top level intents, this score is 0.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5list(integer)
piannoIqlBitmapA bit map indicating if the intents in the IQL FunctionCalls are top level intents for Pianno (go/pianno). This is a repeated field. In the event of more than 32 intents, the first uint32/ represents the 1st to the 32nd intents, and the second uint32 represents/ the 33rd to the 64th intents, and so on. Within each uint32, the bits are in reversed order, i.e. the right-most bit of the first uint32 indicating if the first intent in IQL expressions is a top level intent for Pianno. The prevailing (unused) bits of the last uint32 are filled with 0s.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5list(integer)
gcidIntentGeo intents corresponding to the gcids obtained from the Local result.KnowledgeAnswersIntentQueryLocalResultSignalsA message that stores signals relating to a Local result.list(String)
salientTermSetSalient terms associated with this Local result based on the result gcids.KnowledgeAnswersIntentQueryLocalResultSignalsA message that stores signals relating to a Local result.QualitySalientTermsSalientTermSet
localResultSignalsSignals relating to each Local result.KnowledgeAnswersIntentQueryLocalSignalsA message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.list(KnowledgeAnswersIntentQueryLocalResultSignals)
minSalientTermSimilarityMinimum salient term similarity between Local results.KnowledgeAnswersIntentQueryLocalSignalsA message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.number
typeThe type of the lightweight token match.KnowledgeAnswersIntentQueryLocationMarkersSignalsSignals from LightweightToken. The span for an argument may have been extended to include lightweight token markers such as FROM or TO. This signal provides the semantics for the range extension.String
artistTitleFor songs, this is the name of the primary artist, i.e. “Shallow” would “Lady Gaga” set.KnowledgeAnswersIntentQueryMediaEntitySignalsSignals about the media entity.String
nameName of the media entity, i.e. “Lady Gaga”.KnowledgeAnswersIntentQueryMediaEntitySignalsSignals about the media entity.String
isIsolatedIf the modifier is only a good soft modifier by itself, then we would trigger only if it’s the only modifierKnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.boolean
softModifierCollectionSignals for $ListQueryRuleWithSoftModifier. Collections allowed by the soft modifier.KnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.list(String)
textIsGeneratedIf true, the text for this argument did not come from the query, but was generated somehow else.KnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.boolean
annotationSourceWhere the annotation has been read from.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.String
typeA client-controlled identifier that the client can use to distinguish between different sets of annotations.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.String
versionVersion identifier used to isolate different clients from each other. A client should intersect this list of versions with the ones the client is interested in, and use the annotation if the intersection is non-empty.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.list(String)
provenanceProvenance of the annotator. Equivalent to the `provenance` field in OnDeviceParserInput::AnnotationInfo. This is used to map from AnnotationInfo to nlp_sage.ScoredAnnotation, since nlp_sage.ScoredAnnotation doesn’t have a native `provenance` field. Note in the (very) long term, we’d like to replace ScoredAnnotation with Argument altogether.KnowledgeAnswersIntentQueryOnDeviceAnnotationSignalsSignals coming from on-device annotators.String
calibratedParsingScoreA parsing score that is independently calibrated by each parser/IG, used by pre-fulfillment ranker, see http://go/prefulfillment-ranker.KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7float
effectiveArgSpanLengthThe total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=”chicken”, trigger_time_datetime=<< 7 PM >>))), the effective argument span is “7 p.m.” + “chicken” (total length of 13).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7number
inQueryMaxEffectiveArgSpanLengthThis is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7number
qrewriteCallPathInfoFingerprintThis proto holds the fingerprint of the call path info of QRewrite client (e.g. the QUS’s phase like “RBT”,”QBT”; the QUS’s candidate type like “Identity”; and the ACE’s candidate type like “FuzzyMatcher”).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7String
sourceThe parser that calibrated the parsing score below.KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7String
attributeIdAttribute ID of a personal_summary_node_child.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5String
entityRelationshipKnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5list(KnowledgeAnswersIntentQueryPersonalEntityEntityRelationship)
freebaseMidThe mid of the entity in freebase associated with this span.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5String
personalEntityChildEvery PersonalEntity might itself rescursively contain related Personal Entities, e.g. for, “my father’s mother” a parent Personal Entity for ‘Mother()’ contains a child Personal Entity of the form ‘Mother(Myself)’.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5list(KnowledgeAnswersIntentQueryPersonalEntity)
entityIndexThe index of the other entity in the relationship.KnowledgeAnswersIntentQueryPersonalEntityEntityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.integer
linkPropertyNameNames of the relationship links.KnowledgeAnswersIntentQueryPersonalEntityEntityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.list(String)
scoreNumeric value associated with each annotation within the Qref servlet output.KnowledgeAnswersIntentQueryQrefAnnotationSignalsSignals associated with Qref annotations.float
trustedNameConfidenceTrusted name confidence signal https://g3doc.corp.google.com/repository/webref/preprocessing/names/tnc_classifier/README.mdKnowledgeAnswersIntentQueryQrefAnnotationSignalsSignals associated with Qref annotations.float
queryPopularityKnowledgeAnswersIntentQueryRelatednessSignalsRelatedness Matrix signals for FunctionCall Arguments.number
youtubeViewsKnowledgeAnswersIntentQueryRelatednessSignalsRelatedness Matrix signals for FunctionCall Arguments.String
answersValueGenderKnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignalsString
numAnswersKnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignalsString
answersHeaderSignalsSignals that are used to generate answers header.KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.KnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignals
propertyValueKnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.list(FreebasePropertyValue)
responseMeaningApplicationThe intended application this response meaning is used for. It is intended for downstream dispatching.KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.String
entityTypeKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.String
isHeadOfIntentKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.boolean
isVerbSaft often marks verbs as head of intent and we may want to ignore those.KnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.boolean
numberKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.String
doubleValueKnowledgeAnswersIntentQueryScalarValueA message representing a scalar numeric value with optional unitsfloat
unitTypeKnowledgeAnswersIntentQueryScalarValueA message representing a scalar numeric value with optional unitsString
categoryName of the subgrammar category this annotation is associated with.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.String
domainName of the subgrammar domain.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.String
featuresKnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.list(KnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeature)
scoreNumeric value associated with each subgrammar annotation. Used for in-domain ranking inside the Aqua Analyzer. This field is not guaranteed to be in any range. Furthermore, this field should never be compared for annotations with differing ‘domain’ value. The field is included here for making the Aqua Analyzer work with subgrammar annotations that have been generated in a different Aqua Analyzer (typically by TUIG SemanticAnnotationServlet). TL;DR: Consumers of this message are STRONGLY DISCOURAGED from using this field.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.float
nameKnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeatureAqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.String
valueKnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeatureAqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.float
doNotUseDebugOnlyDecryptedValueDecrypted and deserialized contents of |encrypted_value|. This field should never be populated in prod. This is only provided for easier human inspection when using dev builds (dev keys are public).KnowledgeAnswersIntentQuerySensitiveArgumentValueGuardKnowledgeAnswersIntentQueryArgumentValue
encryptedValueEncrypted protobuffer of type ArgumentValue.KnowledgeAnswersIntentQuerySensitiveArgumentValueGuardString
aspectClusterIdsA shopping aspect cluster id. These are attributes mined from mentions in web articles.KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
brandEntityIdBrand entity id. Brands are fully reconciled with KG entities so there should never be ambiguity as to which brand applies (those would be separate MIDs).KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangeString
bxCategoryIdsA category in the shopping browseonomy, a taxonomy of product types that can be found at go/bx. This field is expected to contain the deepest node in the browseonomy that the intent or argument pertains to, which may be an internal node. It does not contain the entire path of categories.KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(integer)
measuresKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(KnowledgeAnswersIntentQueryShoppingIdsMeasureValue)
merchantIdsList of merchant customer account IDs associated with a merchant entity in KG. NOTE: Soon to be deprecated, see go/merchant_mids_in_indexer designKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
merchantSourceIdsA shopping merchant source id, i.e. the key used to identify Shopping Merchants as they are imported into KG. For reference, these IDs are populated in: * CommerceDB under BusinessIdentification.knowledge_graph.source_id * KG using the /shopping/merchant/id predicateKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
tagIdsMoka attributes of a product. This includes color tags but currently not brand. We allow the possibility for multiple tag ids, as multiple Moka tag ids may map to the same mid, and we may not be able to find a single matching Moka tag. Also, cross-category Moka colors intentionally map a single color mentioned in the query to an expansion of many tags representing points in LAB color space (although this representation is expected to change).KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
facetIdKnowledgeAnswersIntentQueryShoppingIdsMeasureValueA measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet’s base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.String
valueKnowledgeAnswersIntentQueryShoppingIdsMeasureValueA measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet’s base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.float
intentThe intent name of the fallback intent.KnowledgeAnswersIntentQuerySignalComputationFallbackIntentA message representing an intent to use for intent scoring if the root intent is invalid.String
boolValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.boolean
doubleValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.float
identifierKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.KnowledgeAnswersIntentQueryIdentifier
intValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
stringValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
ungroundedValueUngrounded value contains the part of the query (or web snippet, etc.) that was not understood. For more information on this field, see the “Ungrounded value” item in the table of contents of go/iql-v1KnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
supportTransferSourceEntities that transferred support to this entity (mids).KnowledgeAnswersIntentQuerySupportTransferSignalsSignals indicating whether this entity received or transferred support (and from which entities).list(String)
supportTransferTargetEntities that received support from this entity (mids).KnowledgeAnswersIntentQuerySupportTransferSignalsSignals indicating whether this entity received or transferred support (and from which entities).list(String)
evalDataThis field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this Token.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.NlpSemanticParsingAnnotationEvalData
ngram|ngram| should be populated with a string from the raw query, not the normalized tokens. E.g. The ngram in the ignored token for the Height intent on the query [Height of barack obama], will be “Height”. The ngram in the ignored token for the Videos intent on the query [vidéos] will be “vidéos”.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
parsedDueToExperimentExperiments that caused this Token to parse, without which this would not have parsed.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(String)
priorKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.number
provenanceKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
provenanceIdUnique identifiers for the provenance of this token, for example, NLP Repository Example IDs.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(String)
provenanceLanguageKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
synonymsKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(KnowledgeAnswersIntentQueryTokenSynonym)
scoreScore for this group of tokens is currently product of priors.KnowledgeAnswersIntentQueryTokensTokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.number
tokenKnowledgeAnswersIntentQueryTokensTokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.list(KnowledgeAnswersIntentQueryToken)
sourceKnowledgeAnswersIntentQueryTokenSynonymA TokenSynonym contains information about synonyms of a Token’s ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting “present” to its synonym “current”, which is a context phrase for the intent. The ngram for this token would be “present” and the string “current” would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting “important” to its synonym “major” or its synonym “biggest”, because both “major cities” and “biggest cities” are attribute phrases for the intent. In this case, the ngram in this Token is “important cities”, and the token_synonyms (specifically, the synonym_ngram field) would store “major cities” and “biggest cities”, since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don’t really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.String
synonymNgramKnowledgeAnswersIntentQueryTokenSynonymA TokenSynonym contains information about synonyms of a Token’s ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting “present” to its synonym “current”, which is a context phrase for the intent. The ngram for this token would be “present” and the string “current” would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting “important” to its synonym “major” or its synonym “biggest”, because both “major cities” and “biggest cities” are attribute phrases for the intent. In this case, the ngram in this Token is “important cities”, and the token_synonyms (specifically, the synonym_ngram field) would store “major cities” and “biggest cities”, since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don’t really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.String
slotNamesKnowledgeAnswersIntersectTypelist(String)
commandKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerCommand
openQuestionKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerOpenQuestion
polarQuestionKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerPolarQuestion
stateOfAffairsKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerStateOfAffairs
slotKeyNote: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions.KnowledgeAnswersMarkerOpenQuestionIndicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3KnowledgeAnswersMeaningSchemaSlotKey
slotNameOne or multiple slots may be requested by the marker. See go/mrf-multiple-output-slots for details on requesting multiple output slots.KnowledgeAnswersMarkerOpenQuestionIndicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3list(String)
deprecatedVersionThe version has been changed to be defined as a horizontal version on the entire meaning catalog instead of per-schema.KnowledgeAnswersMeaningSchemaKeyThe primary key for an intent. Next ID: 3String
midThe minted MID for an intent.KnowledgeAnswersMeaningSchemaKeyThe primary key for an intent. Next ID: 3String
midThe minted MID for the slot. This ID uniquely identifies the slot globally.KnowledgeAnswersMeaningSchemaSlotKeyThe primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, please update Argument.SlotKey. LINT.IfChangeString
uniqueIdA stable unique ID for this intent minted from go/uniqueid. NOTE: This is considered a private field used only for internal Intent Catalog purposes (i.e. as a source ID for generating this intent’s associated MID). Additionally, this field is only populated on the schema. TODO (b/168907943): Move “unique_id” out of MeaningSchemaSlotKey proto message. Note: Please do not use this field. It is going to be moved out of this proto message.KnowledgeAnswersMeaningSchemaSlotKeyThe primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, please update Argument.SlotKey. LINT.IfChangeString
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersMeasurementTypeA MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersMeasurementTypeA MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.NlpMeaningComponentSpecificContracts
normalizedValueKnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.list(String)
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.NlpMeaningComponentSpecificContracts
keepAsStringIf true, the semantics of the NumberType argument are retained as a string, rather than being converted to a float-type object. This option is particularly useful in cases where leading 0s in the user input are meaningful, e.g. for zip codes or sports jersey numbers. For the user- specified value “01”, for instance, the PathQuery semantics will be: def $Slot “01”KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.boolean
rangeConstraintRange constraint limits the set of numbers accepted by this type. The constraint applies to all subtypes. Currently, this constraint is only enforced in Loose Parser.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.KnowledgeAnswersRangeConstraint
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.NlpMeaningMeaningRemodelings
subTypesub_type is a list of the NumberSubTypes which are accepted. If the list is empty, that means all numeric or ordinal values are accepted. If multiple values are specified, then this value accepts any of the sub_types in the list.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.list(String)
aogTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAogType
appAnnotationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAppAnnotationType
audioTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAudioType
calendarEventTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarEventType
calendarEventWrapperTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarEventWrapperType
calendarReferenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarReferenceType
complexQueriesRewriteTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueComplexQueriesRewriteType
componentReferenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueComponentReferenceIndexType
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32NlpMeaningComponentSpecificContracts
deviceIdTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceIdType
deviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceType
deviceUserIdentityTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceUserIdentityType
homeAutomationDeviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueHomeAutomationDeviceType
locationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueLocationType
mediaTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMediaType
messageNotificationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMessageNotificationType
moneyTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMoneyType
narrativeNewsProviderTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueNewsProviderType
onDeviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueOnDeviceType
personTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaquePersonType
personalIntelligenceEntityTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaquePersonalIntelligenceEntityType
productivityListItemTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueProductivityListItemType
recurrenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueRecurrenceType
reminderTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueReminderType
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32NlpMeaningMeaningRemodelings
shoppingMerchantTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingMerchantType
shoppingOfferTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingOfferType
shoppingProductExpressionTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingProductExpressionType
shoppingProductTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingProductType
shoppingStoreTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingStoreType
timerTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueTimerType
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.NlpMeaningMeaningRemodelings
simplePlexitySimple plexity: the slot’s filler must allow the specified plexity value, for example it must contain multiple individuals if the plexity is MULTIPLEX.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.String
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersPolarQuestionTypeA special type representing a polar question.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersPolarQuestionTypeA special type representing a polar question.NlpMeaningMeaningRemodelings
maxKnowledgeAnswersRangeConstraintKnowledgeAnswersRangeConstraintRangeEndpoint
minKnowledgeAnswersRangeConstraintKnowledgeAnswersRangeConstraintRangeEndpoint
isExclusiveIf true, then this endpoint’s value is not included in the range.KnowledgeAnswersRangeConstraintRangeEndpointboolean
valueThe value of this endpointKnowledgeAnswersRangeConstraintRangeEndpointfloat
slotNameKnowledgeAnswersSameTypeString
allowAllIf true, is compatible with a schema whose answer_type is any semantic_type including empty (since by default schemas return themselves as semantic_types (b/211438997). This is used primarily for slot composition. Example: for the slot name: Operand type { semantic_type { allow_all: true } entity_type {} } * An entity_type or a schema with answer_type ‘entity_type’ can fill Operand. * A schema with either (a) no answer_type or (b) answer_type with !semantic_type.names().empty() can fill Operand * A schema with answer_type ‘date’ CAN NOT fill Operand. Note that when there is an explicit answer_type, the ‘self’ semantic_type is not considered.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.NlpMeaningComponentSpecificContracts
includesContainingIntentDetermines whether or not the meaning schema that contains this semantic_type conforms to a function call with the name and arguments taken from the meaning schema. As it refers to the “containing_intent”, this field should only be set in a semantic_type declared in an intent’s type_members field. The behavior of this field is undefined in other cases, for example, declaring the type of an intent slot. On Assistant, we use meaning schemas for argument types to represent both function call values as well as a reusable tool to host other argument values (opaque types, normalized strings, subsets of entities) across intents. Teams need this information to run conformance checks and annotate new data. Example: If the intents below are in the intent catalog, then: – Intent(slot=”some string”) is conformant, because Type has string_type{} in its type_members. – Intent(slot=Type()) is not conformant, because Type has set semantic_type.includes_containing_intent to false. – Intent(slot=SubType()) is conformant, because type_members is not inherited. { id: “Intent” slot: { name: “slot” type: { semantic_type { name: “Type” }} } } { id: “Type” type_members { string_type{} semantic_type { includes_containing_intent: false } } } { id: “SubType” parent { id: “Type” relationship_type: SUBTYPE } }KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.boolean
nameNames of valid sources of the semantics (for example: a frame or an intent).KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(String)
nameContractsLike `name_remodelings`, but for ComponentSpecificContracts instead of remodelings.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(NlpMeaningSemanticTypeNameComponentSpecificContracts)
nameRemodelingsContains data about current schema remodelings at the SemanticType name level. The “name” field contains all possible semantic type names and “semantic_type_name_remodelings” acts as an overlay to determine which ones to surface based on which schema remodeling IDs are requested. For more information see go/meaning-remodeling-framework.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(NlpMeaningSemanticTypeNameMeaningRemodelings)
remodelingsContains data about current schema remodelings at this ValueType lev©el. For more information see go/meaning-remodeling-framework.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.NlpMeaningMeaningRemodelings
policyNameOptional cannery policy name. If it presents then Intent Scrubber will use the corresponding Cannery rule for argument scrubbing and redaction instead. It should only be used for existing complex argment value types such as HomeAutomationDevice.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.String
redactQuerySpanRedact corresponding span of the string query.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.boolean
replacementCustomized replacement phrase, if missing ${ArgumentName}_REDACTED is used as default.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.String
scrubArgumentValueScrub argument value and signals before saving to eval storage. If not set, 1) inherit the policy from the outer argument if there is one (for nested intents); 2) finally default to type based scrubbing: see go/argument-type-scrubbing.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.boolean
argumentKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionArgument
intentKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionIntent
legacyAssistantSensitivityThis field is for backward compatibility.KnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8SearchPolicyRankableSensitivity
multiAccountAllowedControls whether a top-level intent is multi-account approved. NLU will do go/cross-account-understanding only for intents with this bit on. Also, this bit should be propagated to user turn Attentionl Entities to extend protection of cross-account data to next turns. In principle fulfillment services (e.g., Monastery) should only dispatch such intents to multi-account approved fulfillers (schemas), at least when the user has a linked dasher account. The Assistant runtime policy engine should treat a query as dasher data if 1) this bit is true in the string redaction, and 2) the user has a linked dasher account, and apply a more restrictive rule for whitelisting, regardless of the actual account provenance in Sensitivity. Example: [User logged in to their personal gmail account.] Q1: “Schedule a meeting tiltled okr review at 3pm”. Assistant: “Should I scheduled it on your [email protected] account?” Q2: “No, add it to my [email protected] account.” We don’t know Q1 is dasher data until Q2. To prevent leaking of Q1 to non-dasher approved binaries, this bit should be used as a proactive measure. It might introduce some over-triggering (e.g., user says “Yes” in Q2), but is much better than blindly treating every query as dasher, not considering whether it actually triggers any multi-account capable intents or not (see b/164420114 for example).KnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8boolean
previousQueryKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionPreviousQuery
evalKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityArgumentEvalPolicy
loggingKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityStoragePolicy
evalKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityIntentEvalPolicy
footprintsKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityMyActivityPolicy
loggingKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityStoragePolicy
loggingKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityStoragePolicy
allArgumentsPolicy for all arguments, so no need to repeat on every argument.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.KnowledgeAnswersSensitivityArgumentEvalPolicy
enabledControls whether to enabled limited logging (rpc whitelisting + GWS log query redaction) if the intent wins post-fulfillment ranking.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
nestedIntentOnlyThe eval policy won’t apply if the annotated intent is a root. This check is majorly to prevent calling IntentScrubber halfway from InterpretationScrubber via nested intents.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
scrubEntireIntentScrub entire intent before saving to eval storage, leaving only intent name and sensitivity info.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
scrubArgumentValueThe contents of the argument value should be scrubbed before being written to logs.KnowledgeAnswersSensitivityLoggingPolicyPolicies controlling the logging.boolean
scrubContextIf this is set to true, this Sensitivity’s presence will result in QRewrite to enable AS logging to scrub any discourse context.KnowledgeAnswersSensitivityLoggingPolicyPolicies controlling the logging.boolean
myActivityRedactedActionKnowledgeAnswersSensitivityMyActivityPolicyPolicy controlling MyActivity.String
myActivityRedactionKeyThis field will be translated by footprints and is used to describe the content that was redacted that will be displayed to the user in MyActivity.KnowledgeAnswersSensitivityMyActivityPolicyPolicy controlling MyActivity.String
accountProvenanceUsed to annotate the provenace of cross-account personal data. See go/cross-account-understanding. Sensitivity could be annotated at query, intent, and argument levels. Query and intent could have data from multiple accounts, so this field is repeated. A sensitive knowledge_context.PreviousQuery might be dropped to prevent leaking cross-account data via Genie rewrite. For arguments, the best practice is to not blend multi-account data, and this field should be treated as singular to make ownership clear. When publishing attentional entities, contextual NLU might drop an argument that contains data from a different account for data protection. Mixing multi-account data in one argument will cause data from the primary account to be dropped altogether, which is an unnecessary quality loss.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.list(QualityQrewriteAccountProvenance)
instructionInstruction of handling sensitive intent/argument data. Can be specified in Intent Catalog.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.KnowledgeAnswersSensitivityInstruction
sourceThis should be systematically added without requiring the feature developers to add a source. This is for debug purpose as to whether the Sensitivity’s trace/path included any of landmark code path helpful for tracing back the sensitivity sources. One should add a new source when one sees fits. It’s chronological order as to which source is added first. One should not manually add a source. The same source can be repeated if the Sensitivity object went through the same code path twice.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.list(String)
typeSensitivity type. See the enum definition below.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.String
enableRpcWhitelistIf this is set to true, QRewrite will enable RPC Whitelist to be applied in Assistant Server and Genie Rewriter.KnowledgeAnswersSensitivityServingPolicyPolicies controlling RPC Whitelist at serving time.boolean
encryptArgumentValueThe contents of the argument value should be encrypted before being written to a persistent storage (even if the storage has short time-to-live). No-op when specified at intent level.KnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
encryptFieldCandidateValueTermIf true, triggers encryption of |value_term| [1] and move into |sensitive_value_term|. This is useful to support finer grain encryption controls for disambiguation, where the broader |encrypt_argument_value| is too restrictive. In particular, when we know that the values being disambiguated are non-sensitive (e.g. opaque event IDs), but the value_terms are sensitive (e.g. event titles), it can be helpful for debugging purposes to circulate the value unencrypted. This policy only has an effect when configured at argument-level. It has no effect in Intent or PreviousQuery stanzas. See go/delete-event-disambiguation-redaction-v2 for context and usage. [1]cs/s:quality.dialog_manager.IntentStateSignals.FieldCandidate.value_termKnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
encryptQueryAnnotationDataIf this is set true, we encrypt QueryAnnotationDataProto prior to writing it to Footprint ASSISTANT_EPHEMERAL corpus. This enables restricting ACL to the data.KnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
scrubAuxiliaryFieldsInConversationSnapshotIf this is set to true, the following fields in ConversationSnapshot are scrubbed: * circulated_state.squery * spoken_query * All client_op arguments |from_assistant| interactionsKnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersStateOfAffairsTypeA special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: “StateOfAffairs” } but we (mrf-team) will encourage clients to migrate to this new type.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersStateOfAffairsTypeA special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: “StateOfAffairs” } but we (mrf-team) will encourage clients to migrate to this new type.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.NlpMeaningMeaningRemodelings
singleTokenIf true, this value will match a single token. If false, this value will match any nonzero number of tokens.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersTimeZoneTypeA TimeZoneType configures a value whose type is a timezone.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersTimeZoneTypeA TimeZoneType configures a value whose type is a timezone.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersTrackingNumberTypeA TrackingNumberType configures a value whose type is a TrackingNumber.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersTrackingNumberTypeA TrackingNumberType configures a value whose type is a TrackingNumber.NlpMeaningMeaningRemodelings
slotNamesKnowledgeAnswersUnionTypelist(String)
anyTypeThis type is meant to accept “any” type and allow any and all composition. As such, it should not be used for any composition algorithms, e.g. in Loose Parser. See more detailed discussion at go/any-type-in-mrf. This type may appear on an answer_type, implying that the output of that Meaning Schema is allowed to nest in any other slot. However, support for this is NOT implemented in Loose Parser due to risk of overcomposition, but the MRF Conformance checker allows for this. If you are thinking of using this, please contact mrf-team@.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersAnyType
attributeTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersAttributeType
booleanTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersBooleanType
collectionTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersCollectionType
compoundTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersCompoundType
dateTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDateType
dependencyTypeUsed for configuring dynamic types to allow for type transparency. See: go/type-dependenciesKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDependencyType
durationTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDurationType
entityTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersEntityType
inputCompositionConfigWhen specified on a slot’s type, restricts composition based on the enum value. This does not mean anything when the value type is to be interpreted as an output_type.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeString
measurementTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersMeasurementType
normalizedStringTypeNote that normalized_string_type is NOT supported in the loose parser. A slot with this type will cause the intent to not be parsed.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersNormalizedStringType
numberTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersNumberType
opaqueTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersOpaqueType
plexityRequirementKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersPlexityRequirement
polarQuestionTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersPolarQuestionType
semanticTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersSemanticType
stateOfAffairsTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersStateOfAffairsType
stringTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersStringType
timezoneTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersTimeZoneType
trackingNumberTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersTrackingNumberType
viewSpecificNumberTypesLINT.IfChange Contract-specific typing (go/view-based-options-for-valuetype). NOTE: To facilitate writing macros for view-specific filtering, all view-specific fields should be named with the format “view_specific_${singular_field}s” — e.g., for the singular field |number_type|, the view-specific repeated field is |view_specific_number_types|. LINT.ThenChange( //depot/google3/nlp/meaning/remodel/meaning_remodeling_utils.cc:ViewSpecificTypes, //depot/google3/nlp/meaning/analyzer/checks/component_specific_contracts_checks.cc:ViewSpecificTypes)KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangelist(KnowledgeAnswersNumberType)
daysA day of month, 1-31. If present, year and month must be present as well, and must form a valid date.KnowledgeGraphDateTimeProtointeger
hoursHour of the day, 0-23KnowledgeGraphDateTimeProtointeger
microsecondsMicrosecond, in the interval [0, 999999]. If present, seconds have to be present as well.KnowledgeGraphDateTimeProtointeger
minutesMinute, 0-59. If present, hours have to be present as well.KnowledgeGraphDateTimeProtointeger
monthsA month, 1-12. If present, year must be present as well.KnowledgeGraphDateTimeProtointeger
secondsSecond, in the interval [0, 60], where 60 is an exceptional value reserved for leap seconds. If present, minutes have to be present as well.KnowledgeGraphDateTimeProtointeger
tzOffsetTimezone offset in seconds (can be positive/negative). If present, hours have to be present as well If absent, we expect the time above to be in local time (a.k.a. civil time, go/httat#civil_time).KnowledgeGraphDateTimeProtoString
yearsA year.KnowledgeGraphDateTimeProtointeger
predicateObjspredicate_objs.pred should be unique within the list.KnowledgeGraphNestedStructA nested struct is a recursive tree structure for storing a set of triples. more info can be found at go/nested-struct-primerlist(KnowledgeGraphNestedStructPredicateObjs)
objsKnowledgeGraphNestedStructPredicateObjslist(KnowledgeGraphTripleObj)
predKnowledgeGraphNestedStructPredicateObjsString
predThe qualifier pred must be a qualifier property defined in KG schema as applying to the predicate of the triple this qualifier is attached to.KnowledgeGraphQualifierA qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.String
valueKnowledgeGraphQualifierA qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.KnowledgeGraphTripleObj
qualifiersKnowledgeGraphQualifierSetA QualifierSet represents a grouping of qualifiers that together with an SPO make up a logical assertion or fact. One triple can contain multiple qualifier sets and thus represent several different assertions about the same SPO.list(KnowledgeGraphQualifier)
isNegationIf is_negation is set to true then this triple is considered a statement that the fact is false. This allows for the storage of both what we know to be true and what we know to be false.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21boolean
objobj is the value of a relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21KnowledgeGraphTripleObj
predpred is an arbitrary node id representing the predicate (name) of a graph relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21String
provenanceKnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21list(KnowledgeGraphTripleProvenance)
qualifierSetsWARNING: This is currently defined for experimentation purposes only. Please do not set. Data set in this field will not be published to any systems downstream of Livegraph. Together with the SPO of this triple, each qualifier set here represents a different logical assertion/fact.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21list(KnowledgeGraphQualifierSet)
subsub is an arbitrary node id representing the source entity of a graph relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21String
boolValueKnowledgeGraphTripleObjboolean
datetimeValueKnowledgeGraphTripleObjKnowledgeGraphDateTimeProto
doubleValueKnowledgeGraphTripleObjfloat
durationValuesecondsKnowledgeGraphTripleObjString
idValueAn id representing an entity (mid or hrid)KnowledgeGraphTripleObjString
int64ValueKnowledgeGraphTripleObjString
localeThe language code for the object value. It must be a BCP 47-compliant language tag (b/10005172). See also go/kg-data-l10n.KnowledgeGraphTripleObjString
nestedStructValueKnowledgeGraphTripleObjKnowledgeGraphNestedStruct
protoValueKnowledgeGraphTripleObjKnowledgeGraphTripleObjProto
s2cellIdKnowledgeGraphTripleObjString
stringValueA UTF-8 string value to be used for the following expected schema types: – /type/rawstring – /type/text – /type/keyKnowledgeGraphTripleObjString
uint64ValueKnowledgeGraphTripleObjString
uriValueA UTF-8 string value to be used for expected type /type/uri – b/68760994.KnowledgeGraphTripleObjString
dataThe encoded proto data.KnowledgeGraphTripleObjProtoString
descriptorFullNameThe full name of the proto descriptor, such as ‘music.AlbumSummary’.KnowledgeGraphTripleObjProtoString
accessRequiredSpecifies the contract or legal visibility required to see the Triple. See go/kg-triple-level-access-controls for details and background. Note that we use an int32 here so that we won’t lose values when decoding on a stale binary. The int32 references to the enum storage_graph_bfg.Triple.Provenance.AccessRequirement.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.integer
creatorHistorically, this field was used to encode the Freebase User ID, Google username, or Google MDB group that was responsible for the pipeline that is producing this data. However, there is currently no horizontal validation in place, and as of Q3 2018, this field is used essentially as a free-form string by multiple data providers. NOTE: Do not use this field in new pipelines without first consulting with the OWNERS of this proto.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
datasetMidThe dataset which asserted this data. Must be a valid mid. See go/kg-provenanceKnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
isSupportingDataIndicates that the corresponding data is supporting evidence for reconciliation only, and is *not* an assertion that should be visible to other systems or to external users. Note that this also means that no provenances indicating supporting data will be visible in the composed graph. Please see go/supporting-kg-triples-design-doc for additional details and background.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.boolean
lgMetadataInternal metadata used by Livegraph and possibly other horizontal KG infra systems. This is not part of the logical triple or its provenance, and contents may not be visible downstream of LG.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgLivegraphProvenanceMetadata
policyMetadataMetadata specifying data governance policies. This information will be processed and enforced in KE systems. For more context, see go/ke-triple-dg-policy-and-metadata. WARNING: This field is WIP and please do not populate it without consulting ke-data-governance@.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgPolicyMetadata
processAn identifier for the process that asserted this triple.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
restrictionsKnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.list(String)
sourceCategoryUsed to measure impact of 3P contributions. See go/ke-metrics.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
sourceDocIdThe websearch doc_id of the source_url. Used in conjunction with source_category for measuring 3P contributions.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
sourceUrlIf the triple was extracted from the web, the source URL where the assertion was found. Used for citation if needed (see restrictions field below).KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
spiiCertificationA fact about potentially sensitive personal info (http://what/SPII) can be “certified” iff it meets specific requirements. See go/kg-spii-certification for details.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgSpiiCertification
featureId(Mandatory) Oyster ID.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.GeostoreFeatureIdProto
latLng(Mandatory) Coordinates of the location for which weather is requested.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.GoogleTypeLatLng
locationNameThe name to display. If specified it will override the formatted address of “feature_id”.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
midMID corresponding to the location from feature_id.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
timezoneThe timezone to display the current conditions observation time. Optional and will override the timezone of “feature_id”.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
CountryCodeFor Courts, the country the court is in. For Statues,? 3 leter country code ISO 3166 alpha2LegalCitationString
ParseTypeLegalCitationinteger
StateState or province of the court or statue (if applicable) What standard?LegalCitationString
TypeDocTypeLegalCitationinteger
courtdocumentLegalCitationLegalCitationCourtDocument
lawLegalCitationLegalCitationLaw
ArguedBeforeOne entry per judge who listened to the case in this courtLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalPerson)
ArguedDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
CertiorariCourtNameFor an appeal, the name of the lower court that sent this up Abbreviation form? Verbose form?LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
CertiorariRelationshipLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.integer
CourtTermUsually the name of a month. Not sure really what it means.LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
DecidedDateVarious dates related to the generation of document most of these are opinion-centricLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
FiledDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
MemoIDNot sure what this is. But I’ve seen it.LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
ModifiedDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
SyllabusA summary of the document or a syllabus for this documentLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
courtLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalCitationCourtDocumentCourt
opinioninfoLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentOpinionInfo)
perdocketinfoLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentPerDocketInfo)
pubLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentPub)
unknowndateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentUnknownDate)
DisplayNameThe name of the court to be displayed to users.LegalCitationCourtDocumentCourtString
LevelMaybe be redundant with the Name. We can remove this later if we don’t find it useful. Court LevelLegalCitationCourtDocumentCourtinteger
NameCourt id for matching records; “name” is a historic misnomer.LegalCitationCourtDocumentCourtString
OriginalNameThe name of the court as taken directly from the source documentLegalCitationCourtDocumentCourtString
namecomponentLegalCitationCourtDocumentCourtlist(LegalCitationCourtDocumentCourtNameComponent)
TextLegalCitationCourtDocumentCourtNameComponentThe name broken down into its various components, such as core court, state, and districtString
TypeLegalCitationCourtDocumentCourtNameComponentThe name broken down into its various components, such as core court, state, and districtinteger
BenchLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.integer
DeliveredByif Type == PER_CURIAM, then DeliveredBy is unnecessary since it is delivered by the full court. Who delivered the opinion?LegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.LegalPerson
JoinedByWho agrees with the opinionLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.LegalPerson
TypeOpinionTypeLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.integer
DocketIDAn alpha-numeric (usually, mostly numeric) string used to identify the case by the courtLegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionString
PetitionerWho is bringing the action? (X in X vs. Y)LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
PetitionerCounselWho represents the petitioner?LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
RespondentWho is responding to the action? (Y in X vs. Y)LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
RespondentCounselWho represents the respondent?LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
TopicThe “in re” or “matter of” field.LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionString
PagePage numberLegalCitationCourtDocumentPubString
ParagraphParagraph numberLegalCitationCourtDocumentPubString
ReporterThe publisher of the opinion. For example, ‘U.S.’ – United States Reports ‘S. Ct.’ – Supreme Court Reporter ‘L. Ed. 2d’ – Lawyers Edition Second SeriesLegalCitationCourtDocumentPubString
VolumeFor documents published by a court reporter. Vendor/Media neutral citations will probably not have this.LegalCitationCourtDocumentPubinteger
YearThis is the publication year. In many citations, there is one year listed and it is typically the year the opinion was handed down. For example: Roe v. Wade, 410 U.S. 113 (1973) Occasionally, the publication year of the reporter is included. This happens typically when the law reporter volume numbers are numbered within a calendar year. For example, Swiss Bank Corp. v. Air Canada, [1988] 1 F.C. 71. It some (most?) areas, publication date is denoted by [] while opinion date is denoted by ().LegalCitationCourtDocumentPubinteger
DateLegalCitationCourtDocumentUnknownDateDates that we didn’t fully parse, so we don’t know exactly what they are, but we are keeping in case it’s all we have.LegalDate
DescriptionLegalCitationCourtDocumentUnknownDateDates that we didn’t fully parse, so we don’t know exactly what they are, but we are keeping in case it’s all we have.String
RevisionDateLegalCitationLawLegalDate
StatusLawStatusLegalCitationLawinteger
TypeLawTypeLegalCitationLawinteger
collectionnameLegalCitationLawLegalCitationLawCollectionName
levelLegalCitationLawlist(LegalCitationLawLevel)
NormalizedLegalCitationLawCollectionNamethis is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citationString
SourceLegalCitationLawCollectionNamethis is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citationString
DepthA counter that specifies the depth of the level in the parseLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,integer
LevelTypeNormalized“SECTION, TITLE, PART, etc.”LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
LevelTypeSourceText“Section, Sect., §, etc”LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
LevelTypeStringdeprecatedLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
NameThe name of the chapter/section/etc.LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
TypedeprecatedLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,integer
Value“3”, “42(a)”, etcLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
DayLegalDateinteger
MonthLegalDateinteger
YearLegalDateinteger
DescriptionLegalPersonString
LastNameLegalPersonString
OtherNamesLegalPersonString
discretizedAestheticsScoreAesthetics score discretized into range [0, 100].LensDiscoveryStyleAestheticsScoreSignalsAesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.integer
versionLensDiscoveryStyleAestheticsScoreSignalsAesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.String
x1LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
x2LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
y1LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
y2LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
discretizedFaceVisibilityScoreThe visibility of the face of the most iconic person in the image discretized into range [0, 100].LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedFemaleConfidenceLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedMaleConfidenceMale and female confidence scores are discretized into the [0, 100] range.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedPredictedAgeAge prediction is rounded to the first decimal place and multiplied by 10 (e.g. 12.3 -> 123). *** Not populated in Amarna for legal reasons. ***LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedVisualSaliencyScoreThe area ratio of the most iconic person to the whole image discretized into range [0, 100].LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
personBoundingBoxBounding box of the most iconic person in the image.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11LensDiscoveryStyleBoundingBox
personVisibilityScoresLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11LensDiscoveryStylePersonAttributesPersonVisibilityScores
predictedAgeBucketBucketed version of the predicted age.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11String
versionLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11String
discretizedPersonVisibilityScoreA measure of the visibility of the most iconic person between [0, 100], derived by combining all label predictions by the Person Visibility model according to go/person-visibility-formula. Higher values indicate greater visibility while lower values indicate lesser visibility.LensDiscoveryStylePersonAttributesPersonVisibilityScoresinteger
personVisibilityPredictionsRepeated for # of PersonVisibility types.LensDiscoveryStylePersonAttributesPersonVisibilityScoreslist(LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction)
discretizedIconicPersonVisibilityConfidenceConfidence score of the visibility type prediction discretized into range [0, 100].LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPredictioninteger
iconicPersonVisibilityTypeClassification of how much of the body of the most iconic person in the image is visible.LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPredictionString
detectedPersonsInformation of all detected people in the image, sorted by decreasing size of the bounding box. We store a maximum of 10 detected people.LensDiscoveryStylePersonDetectionSignalsThis message holds bounding boxes of detected people in the image. Next ID: 3list(LensDiscoveryStylePersonDetectionSignalsDetectedPerson)
versionLensDiscoveryStylePersonDetectionSignalsThis message holds bounding boxes of detected people in the image. Next ID: 3String
boundingBoxBounding box of the detected person.LensDiscoveryStylePersonDetectionSignalsDetectedPersonHolds information about a detected person in the image.LensDiscoveryStyleBoundingBox
styleImageTypePredictionsRepeated for # of StyleImageType types.LensDiscoveryStyleStyleImageTypeSignalsPrediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.list(LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePrediction)
versionLensDiscoveryStyleStyleImageTypeSignalsPrediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.String
discretizedStyleImageTypeConfidenceStyle image type confidence discretized into range [0, 100].LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePredictioninteger
styleImageTypePredicted style image type.LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePredictionString
headerListSnippetResponseData to generate the list snippets UI.ListSnippetResponseRow
isTableShould list be formatted as a table?ListSnippetResponseData to generate the list snippets UI.boolean
rowListSnippetResponseData to generate the list snippets UI.list(ListSnippetResponseRow)
totalRowsThe number of rows annotated in the doc, of which ‘row’ is a subset.ListSnippetResponseData to generate the list snippets UI.integer
columnListSnippetResponseRowlist(String)
categoryThe category associated with this chain, currently only used for subchains.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
prominentEntityIdThe Knowledge Graph (KG) entity of the chain, found and used in chain mining.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
sitechunkThe website sitechunk/domain that is owned by the chain.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
actionTypeThe action type of this action metadata.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
hasPrimarilyFoodIntentIf true, it indicates that the merchant has a primarily food intent. This field will only be set when enable_food_gcid_strict_check in FoodOrderingRestrictionProto is true, see go/togo-unified:overlapping-for-le. See go/togo-unified-gcid for how this is calculated.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
isOutOfOperationalHoursIf set, indicates that the food ordering service is out of operational hours. This could only be populated if the request explicitly asks for ignore_operational_hours in request (universalsearch/rpc/geo/food_ordering_restriction.proto). Design doc: go/fo-persistent-v1.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
isWhitelistedExternalRestaurantWhen true, indicates that this is a whitelisted restaurant from a first party (but non FO) partner, i.e. a merchant from the orderig app, who is Google owned first party food ordering platform. Design doc: go/onboard-mavn-to-fo. Tracking bug: b/150331855LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
nextOpeningTimeNext opening time when the food ordering service will be available. This is only present if the unavailability reason is OUT_OF_OPERATIONAL_HOURS.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13DateTime
onlyOrderAheadServicesAvailableIndicates whether only order ahead services are available. Order ahead services allow only to place order for future and ASAP order can not be placed via them.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
serviceInfoAggregated service information by service type. Each service type would only have one ServiceInfo. Optional.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13list(LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo)
supportedServiceTypeFood ordering service type.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
unavailabilityReasonReason for unavailability of internal food ordering action. This is only present when FOPA is unavailable for a particular restaurant. When this is set, all other fields in this proto will not be populated. Note(fo-search): If there are log only partners and this particular restaurant is only supported because of log only partners, this field will not be set to NOT_INTEGRATED_WITH_FOPA.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
availablePartnerIdAvailable partner’s id.LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfoIncludes all partners that are either open now or supporting order ahead.String
logOnlyIndicates whether the partner is log only.LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfoIncludes all partners that are either open now or supporting order ahead.boolean
availablePartnerInfoInformation about Food Ordering partner, which is used for whitelisting the partner in Food Ordering entry points such as Placesheet.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfolist(LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo)
maxWaitTimeSecMaximum max_wait_time in second.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
minDeliveryFeeOnly present for delivery case, service fee is not included.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoGoogleTypeMoney
minWaitTimeSecMinimum min_wait_time in second.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
serviceTypeFood ordering service type. Please note that only ServiceType.PICKUP and ServiceType.DELIVERY are valid values for this field.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
addressLocalWWWInfoNext Id: 36list(LocalWWWInfoAddress)
brickAndMortarStrengthLocalWWWInfoNext Id: 36float
clusterLocalWWWInfoNext Id: 36list(LocalWWWInfoCluster)
docidLocalWWWInfoNext Id: 36String
geotopicalityInformation about geo locations, rather than individual businesses.LocalWWWInfoNext Id: 36RepositoryAnnotationsGeoTopicality
hoursLocalWWWInfoNext Id: 36list(LocalWWWInfoOpeningHours)
isLargeChainDoes this LocalWWWInfo represent a widely-distributed chain?LocalWWWInfoNext Id: 36boolean
isLargeLocalwwwinfoLocalWWWInfoNext Id: 36boolean
phoneLocalWWWInfoNext Id: 36list(LocalWWWInfoPhone)
siteSiblingsThese are per-document signals independent of any particular address.LocalWWWInfoNext Id: 36integer
urlThese are for convenience during intermediate data processing, and should be cleared before the data gets into doc-joins.LocalWWWInfoNext Id: 36String
wrapptorItemLocalWWWInfoNext Id: 36list(LocalWWWInfoWrapptorItem)
addrFprintLocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.String
addressLocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.GeostoreAddressProto
latE7LocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.integer
lngE7LocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.integer
addrFprintLocalWWWInfoClusterString
annotationConfidenceConfidence score for business mention annotations which is copied from LocalEntityAnnotations::location_confidence.LocalWWWInfoClusternumber
clusterdocidLocalWWWInfoClusterString
clusteridLocalWWWInfoClusterString
confidenceProbability that this is the authority page of the business. Same as LocalListing.authority_page_probability, only set for pages with page_type_flags & AUTHORITY.LocalWWWInfoClusternumber
featureTypeFeature type for this listing, from LocalListing::info::related_feature. A geostore::FeatureProto::TypeCategory. Intended primarily to indicate POI-ness (i.e., TYPE_ESTABLISHMENT_POI).LocalWWWInfoClusterinteger
hoursOpening hours for the business, from Local attributes and/or extracted annotations.LocalWWWInfoClusterGeostoreTimeScheduleProto
hoursSourceLocalWWWInfoClusterString
includeInIndexLocalWWWInfoClusterboolean
isPlusboxTODO(local-universal) Consider deleting is_plusbox once the new scheme that uses make_plusbox_visible rolled out.LocalWWWInfoClusterboolean
latitudeE6LocalWWWInfoClusterinteger
levelDEPRECATED / NO LONGER WRITTEN. URL path level from actual references to this webpage.LocalWWWInfoClusterinteger
longitudeE6LocalWWWInfoClusterinteger
makePlusboxVisibleA hint for frontend to decide whether this plusbox should be visible or not.LocalWWWInfoClusterboolean
menuUrlMenu link for the business. Currently only comes from Local attributes.LocalWWWInfoClusterlist(String)
pageTypeFlagsType of the web reference.LocalWWWInfoClusterinteger
phoneFprintLocalWWWInfoClusterString
phoneNumberLocalWWWInfoClusterTelephoneNumber
postalAddressLocalWWWInfoClusterPostalAddress
relevanceDEPRECATED / NO LONGER WRITTEN. How relevant the webpage is to the business (clustering distance). Same as LocalListing::Reference.relevance. Typically only set for pages with (page_type_flags & WEB_EXTRACTION && !AUTHORITY).LocalWWWInfoClusternumber
showInSnippetsLocalWWWInfoClusterboolean
sourceLocalWWWInfoClusterlist(String)
titleLocalWWWInfoClusterString
hoursLocalWWWInfoOpeningHoursPopulated from StoreHoursAnnotations.GeostoreTimeScheduleProto
hoursFprintLocalWWWInfoOpeningHoursPopulated from StoreHoursAnnotations.String
phoneFprintLocalWWWInfoPhoneString
phoneNumberLocalWWWInfoPhoneTelephoneNumber
addrFprintLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
bizNameLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
phoneFprintLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
countryThe country to crawl the country from, defaults to the default non-specified crawling node (which is interpreted by most web-servers as USA). When specified, the crawling will fetch the document from a node in that country instead.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
deviceTypeThe device type, which maps into the useragent to be set when initiating the fetch-request, e.g. desktop-googlebot vs. smartphone-googlebot.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
indexGrowthExptTypeSpecifies whether the document is a duplicated document from the index growth experiment, detailed at go/indexsize_exp, defaults to not in any experiment.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
languageThe language being set by the crawler. Defaults to UNKNOWN_LANGUAGE which indicates to not apply an accept-language header on the FetchRequest. When a language is specified, on crawling this language is converted into an accept-language header (e.g. GERMAN -> “Accept-language: de”). Script variations, e.g. ZH-HANS vs. ZH-HANT, are handled as different enum values (e.g. CHINESE vs. CHINESE_T).LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
languageCodeLanguage-code used for identifying the locale of the document. ‘language’ and ‘country’ above are used for web-based documents, representing the detected language of the document and the country it was crawled from. The language code here, however, rather represents an artifical language_code applied to manually translated webpages (e.g. feeds), for instance for the pidgin-usecase. They are limited to the set of III-codes being supported by the client, yet are beyond the enum in ‘language’, e.g. to support variants of English across different countries.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
aggregateFlagsLogsSemanticInterpretationIntentQueryEntityLinkMetadataLogs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryLinkKindFlags
kindInfoLogsSemanticInterpretationIntentQueryEntityLinkMetadataLogs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implicationslist(LogsSemanticInterpretationIntentQueryLinkKindInfo)
clusterLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
geoContainmentLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
implicationLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
latentEntityLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
mdvcLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
propertyLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
resolutionHas not been useful since at least 2015 (before this was logged).LogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
flagsLogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryLinkKindFlags
kcLinkNameNot set for a while.LogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsString
topicPropertyNameLogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsString
allowWildcardIntentsLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
domainLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
isReverseLinkLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
mentionsOnlyLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
supportShareLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
targetCollectionLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
userCountryLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
userLanguageLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
entityIndexLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsinteger
linkMetadataLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryEntityLinkMetadata
linkWeightLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsnumber
entryLongStructuredSnippetAn experimental long snippet. The protocol allows any permutation of headers and plain text paragraphs, but typical responses are just paragraphs or alternating headers and paragraphs.list(LongStructuredSnippetEntry)
headerIs this a header or normal paragraph?LongStructuredSnippetEntryboolean
textThe text of the header or paragraph.LongStructuredSnippetEntryString
shortcutContactTypeMajelContactInformationShortcutInformationThe information on whether the contact is related to an app shortcut. Next ID: 2String
isAlleyAffixAn affix that indicates an alley. Alleys are unnamed, numbered routes that are always linked to a “parent street”. As these parent streets can be named e.g. “7th street” and alleys might be referred to as “7th alley”, we need to be able to distinguish those affixes. For more details about alleys see go/vn-alley-geocoding.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isCommonWordCommon words E.g.: center, park, etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDeconstructibleWhether this special word is part of a name without a separator (like e.g. suffix “strasse” in Freigutstrasse).MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDirectionalModifierDirectional modifier. E.g.: north, south, etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDistanceMarkerAn affix that indicates distance marker on a route, e.g., ‘km’.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isForbiddenWordWhether geo paths are forbidden to contain this word.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isHouseIdIdentifierA keyword for a house id.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isIntersectionConnectorIntersection. E.g.: and, at, corner.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isLandmarkIdentifierAn affix that indicates a landmark, e.g. “opposite”, “near” etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isLanguageIndicatorLanguage indicator. E.g.: platz in German, straat in Dutch.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNameSynonymWhether this is a name synonym and should be allowed to be matched on when searching (that is, added to the retrieval query with the name/ prefix).MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNotForLegacyStreetNumberDetectionTerms which are not allowed to be used by the legacy street number detection.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNotOptionalizableTerms which are not allowed to be treated as optional.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNumberNumbers. E.g.: 1, one, 2, two.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNumberSuffixE.g. suffixes in French: bis, ter.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isOptionalIs this special word optional?MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isOrdinalNumberE.g.: 1st, first.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isPenalizedIfMissingOptional terms that should not geocode by themselves.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isPersonalTitlePersonal titles (e.g. doctor, professor, general, etc.)MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isStopWordE.g.: the, in, near, where.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isStreetNumberIdentifierA keyword that denotes a street number, e.g. “number”, “unit” etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
alternateAlternate versions of this canonical form. This is mainly abbreviations of the canonical form e.g. “St”, “NE”, etc. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
canonicalCanonical versions: the version which is in oyster. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8. The canonical can be a single or a multi-token string. There can be several canonicals, e.g. “center” and “centre” in English.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
countryIf empty, apply this rule to any country. Otherwise, a list of ISO 3166-1 alpha-2 (2-letter uppercase) country codes that this description applies to.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
flagsBoolean flags indicating what type of special word this is.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.MapsQualitySpecialWordsFlags
languageThe III language code of the language that this description applies to. No language means that this applies worldwide. This could be useful for codes like country codes or airport codes or for displayed language neutral icons. A special word with a language code here also applies to the regional variants of that language (e.g. “en” applies to “en-GB” and “en-US” as well).MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
positionMapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.String
visibleTypeIdvisible_type_id from VisibleTypeProto for visible types converted to the special words. For original special words this field is empty.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
areaFractionThe area of the region as a fraction of the image. The value is in the range (0, 1).MediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
xmaxMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
xminMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
ymaxMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
yminMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
customSourceThe custom source should only be a-z[0-9] dashes, underscores, and colons. Special characters should be avoided.MediaIndexEntityFieldPackages entity id and score together for a given source.String
entityIdMediaIndexEntityFieldPackages entity id and score together for a given source.String
quantizedScoreMediaIndexEntityFieldPackages entity id and score together for a given source.String
sourceMediaIndexEntityFieldPackages entity id and score together for a given source.String
previewFrameZeroVariantMediaIndexFrameIdentifierIdentifier for frames associated with a video.MediaIndexFrameIdentifierPreviewFrameZeroVariant
timestampMsOffset of the frame from the beginning of the video (in milliseconds).MediaIndexFrameIdentifierIdentifier for frames associated with a video.integer
previewLengthMediaIndexFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.String
xtagListAll xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio).MediaIndexFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.MediaIndexXtagList
boundingBoxThe bounding box corresponding to the region.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14MediaIndexBoundingbox
entityFieldsDetected Entities found within this region.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(MediaIndexEntityField)
labelsThe labels associated with the region encoded as a SparseFloatVector to facilitate dot product computation during sorting. The columns are the fingerprints of the labels and the values are the corresponding confidence scores. The vector is L2 normalized.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14MediaIndexSparseFloatVector
primiApparelFeaturesV2PRIMI Apparel Features v2 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
primiApparelTokensV2MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
primiGenericFeaturesV25PRIMI Generic Features v2.5 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
primiGenericTokensV25MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstFeaturesV4Starburst v4 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
starburstFeaturesV5Starburst v5 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
starburstTokensV4MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstTokensV5MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstV4MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14ImageContentStarburstVersionGroup
starburstV5MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14ImageContentStarburstVersionGroup
columnsParallel arrays of column / value. Exactly one of those columns vector should be set. Columns must be in monotonically increasing order.MediaIndexSparseFloatVectorlist(String)
columnsInt16MediaIndexSparseFloatVectorString
columnsInt32MediaIndexSparseFloatVectorlist(integer)
columnsInt64Columns are fixed integers, used for accelerated parse.MediaIndexSparseFloatVectorlist(String)
columnsInt8MediaIndexSparseFloatVectorString
valuesMediaIndexSparseFloatVectorlist(number)
domainScoresMediaIndexVideoCentroidData about the behavior of the video across the pages it is embedded in.list(MediaIndexVideoCentroidDomainScore)
domainThe domain this score was generated for.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.String
numDocsNumber of pages from the domain used to generate this DomainScore.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.integer
scoreIn general, lower scores indicate the video is appearing on more diverse pages.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.number
centroidMediaIndexVideoCoreSignalsCore signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.MediaIndexVideoCentroid
videoFramesMediaIndexVideoCoreSignalsCore signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.list(MediaIndexVideoFrame)
docidThe canonical docid of the frame.MediaIndexVideoFrameData about a frame associated with the video.String
frameIdentifierMediaIndexVideoFrameData about a frame associated with the video.MediaIndexFrameIdentifier
regionsMetadata associated with regions within this frame.MediaIndexVideoFrameData about a frame associated with the video.list(MediaIndexRegion)
starburstFeaturesV4Starburst v4 embedding and tokens.MediaIndexVideoFrameData about a frame associated with the video.String
starburstTokensV4Note: due to the migration to Golden7-source Starburst v4 embedding, no starburst_tokens_v4 will be provided in video content corpus (go/video-content-corpus). But this field is kept in case other purposes may still use it in the proto.MediaIndexVideoFrameData about a frame associated with the video.list(String)
thumbnailTypeSet of available thumbnail types for this frame. Should be valid image_base.ThumbnailType values (enumerated at http://google3/image/base/thumbnail-type.proto).MediaIndexVideoFrameData about a frame associated with the video.list(String)
videoFramesMediaIndexVideoFramesData about multiple video frames associated with the video.list(MediaIndexVideoFrame)
nameNames are all stored case-sensitive, and no case-folding is done for comparisons.MediaIndexXtagString
valueThe value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.MediaIndexXtagString
xtagsMediaIndexXtagListXtagList — a collection of Xtag instances with unique names. This would be associated with one specific piece of content.list(MediaIndexXtag)
flagsMobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.integer
mobileurlDEPRECATED: Url of the mobile version of the document. This is set during canonicalization if we do not know that the Web url also serves the mobile version.MobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.String
transcodedPageScoreDEPRECATED: The transcoded page quality repesented in 7-bits range from 0 to 127.MobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.integer
presentWhether the field (data field or pointer) is defined.MultiscaleFieldPresenceDefines the presence of a field. This can help distinguish between empty vs. not-present annotations.boolean
wellDefinedMultiscaleFieldPresenceDefines the presence of a field. This can help distinguish between empty vs. not-present annotations.String
implicitLengthIf the layer is not materialized but things point into it, this gives the effective length.MultiscaleLayerPresenceDefines the presence of a layer (previously called “scale”).integer
presentWhether the layer is present.MultiscaleLayerPresenceDefines the presence of a layer (previously called “scale”).boolean
indexThe index of the node that this pointer points to.MultiscalePointerIndexPointer to a single node in a target scale. `pointer.Index` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
limitThe exclusive end index for the span of nodes that this pointer points to — i.e., one plus the index of the last node in the span. Must be greater than or equal to `start`. If equal to `start`, then the target span is empty.MultiscalePointerSpanPointer to a contiguous range of nodes in a target scale. `pointer.Span` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
startThe inclusive start index for the span of nodes that this pointer points to — i.e., the index of the first node in the span.MultiscalePointerSpanPointer to a contiguous range of nodes in a target scale. `pointer.Span` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
nameName corresponds to the names in WebChooserScorer::FeatureNames.MustangReposWwwSnippetsCandidateFeatureCandidateFeature contains a pair of feature name and score for a snippet candidate.String
scoreMustangReposWwwSnippetsCandidateFeatureCandidateFeature contains a pair of feature name and score for a snippet candidate.number
headerThe texts of header and listing items.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.String
headerTitleRedundancyThe ratio of header tokens covered by title.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.number
headerUsedInSnippetIf the header being used in organic snippet.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.boolean
itemsMustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.list(String)
originalTotalItemsThe number of items in the original list.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.integer
radishScoreThe score of the radish signal.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.number
dataSourceTypedata_source_type corresponds to the ChosenSnippet::SnippetType enum.MustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.integer
featuresMustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.list(MustangReposWwwSnippetsCandidateFeature)
textMustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.String
browserWidthBrowser width.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
candidatesFeatures for snippets candidates, generated by both old and new scorer. Currently only features for chosen candidate is generated.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(MustangReposWwwSnippetsSnippetCandidate)
displaySnippetSnippet features for the final chosen snippet. This field is firstly populated by Muppet, and then overwriten by Superroot if SnippetBrain is triggered.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.QualityPreviewRanklabSnippet
documentLanguagelocale of the document.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.String
originalQueryTermCoveragesOriginal query term coverage in titles and / or snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.QualityPreviewSnippetQueryTermCoverageFeatures
queryLanguagelocale of the query,MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.String
snippetDataSourceTypeSnippet data source.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
snippetQueryTermCoverageQuery term coverage in snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
snippetsSnippet features for Muppet snippet candidates. In production, only the data for chosen snippet will be recorded.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(QualityPreviewRanklabSnippet)
titleDataSourceTypeTitle data source.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
titleQueryTermCoverageQuery term coverage in titles.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
titleSnippetQueryTermCoverageQuery term coverage in titles and snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
titlesPer-candidate title features for ranklab models, sorted from the best candidate to the worst candidate (i.e., the first element is the actually selected title).MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(QualityPreviewRanklabTitle)
boldedIs the rendered token bolded (insided )MustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.boolean
byteOffsetBeginByte offset range in the rendered text that corresponds to this token. [byte_offset_begin, byte_offset_end) inclusiveMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.integer
byteOffsetEndexclusiveMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.integer
sectionSection and TokenPos of the token.MustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.String
tokenPosMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.String
idrequiredNetFabricRpcVirtualNetworkIdGlobally unique identifier for a virtual network.integer
componentSpecificContractsNlpMeaningComponentSpecificContractsA Component-Specific Contract is a proto message that can be placed on various elements of the MeaningCatalog (intent schemas, slots, types) that signals whether that element is part of the contract for a given component. go/contract-based-conformancelist(String)
deletionThis field can be set to true to indicate that the associated part of the schema is being deleted as part of the remodeling.NlpMeaningMeaningRemodelingboolean
idThe remodeling ID. Each remodeling has a unique ID that is used to associate changes with that remodeling.NlpMeaningMeaningRemodelingString
remodelingIdNlpMeaningMeaningRemodelingControlThis is the FunctionCall counterpart to the “MeaningRemodelings” structure. When present, it is used for typechecking the FunctionCall against the schema with the remodelings enabled.list(String)
remodelingNlpMeaningMeaningRemodelingsThis proto will be added as a field to part of a schema to indicate it is being remodeled.list(NlpMeaningMeaningRemodeling)
componentSpecificContractsNlpMeaningSemanticTypeNameComponentSpecificContractsComponent-Specific Contract for SemanticTypes, which are atomic string values (and thus can’t have a ComponentSpecificContracts message attached to them). go/contract-based-conformanceNlpMeaningComponentSpecificContracts
nameSemantic type name.NlpMeaningSemanticTypeNameComponentSpecificContractsComponent-Specific Contract for SemanticTypes, which are atomic string values (and thus can’t have a ComponentSpecificContracts message attached to them). go/contract-based-conformanceString
nameSemantic type name.NlpMeaningSemanticTypeNameMeaningRemodelingsAssociates remodeling data with a semantic type name.String
remodelingsNlpMeaningSemanticTypeNameMeaningRemodelingsAssociates remodeling data with a semantic type name.NlpMeaningMeaningRemodelings
infoAnnotation for this phrase.NlpSaftAnnotatedPhraseRepresentation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.Proto2BridgeMessageSet
phraseContains start and end pointers to the token array for this span.NlpSaftAnnotatedPhraseRepresentation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.NlpSaftPhrase
childAn arbitrary number of children, ordered from left to right; empty for preterminals. Represented via indices into Document.constituency_node.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.list(integer)
labelThe label of the current node.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.String
phraseA phrase that contains information about the span and the (optional) head token. For terminal nodes the head of the phrase holds the word.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.NlpSaftPhrase
relationRelations between entities in the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftRelation)
annotationsGeneric annotations.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36Proto2BridgeMessageSet
contentageAge of the content of the document. For details, see: quality/historical/shingle/signals/contentage.proto The format has been translated to a canonical timestamp (seconds since epoch).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
bylineDateDocument’s byline date, if available: this is the date that will be shown in the snippets in web search results. It is stored as the number of seconds since epoch. See segindexer/compositedoc.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
dateDocument anchor date in YYYYMMDDhhmmss format.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
entityEntities in the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftEntity)
semanticNodeThe semantic nodes for the document represent arbitrary types of higher-level abstractions beyond entity mention coreference and binary relations between entities. These may include: n-ary relations, semantic frames or events. The semantic nodes for a document are the nodes in a directed acyclic graph, with an adjacency list representation.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftSemanticNode)
lastSignificantUpdateLast significant update of the page content, in the same format as the contentage field, and also derived from ContentAge.last_significant_update in quality/historical/shingle/signals/contentage.proto.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
tokenTokenization of the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftToken)
measureMeasures in the documents. This covers both time expressions as well as physical quantities.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftMeasure)
hyperlinkThe hyperlinks in the document. Multiple hyperlinks are sorted in left-to-right order.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftHyperlink)
annotatedPhraseAnnotated phrases in the document that are not semantically well-defined mentions of entities.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftAnnotatedPhrase)
contentFirstseenStores minimum of first time google successfully crawled a document, or indexed the document with contents (i.e, not roboted). It is stored as the number of seconds since epoch. See quality/historical/signals/firstseen/firstseen.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
contentTypeOptional document content_type (from webutil/http/content-type.proto). Used for setting the content_type when converting the SAFT Document to a CompositeDoc. Will be inferred if not given here.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
entityLabelEntity labels used in this document. This field is used to define labels for the Entity::entity_type_probability field, which contains corresponding probabilities. WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(String)
httpHeadersHTTP header for document. If the HTTP headers field is set it should be the complete header including the HTTP status line and the trailing cr/nl. HTTP headers are not required to be valid UTF-8. Per the HTTP/1.1 Syntax (RFC7230) standard, non-ASCII octets should be treated as opaque data.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
topicNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftDocumentTopic)
docidIdentifier for document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
languageDocument language (default is English). This field’s value maps cleanly to the i18n.languages.Language proto enum (i18n::languages::Language in C++).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
textRaw text contents of document. (In docjoin attachments from the SAFT goldmine annotator this field will be empty.)NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
traceWhether to enable component tracing during analysis of this document. See http://go/saft-tracing for details.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
goldenFlag for indicating that the document is a gold-standard document. This can be used for putting additional weight on human-labeled documents in contrast to automatically labeled annotations.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
focusEntityFocus entity. For lexicon articles, like Wikipedia pages, a document is often about a certain entity. This is the local entity id of the focus entity for the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
constituencyRootThe root node of the constituency tree for each sentence. If non-empty, the list of roots will be aligned with the sentences in the document. Note that some sentences may not have been parsed for various reasons; these sentences will be annotated with placeholder “stub parses”. For details, see //nlp/saft/components/constituents/util/stub-parse.h.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(integer)
authorDocument author(s).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(String)
syntacticDateDocument’s syntactic date (e.g. date explicitly mentioned in the URL of the document or in the document title). It is stored as the number of seconds since epoch. See quality/timebased/syntacticdate/proto/syntactic-date.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
urlSource document URL.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
privacySensitiveTrue if this document contains privacy sensitive data. When the document is transferred in RPC calls the RPC should use SSL_PRIVACY_AND_INTEGRITY security level.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
subsectionSub-sections for document for dividing a document into volumes, parts, chapters, sections, etc.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftDocument)
constituencyNodeConstituency parse tree nodes for the sentences in this document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftConstituencyNode)
rpcErrorTrue if some RPC which touched this document had an error.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
titleOptional document title.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
nameTopic name or identifier.NlpSaftDocumentTopicDocument topic(s).String
scoreTopic score.NlpSaftDocumentTopicDocument topic(s).number
antecedentAntecedent for entity. This is used to make coreference chains before the mentions in the document are grouped by entity.NlpSaftEntityNamed entities in the document.integer
entityTypeEntity type (e.g. PER, ORG, LOC). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftEntityNamed entities in the document.String
entityTypeProbabilityProbability distribution over entity types. These values correspond to Document.entity_label values: doc.entity[e].entity_type_probability[n] is the probability that the correct label for doc.entity[e] is doc.entity_label[n]. These probabilities sum to 1.0 (with possible rounding error). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftEntityNamed entities in the document.list(float)
genderGender for entity.NlpSaftEntityNamed entities in the document.String
infoApplication-specific information about this entity.NlpSaftEntityNamed entities in the document.Proto2BridgeMessageSet
mentionMentions of the entity in the document.NlpSaftEntityNamed entities in the document.list(NlpSaftMention)
nameRepresentative entity name.NlpSaftEntityNamed entities in the document.String
profileProfile for entity.NlpSaftEntityNamed entities in the document.NlpSaftEntityProfile
referentReferent information for discourse context entities that are not mentioned in the document. These can be merged with mentioned entities during analysis if they are deemed to be coreferent. Entities with referents should not have any mentions if they do not corefer with anything. For example, when adding context entities to an input document prior to SAFT analysis, those entities should have a referent and no mentions.NlpSaftEntityNamed entities in the document.NlpSaftReferent
representativeMentionRepresentative mention, as an index into mention.NlpSaftEntityNamed entities in the document.integer
salienceScore indicating the saliency (centrality) of this entity to the document.NlpSaftEntityNamed entities in the document.float
typeEntity types of the entity. These can include SAFT types (/saft/location, /saft/art, /saft/other/living_thing, etc), collections types (/collection/tv_personalities, /collection/statistical_regions, etc), and more. This refers to the type of the entity itself: in “She is on TV”, “She” refers to a specific actor, with type “/collection/tv_personalities”. Cf. Mention.Type, which is the type of the referring mention.NlpSaftEntityNamed entities in the document.list(NlpSaftEntityType)
alternateNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileAlternate)
annotationsGeneric annotations.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.Proto2BridgeMessageSet
attributeList of attributes for the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileAttribute)
canonicalNameCanonical entity name.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
collectionScoreTypeNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
disambiguationDisambiguation phrase. The combination of entity name and disambiguation phrase should be unique within the corpus.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
embeddingEntity embeding vector, representing the entity in a dense low-dimensional embedding space.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(number)
frameProfile frame in binary SLING encoding.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
genderGender of the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
idUnique global id for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
identifierExternal identifiers for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftIdentifier)
keywordNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileKeyword)
midFreebase MID for entity. This field should be the same as FREEBASE_MID identifier for the entity profile.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
nameRepresentative name for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
nameLanguageLanguage for the name and disambiguation.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.integer
natureNature of the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
referenceNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileReference)
relatedNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileRelated)
typeEntity type.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
countNlpSaftEntityProfileAlternateAlternative names for entity.integer
formsee nlp/saft/resolution/name-form.h for valuesNlpSaftEntityProfileAlternateAlternative names for entity.integer
frameframe in SLING encodingNlpSaftEntityProfileAlternateAlternative names for entity.String
languageNlpSaftEntityProfileAlternateAlternative names for entity.integer
nameNlpSaftEntityProfileAlternateAlternative names for entity.String
sources(1 << SRC_DEFAULT)NlpSaftEntityProfileAlternateAlternative names for entity.integer
boolValueBoolean attribute value, e.g. for IsDeceased.NlpSaftEntityProfileAttributeboolean
floatValueDouble attribute value, e.g. for height/weight.NlpSaftEntityProfileAttributefloat
intValueInteger attribute value, e.g. IntId(“April”).NlpSaftEntityProfileAttributeString
languageLanguage, in case the attribute value is a string.NlpSaftEntityProfileAttributeinteger
typeString name of the type of attribute, e.g. /birth/dateNlpSaftEntityProfileAttributeString
typeIdAny id of the type of the attribute, e.g. IntId(/birth/date)NlpSaftEntityProfileAttributeinteger
valueString attribute value, e.g. “April 2010” or “3,235,121”.NlpSaftEntityProfileAttributeString
valueTypeThe type of the value.NlpSaftEntityProfileAttributeString
countNlpSaftEntityProfileKeywordKeywords and key phrases for entity.integer
languageNlpSaftEntityProfileKeywordKeywords and key phrases for entity.integer
scoreScore associated with the keyword. For fine-grained types this is a probability.NlpSaftEntityProfileKeywordKeywords and key phrases for entity.float
termNlpSaftEntityProfileKeywordKeywords and key phrases for entity.String
typeNlpSaftEntityProfileKeywordKeywords and key phrases for entity.String
docidNlpSaftEntityProfileReferenceReferences to entity.String
entityNlpSaftEntityProfileReferenceReferences to entity.integer
countNumber of occurrences.NlpSaftEntityProfileRelatedRelated entities.integer
inverseInverse relations can be marked in a bidirectional graph.NlpSaftEntityProfileRelatedRelated entities.boolean
relationIdOptional integer id for the relation.NlpSaftEntityProfileRelatedRelated entities.integer
relationIdentifierOptional external identifier for the relation.NlpSaftEntityProfileRelatedRelated entities.NlpSaftIdentifier
scoreScore for related entity, i.e. p(e->r | e).NlpSaftEntityProfileRelatedRelated entities.number
targetIdProfile id of related entity.NlpSaftEntityProfileRelatedRelated entities.String
targetIdentifierOptional external identifier for the target entity.NlpSaftEntityProfileRelatedRelated entities.NlpSaftIdentifier
targetNameName of related entity.NlpSaftEntityProfileRelatedRelated entities.String
typeType of relation.NlpSaftEntityProfileRelatedRelated entities.String
basedOnMentionThis field can be used to specify if the entity type has been annotated or predicted from a specific mention of the entity. However, the entity type does still apply to the entity as a whole, and not just a specific mention.NlpSaftEntityTypeA generic type description for an entity.integer
domainA domain name for the set that this particular type belongs to.NlpSaftEntityTypeA generic type description for an entity.String
infoApplication-specific information about this entity type.NlpSaftEntityTypeA generic type description for an entity.Proto2BridgeMessageSet
nameThe type name, like “/saft/person”. See README.entity-types for the inventory of SAFT type tags.NlpSaftEntityTypeA generic type description for an entity.String
scoreA score for this type.NlpSaftEntityTypeA generic type description for an entity.number
anchorTextClean anchor text (no HTML markup).NlpSaftHyperlinkA link on an HTML page.String
byteEndnote: inclusiveNlpSaftHyperlinkA link on an HTML page.integer
byteStartbegin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked. The indices of the first and last byte covered by the hyperlink.NlpSaftHyperlinkA link on an HTML page.integer
phraseThe indices of the first and last token covered by the hyperlink.NlpSaftHyperlinkA link on an HTML page.NlpSaftPhrase
url(Absolute) URL that the links to.NlpSaftHyperlinkA link on an HTML page.String
domainDomain for the identifier.NlpSaftIdentifierExternal identifier. An external identifier is a persistent identifier for an object within a domain.String
idIdentifier within domain.NlpSaftIdentifierExternal identifier. An external identifier is a persistent identifier for an object within a domain.String
byteEndnote: inclusiveNlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
byteStartThe indices of the first and last byte covered by the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
labelThe label associated with the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.String
labelScoresOptionally stores alternative labels with associated scores for the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.map
scoreA score associated with the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.number
tokenEndnote: inclusiveNlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
tokenStartThe indices of the first and last token covered by the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
labeledSpanNlpSaftLabeledSpansA list of labeled spans of the same type.list(NlpSaftLabeledSpan)
canonicalCanonical value for measurement.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.float
granularityGranularity for measurement.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.float
infoApplication-specific information about this measure.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.Proto2BridgeMessageSet
phrasePhrase containing the measure.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.NlpSaftPhrase
typeNlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
unitNlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
valueMeasurement value and unit.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
confidenceEstimate of the confidence that this mention is in the correct cluster. Zero means this mention is probably in the wrong cluster, 1 means this mention is probably in the correct cluster. See nlp/saft/components/coreference/coreference-confidence.h for details about what “correct cluster” might mean.NlpSaftMentionMentions of the entity in the document.float
infoApplication-specific information about this mention.NlpSaftMentionMentions of the entity in the document.Proto2BridgeMessageSet
kindNlpSaftMentionMentions of the entity in the document.String
nestingRelationNlpSaftMentionMentions of the entity in the document.String
phrasePhrase for the mention.NlpSaftMentionMentions of the entity in the document.NlpSaftPhrase
resolutionMention-level resolution. This is used for encoding the meaning of the mention rather than the entity. For example, definite references and appositions are resolved to the mid for the concept rather than the entity.NlpSaftMentionMentions of the entity in the document.NlpSaftMentionResolution
roleNlpSaftMentionMentions of the entity in the document.String
typeNlpSaftMentionMentions of the entity in the document.String
profileProfile for mention information.NlpSaftMentionResolutionMention resolution for encoding the concept id (e.g. mid) for a mention.NlpSaftEntityProfile
typeNlpSaftMentionResolutionMention resolution for encoding the concept id (e.g. mid) for a mention.String
attrValueA list of morphology attribute-value pairs.NlpSaftMorphologyMessage that stores information about the morphology of a token.list(String)
endNlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
facetNlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.String
headThe head token in the phrase is the id of the top-most token within the phrase. It either has an arc from outside the phrase going to it, or it is a root token of the sentence. A value of -1 indicates that the head has not yet been computed for the phrase (not the same semantics as the head of a token!). Note that even when it is uniquely defined, there is no guarantee that the head is set for entities and measurements within a document: you may need to explicitly compute it.NlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
startFirst and last token in the phrase. The phrase goes from start to end (inclusive).NlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
distanceDistance of this referent from the markables in the Document. Smaller values imply that the referent is more accessible to be an antecedent for a markable in the Document. The expectation is that this field would increase with every new Document in which this referent is not mentioned.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.float
explicitnessNlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.String
infoApplication-specific information about this referent.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.Proto2BridgeMessageSet
phraseEntity name phrase. The phrase indices are relative to the token array above. The phrase should normally cover all the tokens in the name and the head must be set to be the head token of the name.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.NlpSaftPhrase
prominenceProminence score for referent. This is roughly equivalent to the number of previous mentions of the referent.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.float
roleNlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.String
tokenTokenized representation for the canonical name of the referent entity.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.list(NlpSaftToken)
identifierExternal identifier for relation.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11NlpSaftIdentifier
infoApplication-specific information about this relation.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11Proto2BridgeMessageSet
kindNlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11String
mentionMentions of the relation in the document.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11list(NlpSaftRelationMention)
scoreRelation score.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11number
sourceSource and target entity indices. These are indices into the entity array in the document. If this is an attribute relation the target is the index of a measure in the document.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
targetNlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
typeRelation type.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11String
typeIdRelation type id.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
infoApplication-specific information about this relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.Proto2BridgeMessageSet
phrasePhrase in the document that indicates the relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.NlpSaftPhrase
sourceSource and target mention indices. These are indices into the mention arrays for their respective entities. The target is not used for attributes.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.integer
sourceInfoThe info of the source models or systems of the relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.list(String)
targetNlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.integer
arcThe arcs from this node. For example, if this node is the root of a subgraph representing a predicate-argument structure, this node will typically refer to the predicate, and there will typically be one arc per argument.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23list(NlpSaftSemanticNodeArc)
confidenceConfidence score for the annotation.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23number
descriptionHuman-readable description of the information in the subgraph represented by this node. This field is only meant for display purposes.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
entityThe entity and mention fields specify a unique entity mention referred to by this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
implicitIndicates whether the semantic node is not explicit (grounded) in the text (e.g. pro-drop for a text author or an implicit predicate node for interpreting a compound noun), rather than any explicit phrase or text inside the document.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23boolean
infoApplication-specific information about this node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23Proto2BridgeMessageSet
kindEncodes the kind of this node and, possibly, the entire subgraph rooted at this node. For example, if this node represents a predicate-argument structure in PropBank, then this node’s kind will be PROPBANK, its phrase field will be set to correspond to the span of tokens corresponding to the predicate (such as a verb) and it will have one arc per argument. If the kind is MONOTONIC this node corresponds to a semantic graph node, and arcs correspond to semantic graph edges outgoing from the node. If the kind field is not set, then this node is not directly connected to any type system. In such a case, this node may still optionally have a concrete “payload” in the form of references to an entity mention, measure or span of tokens (Phrase) in a SAFT document. The values or existence of the kind field need not be identical in any subgraph. For example, even if this node’s kind field is not set, it may still be the destination node of an arc from some other node whose kind field is set.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
measureThe index of the measure referred to by this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
mentionNlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
phrasePhrase (span of text) for this node. This field does not need to be set, but if it is, this node has a textual “payload” corresponding to the specified token span. For example, if this node is the root of a subgraph corresponding to a predicate-argument structure, then the phrase field will be set to be the span of tokens corresponding to the predicate (e.g., a verb).NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23NlpSaftPhrase
typeArbitrary type string for this semantic node, or for the subgraph rooted at this node. This type string might come from an external resource, type system or ontology that contains a predefined set of types.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
valueArbitrary value string for this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
descriptionHuman-readable description of this arc’s type (for display purposes).NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.String
implicitIndicates the arc is for an implicit semantic relation between nodes, for example one that does not correspond to a grammatical relation in the text.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.boolean
infoApplication-specific information about this arc.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.Proto2BridgeMessageSet
semanticNodeIndex of the semantic node pointed to by this arc.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.integer
typeArc type (akin to an edge label, or semantic operator).NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.String
breakLevelNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
breakSkippedTextWhether the break skipped over non-tag text (excluding script/style).NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.boolean
categoryCoarse-grained word category for token. See README.categories for category inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
endNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
headHead of this token in the dependency tree: the id of the token which has an arc going to this one. If it is the root token of a sentence, then it is set to -1.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
infoAnnotation for this token.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.Proto2BridgeMessageSet
labelLabel for dependency relation between this token and its head. See README.labels for label inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
lemmaWord lemma. This is only filled if the lemma is different from the word form.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
morphMorphology information.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.NlpSaftMorphology
scriptCodeA string representation (typically four letters, sometimes longer) of the token’s Unicode script code, based on BCP 47/CLDR, capitalized according to ISO 15924. See i18n/identifiers/scriptcode.h for details.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
start[start, end] describe the inclusive byte range of the UTF-8 encoded token in document.text. End gives the index of the last byte, which may be a UTF-8 continuation byte, and the length in bytes is end – start + 1. begin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
tagPart-of-speech tag for token. See README.tags for tag inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
tagConfidenceConfidence score for the tag prediction — should be interpreted as a probability estimate that the tag is correct.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.number
textPropertiesNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
wordToken word form. This may not be identical to the original. For example, in goldmine annotation we do UTF-8 normalization and punctuation normalization. The punctuation normalization includes inferring the directionality of straight doublequotes — that is, we map ” to open quote (“) or close quote (”), and sometimes we get it wrong. SAFT processing in other contexts (such as queries in qrewrite) involves different normalizations.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
analyzedTextAll the text in this article, separated into Sections and Paragraphs. See nlp_sciencelit.ScaleSetExtensions for the extensions to ScaleSet used.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19NlxDataSchemaScaleSet
articleIdNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitArticleId)
citationAll references from this article (Bibliography).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitCitationData)
earliestPubDateThe result of selecting the earliest date from various metadata (PMC, PubMed Metadata, scholar citations).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
metadataNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19NlpSciencelitArticleMetadata
nonAbstractWordCountNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
parsedFromPath of the source document from which this was parsed.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
pubDateAll dates from the PMC article metadata Year/Mon/Day.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitPubDate)
referencedBlockAll figure captions within this article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitReferencedBlock)
scholarCitationCitation for this article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19ScienceCitation
scholarDocumentDocJoins with full text article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(CompositeDoc)
scholarSignalMay also add the Scholar index signal information:NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19ScienceIndexSignal
sourceSource of this article data (e.g., PubMed, scholar index, other source.).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
titleNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
wordCountNumber of words in the entire article and everywhere outside of abstract sections.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
idNlpSciencelitArticleIdArticle IDs associated with an article (e.g., PMID, DOI, PMC).String
idTypeNlpSciencelitArticleIdArticle IDs associated with an article (e.g., PMID, DOI, PMC).String
abstractAbstract of article from metadata.NlpSciencelitArticleMetadataNext available ID: 20.NlpSciencelitTokenizedText
articleIdNlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitArticleId)
authorAuthor of article.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitAuthor)
datasetDatasets referenced from this article.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitDataset)
dateStrMost recent date YYYY-MM-DD.NlpSciencelitArticleMetadataNext available ID: 20.String
deletedCitation for flagged for deletion by source.NlpSciencelitArticleMetadataNext available ID: 20.boolean
headingMesh Terms.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitMeshHeading)
issueNlpSciencelitArticleMetadataNext available ID: 20.String
journalTitle of journal. For books: Journal = Publisher Volume = CollectionNlpSciencelitArticleMetadataNext available ID: 20.String
languageNlpSciencelitArticleMetadataNext available ID: 20.String
lastRevisedDateStrLast entry revision date YYYY-MM-DD.NlpSciencelitArticleMetadataNext available ID: 20.String
metadataSourceNlpSciencelitArticleMetadataNext available ID: 20.list(String)
parsedFromSource Pubmed/Medline XML file.NlpSciencelitArticleMetadataNext available ID: 20.String
pmidPMID of article (for non-pubmed data, this is the docid).NlpSciencelitArticleMetadataNext available ID: 20.String
publicationTypeNlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitPublicationType)
scamRestrictTokensOptional ScaM restrict tokens to be added to all GFVs generated from this article’s data.NlpSciencelitArticleMetadataNext available ID: 20.ResearchScamV3Restrict
titleTitle of article.NlpSciencelitArticleMetadataNext available ID: 20.String
urlURL(s) for the document. If possible, order by decreasing desirability.NlpSciencelitArticleMetadataNext available ID: 20.list(String)
volumeNlpSciencelitArticleMetadataNext available ID: 20.String
firstNameNlpSciencelitAuthorString
lastNameNlpSciencelitAuthorString
articleIdNlpSciencelitCitationDataNext available ID: 8list(NlpSciencelitArticleId)
authorNlpSciencelitCitationDataNext available ID: 8list(NlpSciencelitAuthor)
externalLinkNlpSciencelitCitationDataNext available ID: 8String
fullTextNlpSciencelitCitationDataNext available ID: 8String
referenceReference used in text (e.g., PMC rid).NlpSciencelitCitationDataNext available ID: 8String
scholarCitationScholar citation information from scholar index.NlpSciencelitCitationDataNext available ID: 8ScienceCitation
titleOptional information about the publication.NlpSciencelitCitationDataNext available ID: 8String
associationNlpSciencelitDatasetString
datasetMetadataNlpSciencelitDatasetResearchScienceSearchReconciledMetadata
meshDescriptorNlpSciencelitMeshHeadingA full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglistNlpSciencelitSubjectHeading
meshQualifierNlpSciencelitMeshHeadingA full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglistlist(NlpSciencelitSubjectHeading)
dateStrNlpSciencelitPubDatePubdate extracted from PMC article metadata.String
pubType“ppub” for a print ISSN and “epub” for an electronic ISSN.NlpSciencelitPubDatePubdate extracted from PMC article metadata.String
nameDisplay name for the publication type, e.g. “Journal Article”NlpSciencelitPublicationTypeString
uiMeSH unique identifiers for publication types, e.g. “D016428”NlpSciencelitPublicationTypeString
captionCaption tokens – all text in the caption other than the block.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5NlpSciencelitTokenizedText
referenceReference used from the text to point to this figure.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5String
titleTitle tokens – these come from a block within a caption.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5NlpSciencelitTokenizedText
typeType of figure (table, figure, etc.).NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5String
scamQueryEncodingThe query encoding sent to scam for retrieval.NlpSciencelitRetrievalQueryEncodingDebugInfoResearchScamGenericFeatureVector
articleDataOnly set if RequestOptions.debug_return_article_data is true.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.NlpSciencelitArticleData
goldDocidNlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.list(String)
goldSnippetsNlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.list(String)
isGoldNot set by server; only used by evals.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.boolean
rerankingScoreSee SearchResultInternal.reranking_score.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.number
reverseRerankingOrderSee SearchResultInternal.reverse_reranking_order.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.integer
sectionIrScoreSee SearchResultInternal.section_ir_score.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.map
queryEncodingNlpSciencelitRetrievalSearchResultSetDebugInfoOptionally returned by Delver API in the response’s debug_info field.NlpSciencelitRetrievalQueryEncodingDebugInfo
scamResponseNlpSciencelitRetrievalSearchResultSetDebugInfoOptionally returned by Delver API in the response’s debug_info field.ResearchScamQueryResponse
goldHighlightSentenceIndicesWhich highlights have sentence overlap with gold snippets. Not ordered. Might only be set for the first gold highlight.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.list(integer)
highlightIdxToOverlapMap of highlight index to best overlap with any gold snippet [0,1].NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.map
highlightIdxToSentenceOverlapMap of highlight index to best overlap with any gold sentence [0,1].NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.map
isGoldNot set by server; only used by certain evals. Might only be set for the first gold snippet.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.boolean
offsetWithinSectionByte index of text within the full section text (or within title).NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.integer
sectionIndexSection within the document. -1 if title.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.integer
sectionIrScoreIR score of the section the snippet is coming from.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.number
snippetBleuScoreBLEU score for the entire snippet.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.number
idNlpSciencelitSubjectHeadingA subject heading from MeshString
majorTopicNlpSciencelitSubjectHeadingA subject heading from Meshboolean
termNlpSciencelitSubjectHeadingA subject heading from MeshString
textNlpSciencelitTokenizedTextTokenized text with optional original representation.String
tokenNlpSciencelitTokenizedTextTokenized text with optional original representation.list(String)
additionalSpansAdditional spans after the first. Empty in all additional_spans.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangelist(NlpSemanticParsingAnnotationEvalData)
numBytesNlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
numTokensNlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
startByteByte position within the utterance. Safe to use across different components of the NLU stack as long as said components have access to the same query.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
startTokenToken position. This is cleared when normalizing examples for storage because tokenization changes over time. DO NOT use these two fields across components that use different tokenizations.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
appInfoThe app_info is to store specific information about installed/uninstalled apps annotated by app annotator servlet. It contains app name, package name, confidence, and source.NlpSemanticParsingAppAnnotationThe App annotator annotates potential app name in the parser’s input and outputs the proto with the details about app(s).list(QualityActionsAppInfo)
allowPersonalallow_personal determines if personal datetimes are allowed to be used in the resolution of the personal datetime. If allow_personal is false and a personal date exists, the entire parse will be thrown out.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.boolean
dayNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
deleted11Deprecated fields. Do NOT use.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
holidayseason, quarters and holidays will be soon handled as fetched relative datetimes and will be removed from the AbsoluteDateTime message.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeHoliday
hourTime is 24-hour military time.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
hourStateNote: This is marked as deprecated as we are moving into explicit parses using the `meridiem` field, and leave the inference over implicit parses to the grounding/resolution libraries.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
isBc|is_bc| is true if and only the date is Before Christ/Common Era. If |is_bc| is true, only year is meaningful in this proto, as Gregorian calendar is only meaningful for A.D. date/times.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.boolean
meridiemFor expressions such as “am”, “pm”. Note: the name “meridiem” has been taken by a field in message ResolutionProperties. Examples: * “9 am”: point { hour: 9 meridiem: AM hour_state: UNAMBIGUOUS }NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
minuteNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
modifierFor expressions such as “around 2 pm”.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
monthNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
nonGregorianDateIf present then: 1) the incoming non-Gregorian datetime will be converted to Gregorian. 2) exported DateTimeProperty fields will contain the converted Gregorian datetime. 3) DateTimeProperty.source_calendar will be set to the calendar-system that was used to specify the non-Gregorian date.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeNonGregorianDate
partialSecondNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.float
propertiesNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeDateTimeProperty
quarterNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* 2020 * *early* on March 20th When a point have a range_modifier field, the resolution library will expand the point into the widest range in contains. For example, in the case of a single date point like “April 22nd, 2022”, the point will be transformed into a range with: – “begin: April 22nd 2022 00:00:00h” – “end: April 22nd 2022 23:59:59h” The modifier will then be applied over that range.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
seasonNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
secondNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
timezoneA string representation of the timezone information, see i18n/identifiers/timezones.{h,cc}.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
weekdayThe |weekday| field is populated to indicate that a day-of-the-week is explicitly mentioned in an absolute date utterance, such as [Tuesday, July 6th, 2021]. Note that when a day-of-the-week is included in other, non-absolute-date expressions, such as [on Tuesday], then this this field is not populated (and in fact an AbsoluteDateTime is not used at all.) Note: This field is populated only when the original expression contains a day-of-the-week. It is not populated by the grounding library to indicate that the date happens to be a Tuesday. Examples: * “Tuesday, July 6th 2021” –> the day of the week is part of an absolute date expression, so this field is populated: point { year: 2021 month: JULY day: 6 weekday: TUESDAY } * “on Tuesday” –> the day of the week is not part of an absolute date expression, so it is interpreted as a relative datetime: relative { fetched { target { weekday: TUESDAY } } }NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
yearDate.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
dateTypeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
endDateNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
endTimeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
endWeekdayNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
rawTextNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
startDateNOTE: None of these are co-indexed. If the query is ‘morning’, there could be multiple start_time’s, start_date’s, end_date’s, and end_time’s, and they do not correspond to one another in any structured way.NlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
startTimeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
startWeekdayNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
timeTypeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
compositionElementFor temporal expressions that consist of components with different types, the elements in the composition are nested according to the order they should be grounded/resolved. For example, “tomorrow at 8am” has a relative component [tomorrow] and an absolute datetime component [8am] so the annotation will be represented in the following way, indicating that the relative datetime for tomorrow should be grounded first, and then resolve the actual 8am point for that given date: point { hour: 8 hour_state: UNAMBIGUOUS properties { time_format: AM_PM_TOKEN } } composition_element { relative { fetched { ordinal: 1 target { unit: DAY } base_type: CURRENT_DATETIME } } grounding_stage: UNGROUNDED } grounding_stage: UNGROUNDED_COMPOSITION The composition_element field will be populated only when the grounding_stage is set to UNGROUNDED_COMPOSITION and it will hold the nested DateTime value for the rest the compositional expression. More details in: go/datetime-resolution-decoupling.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeDateTime
deleted7Deprecated fields. Do NOT use.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.boolean
deleted8NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.boolean
evalDataThis field of the DateTime message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingAnnotationEvalData
groundingStageNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.String
pointNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.list(NlpSemanticParsingDatetimeAbsoluteDateTime)
propertiesNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeResolutionProperties
rangeNote that there is a difference between this scenario and an ambiguous date/time expression. The latter is resolved to multiple proto messages, not multiple values within one proto message. To be concrete, consider “Monday” in “Monday football”. It is ambiguous and can be reasonably resolved to “Monday last week,” “Monday this week” and “Monday next week.” The 3 values are represented as 3 separate DateTime messages, not 3 values within one DateTime message.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.list(NlpSemanticParsingDatetimeRange)
recurrentNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeRecurrent
relativeNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeRelativeDateTime
spanSee comments of Span.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeSpan
dateFormatNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
expandYearToCurrentNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13boolean
hourStatusNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
inferredDateValueNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
metadataNote: this may be changed to a repeated field in the future.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
personalReferenceMetadataMetadata about the personal reference if the date was generated from a personal reference.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13CopleyPersonalReferenceMetadata
relationToReferenceNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
relativeExpresses the relative DateTime query that gave rise to these grounded semantics.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13NlpSemanticParsingDatetimeRelativeDateTime
sourceCalendarNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
sourceTypeListIf the annotation was created by using personal data, we record the provenance for that data here.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13CopleySourceTypeList
timeFormatNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13list(String)
timezoneIsExplicitTrue iff the timezone value in AbsoluteDateTime is explicit in the annotated text or not. In the following examples the timezone is explicit: Query Timezone ————————– ——– 10pst Pacific Standard Time 10 utc UTC 10 sydney time Australia Eastern TimeNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13boolean
evalDataThis field of the Duration message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingAnnotationEvalData
modifierFor expressions such as “about 2 hrs”.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.String
quantityNlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingDatetimeQuantity
spanSee comments of Span.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingDatetimeSpan
holidayNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
moonEventNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.NlpSemanticParsingDatetimeMoonEventInfo
sunEventNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
typeNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
baseTypeNlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
countHow many to fetch (e.g. [next weekend] vs. [next two weeks])NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9integer
metadataCan be used to tag relative datetime expressions with metadata information in the grammar.NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
ordinalEncodes expressions like next (+1), last (-1), after next (+2), this (0).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9list(integer)
rangeThe restriction range on which fetching is operated, e.g., “April” in “first Tuesday in/of April.” If this field is missing, the operation is done relative to the base_type (or if not given, to the query’s reference datetime). When the fetching operation is performed relative to a reference time point, positive ordinal values represent upcoming instances from the reference point, negative ordinal values represent previous instances from the reference point. Similarly, ordinal=0 represents a reference to the “current instance”, which may vary depending on the target. E.g. “this week” is simply defined as the week range that contains the current reference time point, but “this ” can be ambiguous and its resolution will depend on language/locale conventions (“this monday” in some languages refers to the closest upcoming instance of Monday, while in other languages it represents the Monday instance within the current week).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeRange
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* next week * *late* next MondayNlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
relativeRangeIf the underlying range comes from a relative datetime expression, encode the expression here instead.NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeResolutionProperties
targetThe target to be fetched. This could be a named day-of-week or month (e.g., “Monday”, “April”), or a date/time unit (e.g., “day”, “week”, “month”).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeTargetToFetch
nonFixedThere are 3 types of holidays supported by the datetime subgrammar: 1) NonFixedHolidayEnum: e.g., “easter”, “chinese new year”. 2) FetchedRelativeDateTime: e.g., “Thanksgiving” => [4th Thursday of November] 3) HolidayByMonthDay: e.g., “xmas” => [December 25] Each holiday of the first type is resolved by a C++ function; the 2nd and 3rd type of holidays are mapped to AbsoluteDateTime and FetchedRelativeDateTime, respectively, in grammar and are not needed to be represented in proto.NlpSemanticParsingDatetimeHolidayList of holidays that are not fixed absolute or relative dates on the Gregorian calendar.String
phaseNlpSemanticParsingDatetimeMoonEventInfoString
typeNlpSemanticParsingDatetimeMoonEventInfoString
chineseMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
dayThe day is the offset within the month, same as in Gregorian calendars.NlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.integer
hebrewMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
islamicMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
yearThe year is relative to the calendar (e.g. 5777 for Hebrew calendar).NlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.integer
modifierFor internal use – DateTime subgrammar users should look at Duration.modifier. = MORE in [3 more days].NlpSemanticParsingDatetimeQuantityString
number!ERROR! B7821 -> Formula Error: An unexpected error occurredNlpSemanticParsingDatetimeQuantityfloat
numberSpanThis field keeps the span info of the number element in a quantity expression, which is useful for downstream components to obtain the number annotations inside a quantity when necessary.NlpSemanticParsingDatetimeQuantityNlpSemanticParsingAnnotationEvalData
symbolicQuantityQuantities are typically converted into milliseconds, regardless of the units the user used. Sometimes this loses crucial information, e.g., “5 days” vs “5 nights”. When quantities are converted to milliseconds, ‘symbolic_quantity’ will contain the sequence of units that the user actually supplied. This can be more than one element in cases like “one minute and 30 seconds”. In cases where ‘symbolic_quantity’ has more than one element, THERE IS NO GUARANTEED ORDER between elements.NlpSemanticParsingDatetimeQuantitylist(NlpSemanticParsingDatetimeQuantity)
unit!ERROR! B7824 -> Formula Error: An unexpected error occurredNlpSemanticParsingDatetimeQuantityString
beginDeprecated fields. Do NOT use.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeAbsoluteDateTime
beginRelativeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeRelativeDateTime
durationif |duration| is set, one field from start or finish must be populated, but not both. |exclusive| value is still relevant to decide if the endpoints of the range are included in the range (value defined in the start/finish fields as well as the datetime value resulting of offseting the duration over the given range endpoint).NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeQuantity
endNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeAbsoluteDateTime
endRelativeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeRelativeDateTime
exclusiveNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.boolean
finishNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeDateTime
fuzzyRangeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
metadataNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
propertiesNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeResolutionProperties
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *late* morningNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
start|start| and |finish| are inclusive unless exclusive field is true. the values in start and finish can be an absolute point, a relative or another range. Recurrences and repeated values are not expected/allowed.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeDateTime
symbolicValueThe field is set if the range is the result of resolving/grounding a relative datetime expression referring to a part of the day. E.g. “morning”, “afternoon”, “evening”, “night”, “tonight”, etc.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
countRestrictionHow many times it repeats.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
exceptionAn arbitrary exception to the recurrence. This can be an absolute point, a relative, a range or a recurrent expression. Examples: * “every Tuesday except for July 13th 2021” * “every Tuesday except for July 13th and November 2nd” * “every second Monday except during the summer” * “everyday except Thursdays” * “every Friday, except from October 1st to October 22nd”NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeDateTime)
frequency|frequency| is used to represent the frequency of the recurrence over a given recurrent period. E.g. “twice a week”, “once a month”. An unknown frequency is represented with 0, as in just “repeating”.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
metadataNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.String
period|period| and |unit| specify how often |start_point| or |start_range| repeats. |period| should not be 0.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
rangeRestrictionNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeRange
relativeRangeRestrictionNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeRelativeDateTime
restrictionA recurrent expression can be restricted by either a datetime |restriction| or |count_restriction| below. The restriction datetime can be expressed as an explicit range a relative datetime expression, a datetime point or a recurrent datetime. E.g. “every monday [next month]”, “every second tuesday [this year]”, etc. If |period| is > 0 and |restriction| is not set, repeat indefinitely. Note that this can support recurrent expressions as |restriction| as well. For example in the expression “every monday on [every other month]” where [every other month] is a restriction expressed as a recurrent datetime.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeDateTime
start|start| is used to represent the starting points, ranges or relative datetims in a recurrent expression, for example: “every morning”, (range) “everyday at 5 pm”, (point) “every second monday” (relative) |start| should never contain a recurrent element.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeDateTime)
startPointDO NOT USE: deprecated fields soon to be removed.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeAbsoluteDateTime)
startRangeNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeRange)
startRelativeNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeRelativeDateTime)
targetThe target to be fetched. This could be a named day-of-week or month (e.g., “Monday”, “April”), or a date/time unit (e.g., “day”, “week”, “month”).NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeTargetToFetch
timeInterval|time_interval| is a time amount or duration, used to described the time interval between the instances of the recurrence. (e.g. “every 3 hours”, “every 35 minutes”, “every 2 months and 15 days”, etc)NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeQuantity
unitNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.String
fetchedNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5NlpSemanticParsingDatetimeFetchedRelativeDateTime
metadataNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5String
modifierWhen a relative datetime which resolves into a range is being used as the endpoint of a range (begin_relative/end_relative), its begin/end will be taken accordingly unless this modifier indicates the opposite: begin_relative with relative range and modifier == AFTER means that its end will be taken as the beginning of the resulting range. Similarly, end_relative with a relative range and modifier == BEFORE means that its begin will be taken as the end of the resulting range. E.g. “after next month” will be a range with a begin_relative that will take the end of “next month” as its starting point (exclusive). values other than AFTER and BEFORE in the specific conditions explained here will be ignored and have no effect in the resolution of RelativeDateTimes.NlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5String
shiftedNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5NlpSemanticParsingDatetimeShiftedRelativeDateTime
meridiemSimple enum container for exporting meridiem mentions. Note: this is marked as deprecated as we are moving to properly parse expressions with explicit meridiem information.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.String
metadataEncodes whether the datetime was phrased in a specific way, see enum above.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.String
relativeExpresses the relative DateTime query that gave rise to these grounded semantics.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.NlpSemanticParsingDatetimeRelativeDateTime
baseThe base could be an absolute datetime point for example: “March 1”, a relative datetime point, for example: “2 days before March 1” or a symbolic base type, for example: CURRENT_DATETIME. This could also be used to combine EXPLICIT_PRONOUN with the actual value of that reference being setup as a datetime point in base or relative_baseNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeAbsoluteDateTime
baseTypeNlpSemanticParsingDatetimeShiftedRelativeDateTimeString
metadataCan be used to tag relative datetime expressions with metadata information in the grammar.NlpSemanticParsingDatetimeShiftedRelativeDateTimeString
relativeBaseNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeResolutionProperties
shiftAmountNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeQuantity
shiftPastIf true, shifting to the past; if false, shifting to the future.NlpSemanticParsingDatetimeShiftedRelativeDateTimeboolean
numBytesNlpSemanticParsingDatetimeSpanThe byte offset and text of a span.integer
startByte0-based start byte offset of the span.NlpSemanticParsingDatetimeSpanThe byte offset and text of a span.integer
textThe text of the span: a substring of ParserInput’s canonical_input.NlpSemanticParsingDatetimeSpanThe byte offset and text of a span.String
eventNlpSemanticParsingDatetimeTargetToFetchNext field: 9NlpSemanticParsingDatetimeEvent
fuzzyRangeNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
monthNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
quarterNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
referenceNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
seasonNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
unitUnnamed target: “week”, “month” etc. E.g., “1st week of April”.NlpSemanticParsingDatetimeTargetToFetchNext field: 9String
weekdayNamed target: only one of the following is expected.NlpSemanticParsingDatetimeTargetToFetchNext field: 9list(String)
timezoneNlpSemanticParsingDatetimeTimeZoneString
entitySourcesIndicates backends from which parts of an entity were retrieved.NlpSemanticParsingEntitySourceDatalist(String)
statusNlpSemanticParsingExpressionStatusStatus indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user’s speech, the semantics of the language, and the user’s intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.String
textCompletenessProbabilityCompleteness probability as calculated by the parser’s completeness layer.NlpSemanticParsingExpressionStatusStatus indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user’s speech, the semantics of the language, and the user’s intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.number
typeApplied amenity constraints. Nothing should be inferred about the ordering of the values in this field.NlpSemanticParsingLocalAmenitiesA list of amenity constraints. There is an implicit AND relationship between the different constraints.list(String)
elementNlpSemanticParsingLocalBasicLocationConceptually this describes one location. Technically, this is a sequence of location elements with the intention that at least one element in the sequence is an actual location (rather than a modifier).list(NlpSemanticParsingLocalLocationElement)
bankNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hardwareStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hotelAlso youth hostels, guest houses, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
busStopNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
telecomNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
vehicleTypeAll of the vehicle types serviced by this business or business category. e.g. VEHICLE_TYPE_RAIL and VEHICLE_TYPE__BUS for “transit stop”. This allows downstream to serve different result types for transit station categories in different languages. e.g. In en-US “train station” seeks both railway station and subway station results. But the equivalent word in French/Italian/German seeks only railway stations.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangelist(String)
venueStadiums, theaters, cinemas, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hospitalNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hairdresserNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitOperatorOperator of a transit line, e.g., “MTA”, “BART”, “CTA”, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitLineA particular line in a transit system, e.g., “3 train”, “Red Line”, “Cirle Line”, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
universityAlso collegesNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
subwayStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
trainStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
cuisineGcidIf the element implies a cuisine type then we include the gcid string when available. Currently this happens for BUSINESS_CATEGORY type. The field is repeated to model categories like “mandarin buffet restaurant” with multiple cuisine gcid’s: mandarin_restaurant and buffet_restaurant.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangelist(String)
soupKitchenNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
shoppingCenterNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
toyStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
parkingNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
drugDropOffNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
sportStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
petStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
emergencyThis field is used to determine the emergency type of the element, which is specified by the grammar parse in (http://cs/file:googledata/localsearch/quality/grammar/local_patterns.asciipb). e.g. “coronavirus_treatment_locations” TODO(b/151330576) Deprecate the emergency field and replace with normal triggering.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeString
restaurantAlso bars and cafesNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitStationThe different types of transit station business types will be used to figure out which vehicle types to use when querying Tripfinder’s SearchStations service. The stations in that backend seem to be divided into HEAVY_RAIL, SUBWAY, and TRAM. There isn’t a very reliable division between intercity rail and commuter rail — Amtrak, LIRR, PATH, and NJ Transit are all classified as HEAVY_RAIL. That’s why in these types we make a distinction between train and subway, and not train and muni_rail, (unlike TransitMode in the TravelAction proto).NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
electricVehicleChargingStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
groceryStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
departmentStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
gasStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
electronicStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
airportNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
airlineNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
clothingStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
qrefTransitStationThis is used for transit stations annotated by QRef. The transit_station business_type above is only used for business categories, and therefore is used downstream to find nearby stations rather than a particular station, and so cannot be present in a Location that is a specific station from QRef. For these cases, this business_type is used instead. e.g. “grand central” “millbrae station” “union station” will have business_type qref_transit_stationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
foodPantryNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
schoolPre-k to high schoolNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
pharmacyNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
retailNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
bikeSharingStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
chainIdsSpecifies which parent chain mids to filter by.NlpSemanticParsingLocalChainMemberConstraintChainMemberConstraint for chain filtering enabled queries.list(String)
joinerNlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalJoiner
location1NlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalLocation
location2If location_2 is absent, it should likely be interpreted as an implicit “here”. For example, “nearest Starbucks” will be represented as a compound location with “Starbucks” as location_1, “nearest” as the joiner, and empty location_2.NlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalLocation
contactContact as a location.NlpSemanticParsingLocalContactLocationContact information for the |contact_location| field in LocationElement.NlpSemanticParsingModelsCommunicationRecipient
contactTypeThe type of contact address (home, work, etc).NlpSemanticParsingLocalContactLocationContact information for the |contact_location| field in LocationElement.NlpSemanticParsingModelsCommunicationPhoneType
cuisineGcidNlpSemanticParsingLocalCuisineConstraintConstraint for cuisine type, such as “chinese”, “italian”, “thai”, “burgers”, etc.String
connectorTypeNlpSemanticParsingLocalEvChargingStationConnectorConstraintString
paymentNetworkMidNlpSemanticParsingLocalEvChargingStationPaymentConstraintString
chargingSpeedNlpSemanticParsingLocalEvChargingStationSpeedConstraintThere is an implicit AND relation if multiple EVCS constraint types are specified.String
nonSpecificValueTrue for values like “a few”.NlpSemanticParsingLocalExtentboolean
unitsNlpSemanticParsingLocalExtentString
unitsStringString representation, e.g., for debug.NlpSemanticParsingLocalExtentString
valueFor approximate values such as “a few” or “several”, we populate |value| with a specific numeric value which is a generous (i.e., high) interpretation of the text, and we set |non_specific_value| to true.NlpSemanticParsingLocalExtentfloat
valueStringCan hold numbers as well as “a few”.NlpSemanticParsingLocalExtentString
gcidGCID – with the ‘gcid:’ prefix.NlpSemanticParsingLocalGcidConstraintString
networkNlpSemanticParsingLocalHealthInsuranceConstraintConstraint for the health insurance network of a provider.String
hotelBasic accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
seasideResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
extendedStayHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
suiteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationApartmentNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
resortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
guesthouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
villaNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationHouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
beachResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
campsiteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
otherAny other lodging related type.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
japaneseInnWithHotSpringNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
cabinOther accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
ecoHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
innNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
skiResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
commonLodgingHouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
golfResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
loveHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
capsuleHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
chaletNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
hostelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
castleHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
bedAndBreakfastNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
motelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
guestRanchNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
wellnessAndSpaAccommodationNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationRentalVacation rental accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
safariLodgeNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
houseboatNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
youthHostelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
japaneseInnJapanese accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
lodgingNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
businessHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
cottageNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
servicedApartmentNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
pensionNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
giteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
boutiqueHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
condoHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
conventionHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
casinoAccommodationNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
lodgeNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
allInclusiveResortBasic accommodation types variations.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
farmstayNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
mountainHutNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
commodityStrengthWhether a location is a commodity (distance is an important metric), neutral or non-commodity (distance is not important). Commodity locations are “atm”, “gas station”, etc. Non-commodity locations are “restaurant”, “hotel”, etc, and all others are neutral. The value is 1 for commodity queries, 0 for non-commodity queries, no-value for neutral queries (when the field doesn’t exist in the grammar). The reason it is a float is to prepare for future changes when we expand the signal value from discrete classes to a score, and the score will be in the range of [0,1].NlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablenumber
gcidsynsOverrideNlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablelist(NlpSemanticParsingLocalHyperReliableDataGCIDSynsOverride)
hyperReliableNlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliableboolean
retrievalGcidsCategories used for retrieval and used in Artemis diversity tiers as restricts. See https://ariane.googleplex.com/launch/190585 for details.NlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablelist(String)
gcidScoreNlpSemanticParsingLocalHyperReliableDataGCIDSynsOverrideSet only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.number
hyperReliableGcidNlpSemanticParsingLocalHyperReliableDataGCIDSynsOverrideSet only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.String
airportNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
bankNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
chargingStationNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
gasStationNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
gymNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hairSalonNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hospitalNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hotelNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
laundromatNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
movieTheaterNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
postOfficeNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
spaNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
numBytesNlpSemanticParsingLocalJoinerinteger
numBytesForConversionNlpSemanticParsingLocalJoinerinteger
startByteThe raw input span corresponding to this joiner.NlpSemanticParsingLocalJoinerinteger
startByteForConversionByte data added for conversion between this proto and IntentQuery in LooseParser. Must not be used for downstream triggering.NlpSemanticParsingLocalJoinerinteger
textThe original joiner string from the tokenized query. Particularly important if the type is OTHER.NlpSemanticParsingLocalJoinerString
typeNlpSemanticParsingLocalJoinerString
featureIdNlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostoreFeatureIdProto
geocodingAddressThe full address of the result. This should be a verbose address string that geocodes reliably.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.String
kgMidThe knowledge graph reference of the result.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.String
positionThe position of the result.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostorePointProto
rectThe position of the result, if it can’t be expressed as a pointproto.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostoreRectProto
basicLocationExactly one of the location types should be populated.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalBasicLocation
compoundLocationNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalCompoundLocation
contactLocationDEPRECATED. Instead, use LocationElement.contact_location.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalContactLocation
isMergedTrue if the location is merged, for example by CombineLocationsFn.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()boolean
locationConstraintThe constraint includes various constraints on the location such as amenities, price range, ratings, or attributes such as new, cheap, etc. These constraints are a part of the location but are not modeled as location elements and are not included in the location text. The (debatable) motivation is that they do not stand on their own and are not an intrinsic part of the location. Note on texts and spans. For a location such as “kid friendly hotels with an indoor pool” we expect to get a basic location with a single location element and two constraints: – For the location element: – Both text and span match “hotels” – For the first constraint: – Both text and span match “kid friendly” – For the second constraint: – Both text and span match “indoor pool” – For the full location: – text: “hotels” – span covers “kid friendly hotels with an indoor pool”NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()list(NlpSemanticParsingLocalLocationConstraint)
numBytesNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()integer
resolvedLocalResultA LocalResult corresponding to the location the user specified, populated by local dialog (generally following a search). This field will only be set if the location is unambiguous, possibly following a series of disambiguation turns of dialog.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()QualityDialogManagerLocalResult
startByteThe span, in the raw input, which corresponds to this location, expressed as a byte offset and byte size. This allows the extraction of the location string as it appears in the raw text.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()integer
textA string representation of the location. Depending on the annotators and the location itself the string may represent the raw query, the pre-processed query, or something else. As a non-trivial example, for [target address mountain view] we will generate the text “target mountain view” without “address”. We make a best-effort to come up with a good string, but make no formal guarantees. You should never present this text directly to outside users.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()String
userSpecifiedLocationA location info including featureId and lat/lng that uniquely identifies the location the user specified.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()KnowledgeVerticalsWeatherProtoUserSpecifiedLocation
vicinityLocationNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalVicinityLocation
amenitiesLINT.IfChangeNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalAmenities
chainMemberNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalChainMemberConstraint
cuisineNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalCuisineConstraint
evcsConnectorConstraintUsed for populating ElectricVehicleConnectorRefinement from QBF go/evcs-qbf-connectorNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationConnectorConstraint
evcsPaymentConstraintUsed for populating ElectricVehiclePaymentRefinement from QBF go/evcs-qbf-paymentNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationPaymentConstraint
evcsSpeedConstraintNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationSpeedConstraint
gcidConstraintUsed for GCID filter. Unlike other grammar, for now this is populated in Superroot (currently based on QBLD classification, and an allowlist of GCID).NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalGcidConstraint
healthInsuranceUsed for health insurance filter populator.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalHealthInsuranceConstraint
hyperReliableDataSome constraints are also hyper-reliable, such as [brunch] and [coffee].NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalHyperReliableData
menuItemNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalMenuItem
newNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
numBytesNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.integer
open24HoursNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
priceNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalPriceConstraint
qualityNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalQualityConstraint
roomsNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalRoomConstraint
scalableAttributeNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalScalableAttribute
serviceNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalServiceConstraint
startByteThe span, in the raw input, which corresponds to this constraint, expressed as a byte offset and byte size.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.integer
textNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.String
ungroundedConstraintExperimental, may change.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
unspecifiedUsed to remove all constraints, e.g. [forget all the filters]NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
vaccineTypeUsed for vaccine refinement: go/covid-vaccine-refinement.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.String
visitHistoryNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalVisitHistoryConstraint
aliasIconFor elements with a NICKNAME alias location, this field will hold all matching alias icons, which are used in search to resolve the location.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangelist(PersonalizationMapsAliasIcon)
aliasLocationThe following fields (alias_location, qref_location, and saft_location) should have at most one non-empty value between them.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
businessTypeSet only when type is BUSINESS_NAME or BUSINESS_CATEGORY.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalBusinessType
contactLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalContactLocation
dialogReferentsThis will hold semantics from the dialog_referents subgrammar with offsets and indices relating to a list of results shown to the user. This field is repeated while in the future we could support multiple item list selection. i.e. [the starbucks] where multiple entries in the results will be indicated hereNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangelist(NlpSemanticParsingModelsDialogReferentsDialogReferents)
directionalModifierSet only when type is DIRECTIONAL_MODIFIER.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
genericLocationDEPRECATED. See basic_location.element.type == LOCATION_REFERENT to determine this instead. Populated by a type VISITED local action, this field is used to indicate a location element is a general-case $PT_visited_location string.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeboolean
hotelTypeSet only when business_type is hotel.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalHotelType
hyperReliableDataNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalHyperReliableData
implicitLocalCategoryNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalImplicitLocalCategory
localResultIdA field used to store the ID of a specific location entity, especially one not extracted via QRef. For example, – a location selected by the users via a dialog follow-up query like [the second one]. Will only be populated in the LocalSemanticsServlet, not in the grammar. – a location resolved based on a full search, e.g., following the geocoding step for a directions query. This field is also used by NoramlizeLocationForFingerprinting as the canonical place to store FeatureIds.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalLocalResultId
numBytesNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
numberRepresents zip codes, street numbers, etc. that were detected directly by the grammar (and not, e.g., by QRef). DEPRECATED. We ran into problems with zip codes having leading zeroes. Now we store numbers only in the text field.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
personalReferenceLocationA collection of QRefAnnotations repesenting Reference and Resolution data for Personal References. See go/copley-local and go/copley-annotator.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingPersonalReferenceAnnotation
qrefLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingQRefAnnotation
saftLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingSaftMentionAnnotation
sourceNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
startByteThe byte span, in the raw query, which corresponds to this location element.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
textA string representation of the location element. Typical, this field will be populated by the MakeLocationElementFn semantic function with the substring of the raw_query defined by start_byte and num_bytes. However, the field can also be populated explicitly in the grammar, in which case MakeLocationElementFn leaves it alone.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
transitLineNumberTrain number associated with /collection/geo/transit_line. Populated when user requests specific instance of a transit line. For example, long distance trains in India have two numbers for each train, one for up direction and other for down. And user use these numbers in queries along with name to specify the specific trip of the train. More details in go/number-transit-line-queries.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
typeNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
menuItemIdThis ID corresponds to the name of the menu item in the query. For example [restaurants that serve thai curry] has menu_item_id = “thai curry”.NlpSemanticParsingLocalMenuItemSpecifies intent that corresponds to a menu item which is used as a location constraint, e.g. [restaurants that serve thai curry] or as a standalone categorical element, e.g. [thai curry].String
cheapNlpSemanticParsingLocalPriceConstraintboolean
currencyCodeThe currency codes are expected to be string from the list in i18n/identifiers/currencycode.*NlpSemanticParsingLocalPriceConstraintString
expensiveNlpSemanticParsingLocalPriceConstraintboolean
maxPriceNlpSemanticParsingLocalPriceConstraintfloat
minPriceNlpSemanticParsingLocalPriceConstraintfloat
moderatelyPricedNlpSemanticParsingLocalPriceConstraintboolean
unspecifiedThe user mentioned something about price, but didn’t mention a specific constraint. This is used to indicate an intent to remove all price constraints, in queries like [forget the price].NlpSemanticParsingLocalPriceConstraintboolean
bestNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
highlyRatedNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
starTypeNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.String
starsNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.NlpSemanticParsingLocalStarRatings
unspecifiedThe user mentioned something about quality, but didn’t mention a specific constraint. This is used to indicate an intent to remove all quality constraints, in queries like [forget the rating].NlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
minNumBathroomsIt is possible to have fractional bathrooms.NlpSemanticParsingLocalRoomConstraintConstraints for the occupancy of a hotel or vacation rental.float
minNumBedroomsNlpSemanticParsingLocalRoomConstraintConstraints for the occupancy of a hotel or vacation rental.integer
attributeIdNlpSemanticParsingLocalScalableAttributeSpecifies intent that corresponds to a scalable attribute. This may be used as a location constraint, e.g. [restaurants with outdoor seating] or as a standalone categorical element, e.g. [happy hour] or [happy hour ny]. See go/scalable-attributes for details about scalable attributes. NOTE(oksana): LocalCategoryReliable grammar over-rides a few scalable attribute queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange This ID corresponds to the id field in //geostore/attributes/proto/config.proto:AttributeConfigProto This field holds the human readable ID for the KG topic that represents the attribute. Example: “/geo/type/establishment_poi/serves_breakfast”String
serviceTypeNlpSemanticParsingLocalServiceConstraintString
fiveNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
fourNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
fourAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
oneNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
oneAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
orFewerNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
orMoreIf this field is set, exactly one of the star classes above should be set, and the interpretation should be that at least that many stars should be present.NlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
threeNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
threeAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
twoNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
twoAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
unspecifiedNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
baseIf the base is missing then clients should assume that it implicitly means “here”. E.g., “within five miles” really means “within five miles from here”NlpSemanticParsingLocalVicinityLocationNlpSemanticParsingLocalLocation
connectorThe text between the extent and the base, e.g., for “50 miles from here” the connector is “from”.NlpSemanticParsingLocalVicinityLocationString
extentNlpSemanticParsingLocalVicinityLocationNlpSemanticParsingLocalExtent
visitedTypeNlpSemanticParsingLocalVisitHistoryConstraintConstraint for visited, as in if a location has been visited before.String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextWhether the annotation is from $Text.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.boolean
normalizedTextNormalized (canonicalized) text, e.g. “mobile”.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
originalTextOriginal text in query, e.g. “cell”.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
rawTextDEPRECATED. Used original_text instead.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
calendarEventNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.AssistantApiCoreTypesCalendarEvent
calendarEventWrapperNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.AssistantApiCoreTypesCalendarEventWrapper
contactContact details (e.g. gaia_id, phone, etc). Replaces ‘focus_name’ above.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingModelsPersonPerson
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.boolean
nameAnnotationSourceDeprecated in favor of recipient.contact.name_annotation_source.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
numberAnnotationSourceNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
rawTextNOTE: for CONTACT recipient, this is *NOT* the real raw text of the recipient span of historical reasons. Major differences includes: – stripping possessive suffix, e.g. “John’s” -> “John” – stripping prefix/suffix/title, e.g. “Mr. John” -> “John” – uninflect name for languages like Russian, e.g. “Андрею” -> “Андрей” Currently this is the same as .contact.name, and is used as the string shown to the user on clientside UI. If you’re looking for real raw text, use .contact.raw_textNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
recipientTypeNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
relationshipA reference to a person by relationship name. eg. my father.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingModelsCommunicationRelationshipArgument
sensitiveNumBytesNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.integer
sensitiveStartByteThe beginning and end of the recipient name that should be removed before logging.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.integer
aliasThe alias of the relationship in the query, e.g. “mom”.NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
canonicalThe canonical format of the relationship, e.g. “Mother”.NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
canonicalLexicalMidMid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be /m/0lbxz for “mother” in EN even if user referred to “mom”).NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
deviceNameThe name of the device (Nexus 5, Nexus 10, etc).NlpSemanticParsingModelsDeviceThe device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = “nexus 4” [on my nexus phone]: device_type = PHONE, device_name = “nexus”NlpSemanticParsingModelsDeviceName
deviceTypeThe type of the device (phone, tablet, watch, etc).NlpSemanticParsingModelsDeviceThe device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = “nexus 4” [on my nexus phone]: device_type = PHONE, device_name = “nexus”String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsDeviceNameThe name of the device (Nexus 5, Nexus 10, etc).NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsDeviceNameThe name of the device (Nexus 5, Nexus 10, etc).String
evalDataNlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingAnnotationEvalData
fieldThe field mentioned in the user’s utterance, if any.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingModelsDialogReferentsListSelection
indexUsed for a grammar mention of an index.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.integer
nextRepresents a tied referent in a different field of the same labelNlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingModelsDialogReferentsDialogReferents
selectionThe requested value(s) for selection from a list of alternatives.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.list(NlpSemanticParsingModelsDialogReferentsListSelection)
taskMentionSet when the user’s utterance refers to the (an) overall task/goal of the dialog (e.g. “the meeting starts at 10 am” mentions the goal, “meeting”). The field is repeated in case the user ambiguously identifies a task (two tasks named ‘meeting’).NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.list(NlpSemanticParsingModelsDialogReferentsListSelection)
evalDataNlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.NlpSemanticParsingAnnotationEvalData
idA unique identifier that is the canonical value for the chosen list item. If we are selecting among fields, this is the field_id specified in the corresponding DialogField.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.String
looseOffsetRestrictionIf true, semantic function should look at watch actions in the following display entity if the first one is not playable. This is useful for “Play it” on entity page.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.boolean
offsetThe offset within the list, if know. If the list of values wasn’t known (e.g. from the discourse context) then the offset is a zero-based mapping of the ordinal value of the selection (“first one” maps to zero; “last one” to minus one).NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.integer
rawTextWhen the user selects a list value by name then this is the matched text from the utterance. Note that, if the list of values is known, then the aqua annotator should have mapped it to an offset.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
firstIf true, indicates the user wants the first album. Like [play adele’s first album]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
latestIf true, indicates the user wants the latest album. Like, [play adele’s latest album]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
playMoreMore from this album.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
qrefNlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “The White Album.”NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”String
albumNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaAlbumTitle
artistNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicArtist
bookLike an audio book. “Listen to (moby dick) audiobook”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaBook
dateTimeA date time constraint for audio entity, for example, “jazz station 1980”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingDatetimeDateTime
episodeConstraintConstraining the query to some detail about the episode. Example: “listen to episode (13) of this american life with (mike birbiglia)” would have the 2 constraints in parens.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22list(NlpSemanticParsingModelsMediaEpisodeConstraint)
gameSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the game. “Play soundtrack from (Deus Ex Human Revolution)”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaGame
genericMusicNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaGenericMusic
genreNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicGenre
movieSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the movie. E.g. “Play (Let It Go) from (Disney’s Frozen)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMovie
newsTopicNews topic. “Listen to news about (Ukraine)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaNewsTopic
noExplicitAudioTrue when the query does not contains an explict audio name. E.g. When user says “play” or “listen to”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22boolean
playlistNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicPlaylist
podcastPodcast feeds. “Listen to (This American Life)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaPodcast
radioNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaRadio
radioNetworkE.g. “play NPR radio”, “Play BBC radio”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaRadioNetwork
rawTextThe query for backends to use in search. e.g. for an user query of “play kids song video on tv” from assistant, this field would be “kids song”. Note: there is no guarantee this field is populated; when it is not, backends should fall back to “raw_text” fields in song, artist, album etc.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22String
scoreTypeIf any of movie, game or tv show fields is populated this field indicates specific score type requested in the query. E.g. for [play soundtrack from frozen] this field is SOUNDTRACK, for [play frozen song] this field is THEME_SONG.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22String
seasonConstraintConstraining the query to some detail about the season. Example: “listen to season 2 of serial”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaSeasonConstraint
songNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaSong
tagOptional tags associated with how the media entity should be played. For example, this can be set to SEED_RADIO to signify that the user wants to play a radio station seeded by the entity.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22list(String)
tvShowSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the tv show. E.g. “Play soundtrack from (Friends)”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaTVShow
audiobookMidThe MID of the audiobook entity (/book/book_edition).NlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.String
authorsNlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.list(String)
bookMidThe MID of the book entity (/book/book) which this audiobook is associated with.NlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.String
narratorsNlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.list(String)
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaBookExample: “East of Eden”boolean
latestIf true, indicates the user wants the latest book. Like, [play Dan Brown’s latest book]NlpSemanticParsingModelsMediaBookExample: “East of Eden”boolean
qrefNlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “East of Eden”NlpSemanticParsingModelsMediaBookExample: “East of Eden”String
castDeviceSourceNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
castDeviceTypeThis field is populated when the user says [play X on $cast_device] and we know the type of $cast_device but cannot identify the exact device.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
creationTimestampMsThe timestamp that the device is linked with the user in milliseconds. This is inherited from the corresponding assistant DeviceSettings as is.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
deviceIdDEPRECATED: Please use device_identifier instead.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
deviceIdentifierThe identification of the device. This field is populated when the user says [play X on $device_name] and $device_name matches one of the devices linked to user’s account. } oneof Media DeviceNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9AssistantApiCoreTypesDeviceId
nameNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
quantificationThis field is populated when the user metioned quantification in the query. E.g., “2” or “all”.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9NlpSemanticParsingModelsMediaQuantification
currencyCodeContains the standard code for the given type of currency. The value must represent a valid i18n_identifiers::CurrencyCode.NlpSemanticParsingModelsMediaCostRepresents a localized price. Next ID: 3String
priceContains the price in a particular currency.NlpSemanticParsingModelsMediaCostRepresents a localized price. Next ID: 3float
actionTypeThe type of the deeplink. Sometimes the deeplink is not only used for playing media, but also used for other actions. For example, the deeplink could be for playing a movie trailer from YouTube or recording a movie from YouTube TV.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
blacklistedCountryThe upper-case, III country code, e.g., “US”, in which the deeplink cannot play. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
countryThe upper-case, III country code, e.g., “US”, in which the deeplink can play. If unset or has “earth” (b/72566951), means the deeplink can be used world-wide except in |blacklisted_country| list. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
deeplinkDeeplink to the media. This deeplink is meant to be send to the provider app on available platforms without any modifications. Required.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
deeplinkForExecutionSome providers give us an opaque, unstable deeplink to use at execution-time. E.g. see http://go/collab-ranking-nl-uri#heading=h.ndmdfw388tk3 Such a deeplink is not useful for logging, caching, comparing to other candidate deeplinks, etc. So most fulfillment code will want the traditional, stable deeplink that can be interpreted, parsed, cached, etc (found in the “deeplink” field, above). But this opaque, unstable deeplink (if non-empty) must be included in the music initiation clientop.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
incompatibleWithCredentialsIndicate whether the deeplink is compatible with credentials. If true, CCS will not send the credentials to cast app. Currently this field is only used for voice-follow on cases on smart displays.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18boolean
offerList of offers that allow user to access the deeplink, that is if the list contains PREMIUM_SUBSCRIPTION and BASIC_SUBSCRIPTION users that have either premium or basic subscription can use the deeplink. If the list is empty it means that there are no subscription restrictions.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
paidOfferDetailThis field is only used when “offer” includes a PAY_PER_USE. When “offer” includes a PAY_PER_USE, paid_offer_detail will contain offers for BUY and RENT offer_types with associated cost info.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(NlpSemanticParsingModelsMediaPaidOfferDetail)
platformList of platforms that support the deeplink. If the list is empty it means that there are no platform restrictions.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
scoreDocument scores which are used for ranking action links. Document scores might come from CDOC in Raffia or other indexing systems. For example, for web pages, the score shows how likely the web page (composite doc) which generated this link refers to the given entity or how close a particular entity is with the given composite doc. For the larger design, please see go/ma_dedup. For PACIFIC_COLLAB_RANKING deeplink, the score is the normalized confidence score returned by partner for fulfillment candidate. For pivot candidates, the score is calculated with the index of the alternative results.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18float
subscriptionPackageNameName of subscription packages which are granted access to this deeplink. This is to match exactly the end users authentication system. This is to be used if the offer is BASIC_SUBSCRIPTION or PREMIUM_SUBSCRIPTION. There can be multiple packages — the user needs only to authenticate with a single package. For more information please see: go/subscription-packageNlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
tagTags associated with the content played by this deeplink. In the common case, the deeplink is supposed to specify a music entity within the provider’s inventory, and the provider app should decide the actual content based on the user’s account profile (e.g., for a deeplink to an artist, playing tracks from the artist or similar artists, and for a song, playing the official album recording of the song). But in some cases, the deeplink belong to special content. For example, for an artist a seed radio based on the artist, and a live or karaoke version of a song. We use this field to mark such special content types.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
validTimeWindowA time window in which the deeplink is valid. If not set, the deeplink is considered valid.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindow
vuiIdDEPRECATED: This field is ignored by understanding and fulfillment.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
youtubeDeeplinkInfoAdditional info specific to YouTube Deeplink (if applicable).NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18NlpSemanticParsingModelsMediaYouTubeDeeplinkInfo
endTimestampTime in seconds since epoch.NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindowRepresents a time window expressed as a time range.String
startTimestampTime in seconds since epoch.NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindowRepresents a time window expressed as a time range.String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaDescriptionExample: “the episode with all of the comedians”. A free-form text description of a media.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaDescriptionExample: “the episode with all of the comedians”. A free-form text description of a media.String
absoluteIndexThe absolute index of the episode. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: “first episode” => 1 “3rd episode” => 3 “last episode” => -1NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.integer
dateTimeDate/time of the message. This could be an absolute date/time (e.g. find my message from monday) or a date/time range (e.g. find my message in the past four hours). This constrains *when* the episode came out.NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingDatetimeDateTime
descriptionA description of the episode. Example: For the query: [listen to this american life about cars] the description would be “cars”NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingModelsMediaDescription
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.String
relativeIndexThe relative index of the episode. Examples: “previous episode” => -1 “current episode” => 0 “next episode” => 1NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.integer
bandThe broadcast band used by the radio station.NlpSemanticParsingModelsMediaFrequencyDefines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4String
valueFrequency in MHz (for FM) and KHz (for AM).NlpSemanticParsingModelsMediaFrequencyDefines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4float
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”boolean
qrefNlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Deus Ex Human Revolution”NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”String
annotationListAnnotations from custom media annotator. Deprecated – generic music deeplinks should be added to the Provider config, not to the grammar.NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.NlpSemanticParsingAnnotationEvalData
newMusicNew music.NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.boolean
rawTextRequired, corresponds to the raw text, like “my tracks”NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.String
typeNlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.String
latitudeThe latitude in degrees. It must be in the range [-90.0, +90.0].NlpSemanticParsingModelsMediaLatLngAn object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.protofloat
longitudeThe longitude in degrees. It must be in the range [-180.0, +180.0].NlpSemanticParsingModelsMediaLatLngAn object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.protofloat
artistNameName of the artist (if applicable). Used for songs and albums.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
audiobookInfoAdditional info specific to an audiobook (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaAudiobookInfo
contentTypeType of the media content. This field is not always populated, but only when this annotation is used to represent an individual media item, e.g., when it is the value of an intent argument storing a media object to play.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
imageImages of the media.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17list(AssistantApiCoreTypesImage)
nameName of the media. Required.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
newsInfoAdditional info specific to a news audio/video stream (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaNewsInfo
personalDataIngestionEngineThe personal ingestion engine.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
playlistVisibilityVisibility setting of the retrieved playlist.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
podcastInfoAdditional info specific to podcast stream (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaPodcastInfo
primaryEntityMidNlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
providerInfoList of providers and their deeplinks.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17list(NlpSemanticParsingModelsMediaMediaProviderInfo)
purchaseInfoPurchase info for purchased or preordered movies, episodes, seasons, tv shows.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaPurchaseInfo
radioInfoOnly one of these fields should be set depending on the type of the content. oneof content_specific_info { Additional info specific to a radio station (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaRadioInfo
rentalInfoRental info for rented movies.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaRentalInfo
sourceNlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
youtubePlaylistInfoAdditional info specific to YouTube playlist (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaYouTubePlaylistInfo
annotationNlpSemanticParsingModelsMediaMediaAnnotationListList of MediaAnnotation. Media annotators should use the MediaAnnotationList to annotate spans instead of MediaAnnotation. This prevents exponential explosion of interpretations (consider [play $song by $artist on $device]) and allows us to have simpler tests for grammar.list(NlpSemanticParsingModelsMediaMediaAnnotation)
deeplinkInfoDeeplinks provided by the provider. If empty it indicates that the media is unavailable with the provider, e.g. due to country restrictions or limited catalog.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6list(NlpSemanticParsingModelsMediaDeeplinkInfo)
kgProviderKeyThe unique and reverse unique provider enumerator in KG (e.g., “ORANGE_SPAIN” for /g/11h6nkfyrm). It is more stable than the KG mid. See go/kema-api#keys. Some mids cannot have the enumerator property due to historical reason (e.g., multiple media providers were created for iTunes and only “”/g/11fhyxjwt5” has provider enumerator as “ITUNES_NEW” in KG). These entities need to have hard-coded key (e.g., “/m/019g58” has key “ITUNES”) kept outside of KG.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
mediaIdMedia ID of a MediaItem in a MediaBrowseTree (MBT). This field is used to play a specific media item from MBT using playFromMediaId API.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
providerMidThe machine ID (MID) of the media provider.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
providerNameThe name of the media provider.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”boolean
providerMetadataNlpSemanticParsingModelsMediaMovieExample: “Casablanca”list(NlpSemanticParsingModelsMediaProviderMetadata)
qrefNlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Casablanca”NlpSemanticParsingModelsMediaMovieExample: “Casablanca”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
playMoreMore from this artist.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
qrefNlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “The Beatles”NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingAnnotationEvalData
playMoreMore from this genre.NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”boolean
qrefNlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “British Invasion”NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”boolean
longtailMoodIf the model is confident that this is a bizarre long-tail mood-based playlist, it can send a signal to downstream systems (that might do things like generate random music) Example: * [play music for brushing my teeth with the lights off on tuesday] This is pretty much an ‘easter egg’ — it is not critical.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”boolean
normalizedTextOptional, some canonical name for the playlist.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
qrefNeeded for proto conformance in Semantic Parsing.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “80s remix” (tokenized)NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
specialNlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
docidThe docid of the news result from News360 backend.NlpSemanticParsingModelsMediaNewsInfoString
newsContentTypeIndicates how the type of the news result.NlpSemanticParsingModelsMediaNewsInfoString
publicationTimePublication time of the news, in seconds (unix epoch).NlpSemanticParsingModelsMediaNewsInfoAssistantApiTimestamp
publisherThe publisher of the news.NlpSemanticParsingModelsMediaNewsInfoString
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaNewsTopicExample: “ukraine” in a query like “read me news about Ukraine”NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaNewsTopicExample: “ukraine” in a query like “read me news about Ukraine”String
costRepresents the price of this offer according to the locale and region.NlpSemanticParsingModelsMediaPaidOfferDetailRepresents BUY and RENT offers and associated cost info. Next ID: 3list(NlpSemanticParsingModelsMediaCost)
paidOfferTypeSpecifies the type of offer.NlpSemanticParsingModelsMediaPaidOfferDetailRepresents BUY and RENT offers and associated cost info. Next ID: 3String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaPodcastExample: “This American Life”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaPodcastExample: “This American Life”boolean
normalizedTextOptional, some canonical name for the playlist.NlpSemanticParsingModelsMediaPodcastExample: “This American Life”String
qrefNlpSemanticParsingModelsMediaPodcastExample: “This American Life”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “this american life”NlpSemanticParsingModelsMediaPodcastExample: “This American Life”String
clusterIdAn internal identifier for the wernicke database that identifies a cluster of multiple sources for a particular podcast.NlpSemanticParsingModelsMediaPodcastInfoString
episodeGuidGUID of the given podcast episode.NlpSemanticParsingModelsMediaPodcastInfoString
feedUrlThe url for the rss feed providing this podcast.NlpSemanticParsingModelsMediaPodcastInfoString
podcastRecsFeaturesPodcast recommendations features. These features are used to train models for reranking podcast recommendations. Full list of features: http://shortn/_bg6NvzYs6F This won’t be sent to clients. It will only be annotated for crust resultsNlpSemanticParsingModelsMediaPodcastInfoSuperrootPodcastsRecommendationsPodcastRecsFeatures
titleNlpSemanticParsingModelsMediaPodcastInfoString
deeplinkUrlURL like https://www.netflix.com/title/70305883 — this is used as a deeplink to play the video.NlpSemanticParsingModelsMediaProviderMetadataProvider metadata associated with video.String
providerMidProvider MID.NlpSemanticParsingModelsMediaProviderMetadataProvider metadata associated with video.String
orderTypeNlpSemanticParsingModelsMediaPurchaseInfoString
purchaseTimestampSecThe time at which the item is purchased.NlpSemanticParsingModelsMediaPurchaseInfoString
lexicalNlpSemanticParsingModelsMediaQuantificationThe quantification of device(s) in the query. For example, “three speakers”, “all TVs”, etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, “all 3” will have the semantic: {lexical=ALL, number=3}. Note that “both” is simply modeled as {lexical=ALL}.String
numberNumerical quantification. E.g., “three speakers”.NlpSemanticParsingModelsMediaQuantificationThe quantification of device(s) in the query. For example, “three speakers”, “all TVs”, etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, “all 3” will have the semantic: {lexical=ALL, number=3}. Note that “both” is simply modeled as {lexical=ALL}.integer
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite radio station to be played. Ex: [play my favorites on radio]NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
frequencyThis proto may only be partially filled depending on the query. ## Some examples (all of them have open_intent): ## | Query |radio.raw_text|radio.frequency.band|radio.frequency.value| |[play kqed fm]| [kqed fm] | [fm] | N/A | |[play 88.5 fm]| [88.5 fm] | [fm] | 88.5 | | [play 88.5 | [88.5] | N/A | 88.5 | ## | [play fm] | [fm] | [fm] | N/A |NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingModelsMediaFrequency
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
qrefNlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “107.7”NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”String
frequencyFrequency of the terrestrial radio station.NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4NlpSemanticParsingModelsMediaFrequency
locationLocation of the radio station.NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4NlpSemanticParsingModelsMediaLatLng
popularityPopularity of the radio station. This will be used in ranking of the radio stations. This value should be between 0 (least popular) and 5 (most popular).NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4float
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingAnnotationEvalData
qrefNlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “npr”NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.String
activatePeriodSecTime period for users to continue watching.NlpSemanticParsingModelsMediaRentalInfoString
grantPeriodSecTime period for users to begin watching.NlpSemanticParsingModelsMediaRentalInfoString
purchaseTimestampSecThe time at which the item is purchased.NlpSemanticParsingModelsMediaRentalInfoString
validUntilTimestampSecTime until which ownership is grantedNlpSemanticParsingModelsMediaRentalInfoString
absoluteIndexThe absolute index of the season. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: “first season” => 1 “3rd season” => 3 “last season” => -1NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialinteger
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialNlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialString
relativeIndexThe relative index of the season. Examples: “previous season” => -1 “current season” => 0 “next season” => 1NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialinteger
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
firstIf true, indicates the user wants the first song. Like [play adele’s first song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
latestIf true, indicates the user wants the latest song. Like, [play adele’s latest song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
qrefOptional, indicates this reference came from QRef.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Hey Jude.”NlpSemanticParsingModelsMediaSongExample: “Hey Jude”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingAnnotationEvalData
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”boolean
providerMetadataNlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”list(NlpSemanticParsingModelsMediaProviderMetadata)
qrefNlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Breaking Bad”NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”String
clickTrackingIdSee go/yt-clicktracking. Serialized youtube.api.innertube.InnerTubeClickTrackingProto.NlpSemanticParsingModelsMediaYouTubeDeeplinkInfoProvide the deeplink information specific to YouTube PMAs. Next ID: 3String
uploaderChannelIdFor YouTube Channels, by default the deeplink is set to be the playlist of all uploads from the channel. This field is used for YouTube in-app browse when we need the YouTube channel’s main page url. We will use the uploader_channel_id to construct the needed channel deeplink.NlpSemanticParsingModelsMediaYouTubeDeeplinkInfoProvide the deeplink information specific to YouTube PMAs. Next ID: 3String
numVidsPlayableInWoodstockCount of videos in the YouTube playlist that are playable in WoodStock. For performance reasons the maximum value this field can reach is capped, see: kMaxVideosPerPlaylistForSearchMetadata.NlpSemanticParsingModelsMediaYouTubePlaylistInfoString
videoCountTotal number of videos present in the retrieved playlist.NlpSemanticParsingModelsMediaYouTubePlaylistInfointeger
freebaseMidKG Currency midNlpSemanticParsingModelsMoneyCurrencyString
amountNlpSemanticParsingModelsMoneyMoneyRepresent a money quantityNlpSemanticParsingNumberNumber
currencyNlpSemanticParsingModelsMoneyMoneyRepresent a money quantityNlpSemanticParsingModelsMoneyCurrency
dataAnnotation data for the provider.NlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.QualityActionsNewsProviderAnnotationData
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.String
deviceThe device(s) to perform an action.NlpSemanticParsingModelsOnDeviceOnDevice describes the device(s) to perform an action. This message type can be imported in action messages as an argument.list(NlpSemanticParsingModelsDevice)
alternativeNameInfoAlternative names like “John” for “Joan”, with info such as RecognitionAlternateSource indicating where is it from.NlpSemanticParsingModelsPersonPersonlist(QualityQrewriteAlternativeNameInfo)
alternativeNamesAlternative names, e.g., names with similar pronunciation, Kathy and Cathy.NlpSemanticParsingModelsPersonPersonlist(String)
annotationSourceNlpSemanticParsingModelsPersonPersonlist(String)
contactDataContact metadata. Only available for personal contact.NlpSemanticParsingModelsPersonPersonlist(QualityQrewritePersonalContactData)
evalDataRequired, but should only be used inside Aqua. Must not be used by outside clients!!NlpSemanticParsingModelsPersonPersonNlpSemanticParsingAnnotationEvalData
isPersonGroupReferenceIndicates whether $Person is used for person-group reference. If true, then the PersonalContactData in repeated contact_data field probably correspond to a group of different persons, where $Person is used to represent family, kids, parents, etc.NlpSemanticParsingModelsPersonPersonboolean
isPersonalContactWhether the person is from personal contacts (e.g. Focus contacts or device contacts) or the person is constructed from a Gaia profile visible to the user (e.g. via Family Service).NlpSemanticParsingModelsPersonPersonboolean
nameThe name of the person without normalizations, preserves casing of the raw text, but removes possible prefix/suffix. For example: raw_text: “Mr. John” normalized_text: “john” name: “John” raw_text: “Tüll” normalized_text: “tuell” name: “Tüll”NlpSemanticParsingModelsPersonPersonString
normalizedTextNormalized text produced by annotator. Some annotators generate a normalized version to help better match with contact list.NlpSemanticParsingModelsPersonPersonString
pkgSemanticsContains information about a Copley Person reference (go/copley-people). Note that this contains no information about the resolved people (e.g. names, phone numbers) but only about the user’s reference. Resolution metadata is stored in contact_data.pkg_person.NlpSemanticParsingModelsPersonPersonNlpSemanticParsingQRefAnnotation
rawTextNlpSemanticParsingModelsPersonPersonString
dailyPatternOptional. Specifies when in the day the task should occur. Applies to all frequencies DAILY and greater. If absent, the repeating tasks are considered “all day” type.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceDailyPattern
evalDataThis field of the Recurrence message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingAnnotationEvalData
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year). Floating point numbers are understood and rounded to the nearest integer. E.g. “every 2.8 months” => (every 3)NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.integer
frequencyRequired. The high-level frequency of the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.String
monthlyPatternSpecify a monthly recurrence. Valid and required for MONTHLY frequencies only.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceMonthlyPattern
numInstancesInFrequencyHow many times the task should be repeated within the frequency interval. Floating point numbers are understood and rounded to the nearest integer. E.g. “3.8 times per week” => (num_instances_in_frequency 4)NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.integer
recurrenceEndRequired. The end condition for the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceRecurrenceEnd
recurrenceStartRequired. The start of the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceRecurrenceStart
timeOptional time included with some types of recurrence phrases, such as “every morning”.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingDatetimeDateTime
weeklyPatternSpecify a weekly recurrence. Valid and required for WEEKLY frequencies only.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceWeeklyPattern
yearlyPatternSpecify a yearly recurrence. Valid only for YEARLY frequencies.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceYearlyPattern
dayPeriodNlpSemanticParsingModelsRecurrenceDailyPatternPattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).NlpSemanticParsingDateTimeAnnotation
timeOfDayNlpSemanticParsingModelsRecurrenceDailyPatternPattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).NlpSemanticParsingDateTimeAnnotation
lastDaySpecial flag to indicate the last day of the month, equivalent to setting month_day to -1. Deprecated, use month_day=-1 instead.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.boolean
lastWeekSpecial flag to indicate a week_day in the last week of the month, as this cannot be captured by week_day_number. Deprecated, use week_day_number=-1 instead.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.boolean
monthDayAbsolute day of the month (if positive) or relative day from the end of the month (if negative). Example: 2nd and 20th of the month [2, 20]. Example: Last day of the month [-1]. Positive values should correspond to actual calendar day number (indexing starts at 1).NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.list(integer)
weekDayFor capturing the nth weekday of the month. Use together with week_day_number or last_week to specify n.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.String
weekDayNumberThe nth occurrence of week_day to match. I.e. For 3rd Wednesday of the month, week_day = WEDNESDAY and week_day_number = 3. Values beyond the end of the month are skipped. If negative, this is interpreted as the nth-to-last occurrence of the week day in the month. I.e. for last Thursday of the month, week_day = THURSDAY and week_day_number = -1.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.integer
autoRenewShould be used in cases where the size of the recurrence is infinite (no end date specified), in which case we rely on an offline process to extend. Set by server only, setting it on a new recurrence will throw an exception.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.boolean
autoRenewUntilUsed in cases where the recurrence is too large to create in a single transaction. In this case we create a manageable number of instances initially and rely on an offline process to continually extend the recurrence until this date. Set by server only, setting it on a new recurrence will throw an exception.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.NlpSemanticParsingDateTimeAnnotation
endDateTimeNlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.NlpSemanticParsingDateTimeAnnotation
endMillisDeprecated – prefer end_date_time.absolute_time_ms.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.String
numOccurrencesNote that auto-renewing is not supported in conjunction with num_occurrences. Therefore we impose a hard limit of 1000 when using this field.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.integer
startDateTimeOnly the year/month/day portion are used to find the start date of the recurrence. To specify a time or period of each instance, use DailyPattern.NlpSemanticParsingModelsRecurrenceRecurrenceStartThe start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.NlpSemanticParsingDateTimeAnnotation
startMillisDeprecated – prefer start_date_time.absolute_time_ms.NlpSemanticParsingModelsRecurrenceRecurrenceStartThe start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.String
weekDaySet of weekdays the recurrence applies to.NlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.list(String)
weeklyPatternEndNlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.String
weeklyPatternStartNlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.String
monthlyPatternThe monthly pattern to recur.NlpSemanticParsingModelsRecurrenceYearlyPatternPattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { month_day = 16; } year_month = JANUARY; “Last day of every April and August” : monthly_pattern { last_day = true; } year_month = APRIL, AUGUSTNlpSemanticParsingModelsRecurrenceMonthlyPattern
yearMonthThe months of the year to apply the pattern.NlpSemanticParsingModelsRecurrenceYearlyPatternPattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { month_day = 16; } year_month = JANUARY; “Last day of every April and August” : monthly_pattern { last_day = true; } year_month = APRIL, AUGUSTlist(String)
midNlpSemanticParsingModelsShoppingAssistantBrandPhraseA brand can be any combination of text or mid.String
rawTextNlpSemanticParsingModelsShoppingAssistantBrandPhraseA brand can be any combination of text or mid.String
evalDataThis field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.NlpSemanticParsingAnnotationEvalData
localMerchantIdMerchant Center identifier for LIA merchants.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
mcidNlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.list(NlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterId)
merchantIdMerchant Center identifier for GSX merchants. Deprecated: use MerchantCenterId.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.list(String)
midOptional. Knowledge Graph identifier for the merchant.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
nameA name for the merchant. Example: WalmartNlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
idNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.String
isGsxNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
isLocalNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
isPlaNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
docidThe offer document id as used in Shopping’s metadata.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.String
merchantThe merchant selling the product.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantMerchant
priceThe price of the product sold by the merchant.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsMoneyMoney
productThe product for sale.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantProduct
storeOptional. The physical store where the product can be purchased.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantStore
brandNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantBrandPhrase
offerNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantOffer
productNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantProductPhrase
unrecognizedNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantUnrecognizedPhrase
catalogIdThe shopping catalog identifier.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
maxPriceThe highes price this product is available for.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsMoneyMoney
mediaProductTODO(ppoudyal) Add logging for media_product.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsShoppingAssistantProductMediaProduct
midOptional. Knowledge Graph identifier for the product.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
minPriceThe lowest price this product is available for.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsMoneyMoney
titleTitle of the product. Example: Moto X Blue 64GB Note: This refers to only the catalog title not user specified phraseNlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
bookConfidenceTODO(ppoudyal) Expand confidence to cases where the product phrase might be a book/movie/video_game but isn’t just a title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
isVideoGameTODO(ppoudyal) Deprecate is_video_game once the score covers all cases covered by $VideoGameProductPhrase The product phrase contains a video game title.NlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).boolean
movieConfidencephrase mentions a book title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
videoGameConfidencephrase mentions a movie title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
evalDataThis field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingAnnotationEvalData
grammaticalGenderNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.String
grammaticalNumberNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.String
phrasesOrdered list of phrases that the user used to describe a product.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.list(NlpSemanticParsingModelsShoppingAssistantPhrase)
productClassificationNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingModelsShoppingAssistantProductClassification
shoppingListItemInfoAssociated shopping list item info. Only set when the product is come from a shopping list item.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingModelsShoppingAssistantShoppingListItemInfo
authorThe author of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
genreThe genre of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
mediaTitleThe title of the media Example: The assasin’s creedNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
orderInSeriesOrder in media series (series title is given by the product title)NlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
topicThe topic of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
midThe knowledge graph identifier for the attributeNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValueString
rawTextRaw text of the media attribute (eg. author)NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValueString
metadataNlpSemanticParsingModelsShoppingAssistantProductPhraseA product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProductNlpSemanticParsingModelsShoppingAssistantProduct
rawTextNlpSemanticParsingModelsShoppingAssistantProductPhraseA product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProductString
itemIdNlpSemanticParsingModelsShoppingAssistantShoppingListItemInfoString
listIdNlpSemanticParsingModelsShoppingAssistantShoppingListItemInfoString
idLocal store identifier.NlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.String
locationThe location of the store.NlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.NlpSemanticParsingLocalLocation
nameA name for the store. Example: Walmart – CranberryNlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.String
rawTextNlpSemanticParsingModelsShoppingAssistantUnrecognizedPhraseA span in a user query that could not be identified as any other type of `Phrase`.String
denominatorNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
numeratorFields for fraction numbersNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
precisionThis field is used to indicate the number of digits after the decimal point in the normalized_value field in number.proto, which contains the floating point representation of the fractionNlpSemanticParsingNumberFractionNumberinteger
wholeNumberThis field is set only for mixed fractionNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
evalDataSpan info of the annotation – mostly used for evaluation purpose. Note: this data must never be used outside Aqua because it relies on the internal tokenization used in Aqua that could change over time.NlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingAnnotationEvalData
fractionNumberNlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingNumberFractionNumber
isSpelledOutAn optional field that holds whether the number_type number is a normalized spelled-out number or not. This field will not be set in cases when this information is not available.NlpSemanticParsingNumberNumberNext ID: 9boolean
modifierNumberModifier is used to capture when the expression is not an absolute number, but a number expression to represent an increase/decrease/comparison. E.g. [10 more percent], [5 less].NlpSemanticParsingNumberNumberNext ID: 9String
normalizedValueContains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. “,” in english). * Decimal mark (if present) as “.” (dot). For fraction_number, this contains the floating point representation of the fraction. The number of digits after the decimal point is defined in the precision field of fraction_number.proto.NlpSemanticParsingNumberNumberNext ID: 9String
rawTextThe raw text of the annotation.NlpSemanticParsingNumberNumberNext ID: 9String
simpleNumberNlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingNumberSimpleNumber
spelledOutTypeWe expect this field to be set only when is_spelled_out is true.NlpSemanticParsingNumberNumberNext ID: 9String
decimalMarkThe type of decimal mark that was present before normalization. Note: different locales may use different decimal marks.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
groupingDelimiterThe type of digit grouping delimiter that was present before normalization. Note: different locales may use different digit grouping delimiters.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
groupingSystemWe expect this field to be set only when grouping_delimiter is set.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
normalizedValueContains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. “,” in english). * Decimal mark (if present) as “.” (dot). This field is kept for backward compatibility. The field is also available in number.protoNlpSemanticParsingNumberSimpleNumberNext ID: 8String
prefixStores prefix output by the GRM number grammar (http://b/28623478).NlpSemanticParsingNumberSimpleNumberNext ID: 8String
suffixStores suffix outputNlpSemanticParsingNumberSimpleNumberNext ID: 8String
typeNlpSemanticParsingNumberSimpleNumberNext ID: 8String
airlineConfigUsed if the entity is an airline with an airline annotation.NlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.TravelFlightsAirlineConfig
evalDataRequired, but should only be used inside Aqua. Must not be used by outside clients!!NlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.NlpSemanticParsingAnnotationEvalData
nameraw string representationNlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.String
qrefAnnotationNlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.NlpSemanticParsingQRefAnnotation
referenceA Copley Personal Reference represents a user’s reference to a something that could be personal entity, e.g. “my hotel”, “mom”, “brunch”.NlpSemanticParsingPersonalReferenceAnnotationA collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as “navigate to my hotel” or “when is my mom’s anniversary”. See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.NlpSemanticParsingQRefAnnotation
resolutionsA Copley Personal Resolution represents the resolution of a Reference, e.g. if the user has a reservation at The Kendall Hotel, the reference “my hotel” could be resolved to The Kendall Hotel, and there would be a QRefAnnotation containing the mid and other data. It is possible for there to be zero resolutions for a given reference.NlpSemanticParsingPersonalReferenceAnnotationA collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as “navigate to my hotel” or “when is my mom’s anniversary”. See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.list(NlpSemanticParsingQRefAnnotation)
entityIdID of the entity of this slot.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
numBytesNumber of bytes of this slot in resolved query.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeinteger
originalPart of input text, matched by that slot. In the case of composite slots, each slot should have its own original.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
parameterNameName of parameter of this slot.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
slotListRepresents a “list parameter”. Each parameter may be declared as a list and have multiple slot values, referenced by a single alias. Each slot value in a list may contain multiple possible values. For example: aqua return 3 dates if the year is not specified in a query – one for the current year, one for the past year, and one for the following year. If user defines a list parameter with type @sys.date, and the query contains multiple dates – we should return a list of possible values for each date from the query, i.e. it will be a list of list of dates.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotList
slotMapRepresents a structured value. Used in composite entities. Composite entities can have arbitrary structure.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotMap
startByteStart byte position of this slot in resolved query.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeinteger
valueOne or more possible values. This field does not represent a list parameter.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotValue
dateDate value. Note, that month and day are 1 based. If this DateTime is a PARTIAL datetime, then fields have value -1, which means these fields are inferred rather than derived directly from query.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeDate
propertyProperty of this DateTime value that can be used to match user specification of parameters, e.g. date.recent.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.NlpSemanticParsingProtoActionsOnGoogleDateTimeProperty
timeTime value. Only hours and minutes are used. Hours are in 24h format.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeTimeOfDay
timeZoneTimezone field specified only if this DateTime has type TIME or DATETIME.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeTimeZone
datetimeTypeSince datetime is a superset of date, time and date&time, this field is used to indicate which type the associated DateTime object belongs to.NlpSemanticParsingProtoActionsOnGoogleDateTimePropertyRepresents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.String
relativeDatetimeTypeThe relative relationship between this DateTime value and DateTime&Timezone info provided in ClassifyRequest.NlpSemanticParsingProtoActionsOnGoogleDateTimePropertyRepresents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.String
slotsNlpSemanticParsingProtoActionsOnGoogleSlotListOneof doesn’t allow list, this message is used to inject list as a possible value into Slot.list(NlpSemanticParsingProtoActionsOnGoogleAogSlot)
valuesNlpSemanticParsingProtoActionsOnGoogleSlotValueContains one or more possible values.list(NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValue)
dateTimeValueRepresents date or time.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.NlpSemanticParsingProtoActionsOnGoogleDateTime
stringValueRepresents a string value.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.String
typeValueThis field is only populated by on-device Heron. This field should not be populated by any other service.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.NlpSemanticParsingProtoActionsOnGoogleTypedValue
boolValueRepresents a boolean value.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.boolean
dateTimeValueRepresents date or time.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.NlpSemanticParsingProtoActionsOnGoogleDateTime
numberValueRepresents number value. In accordance to ParamValue fields(https://source.corp.google.com/piper///depot/google3/third_party/java_src/appactions/proto/app_actions_data.proto;rcl=431529042;l=12)NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.float
stringValueRepresents a string value.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.String
globalProductClusterIdThe shopping global product cluster id(s) of the annotated entity (in KG, the key(s) of type /business/variant_cluster).NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
gaiaIdThe Gaia ID for this entity. This is populated generally for people and businesses.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
sourceTypeListIf the annotation was created by using personal data, we record the provenance for that data here.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41CopleySourceTypeList
confidenceScoreThe confidence (in [0, 1]) of the entity being correctly annotated.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41float
subClusterNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationSubCluster)
referenceScoreThe confidence (in [0, 1]) that the annotation is reference that implies another entity. (eg “my hotel” in “navigate to my hotel” is reference to explicit hotel from user hotel reservation).NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41number
displayNameCopy the display info. This can be used by annotators to give grammars a canonical name for an entity. For instance, the media grammar could use it to output the same canonical name for “rock music” and “rock”.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
entitySourceDataHolds information about the backends which contributed to this entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41NlpSemanticParsingEntitySourceData
mdvcVerticalsThe set of verticals this summary node belongs to.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
deprecatedEquivalentMidsDEPRECATED: Equivalent ids (e.g. de-duped mids) for this entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
clusterIdThe ID of the cluster (set entity) this entity belongs to.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
deprecatedMdvcSupportingMidDEPRECATED: Higher level id’s that support the given id. This field has been deprecated in favor of related_entity. b/27363861NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
productLineIdThe shopping product line id(s) of the annotated /business/shopping_product_line entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
locationTypeThe location type of the entity, as an int32 representing a TypeCategory enum value. For example, this could be TYPE_LOCALITY (37) or TYPE_COUNTRY (33). We store this type as an int because including FeatureProto would cause java/com/google/ads/adh/pipeline/bigquery:ProtoCatalog to become too large, resulting in OOM errors.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
mergedImpliedEntityA list of any implied entities merged into this annotation during parsing. Order is derivation-dependent.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
isMdvcDimensionTrue if this entity is an mdvc dimension of some other annotated entity. Only included if the QRefAnnotator is initialised with include_annotated_relationships.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
clusterSiblingMidThe set of mids that are members of the same cluster.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
relatedEntityMids related to the given entityNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingRelatedEntity)
lowConfidenceWhether this entity is low confidence. Not used. Currently whitelisted entities below min_confidence threshold are marked as low confidence and maybe not trusted by downstreams.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
addedByCloseAnswersWhether this qref annotation was created by CloseAnswers on Postref. Annotations of this type don’t correspond to a particular mention of the entity on the query but rather to an interpretation of the full query.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
locationThe center point of this location. This is either directly provided by the FeatureProto.center field or the centroid using the points of the polygon in the FeatureProto.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41GeostorePointProto
collectionMembershipNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationCollectionMembership)
otherMetadataMetadata to be passed through from the AnnotationContext API.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41Proto2BridgeMessageSet
merlotCategoryNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationMerlotCategoryData)
resolutionScoreThe confidence (in [0, 1]) that the annotation was created on an implicit mention (eg my hotel) as opposed to an explicit mention (eg: the westin copley square)NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41number
isNimbleAnnotationWhether this annotation originates from nimble. (go/nimble-annotator)NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
entityNumberThe index of the entity from which this annotation is obtained, within the WebrefEntities message in the interpretation defined by interpretation_number, above.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
personalSummaryNodeChildPersonal summary nodes are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., “my father’s mother” can have a summary node annotation of “Mother(Father(Myself))”.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
mdvcChildNested annotations that represent subparts of the given mdvc full annotation. An MDVC full annotation is outputted as the summary node as the root node, and all the children of it as leaves (mdvc_child). QRef outputs a graph of relationships between the mdvc enties, and for mdvc full the aquatator nests the relevant children inside the summary node’s proto.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
entityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationEntityRelationship)
annotatedSpanA copy of the span of canonical (raw) parser input text corresponding to this annotation.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
interpretationNumberThe index of the QueryJoin interpretation from which this annotation was obtained. This field is not used for entities coming from low-confidence annotations, since such entities are not included in any interpretation.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
freebaseMidThe mid of the entity in freebase associated with this span.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
attributeIdAttribute ID of a personal_summary_node_child.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
clusterSetScoreCluster set qref confidence score.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41float
oysterIdThe geo oyster_id of the entity, relevant only for locations. Only included if the QRefAnnotator is initialised with include_oyster_id.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41GeostoreFeatureIdProto
matchedLightweightTokenNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(RepositoryWebrefLightweightTokensMatchedLightweightToken)
collectionIdIdentifier of the collection. Usually something like “/collection/us_states”.NlpSemanticParsingQRefAnnotationCollectionMembershipString
collectionScoreA value in [0, 1] indicating the relevance of the collection given this entity. NOTE: This field is deprecated and will stop being populated soon. In the meantime, it will always be populated with 1.0.NlpSemanticParsingQRefAnnotationCollectionMembershipfloat
entityIndexThe index of the other entity in the relationship.NlpSemanticParsingQRefAnnotationEntityRelationshipinteger
impliedByTrue if this entity is implied by the other (includes geo contains).NlpSemanticParsingQRefAnnotationEntityRelationshipboolean
impliesTrue if this entity implies the other (includes geo contained by).NlpSemanticParsingQRefAnnotationEntityRelationshipboolean
linkPropertyNameNames of the relationship links.NlpSemanticParsingQRefAnnotationEntityRelationshiplist(String)
categoryIdNlpSemanticParsingQRefAnnotationMerlotCategoryDataMerlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.integer
confidenceNlpSemanticParsingQRefAnnotationMerlotCategoryDataMerlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.float
clusterIdNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.String
clusterSetScoreNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.float
clusterSiblingMidNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.list(String)
clusterSupportTransferRelationDenotes whether or not the related entity is derived from cluster support transfer.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
composedFromRelationDenotes whether or not the related entity composes a compound entity together with other related entities.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
equivalentRelationWhether or not the given mid is related to the other mid. Equivalent mids are usually mutually exclusive with other kinds of relations.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
mdvcRelationThe mdvc relation with the related mid.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
midMid that is related.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
supportTransferRelationDenotes whether or not there was support transfer between the two entities.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
targetIsStbrSourceSet if the related entity is the source of an STBR rule and the target is not this one.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }boolean
categoryCategories can be either a $PronounMention or $NominalMention.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
referentTextThe name of the entity this mentions refers to.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
categoryDefines the category of measure, like $Mass.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.String
valueThe numerical value of the measure.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.float
coreferenceAnnotations for spans that are resolved coreference mentions.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftCoreference
entityAnnotations for spans like “san francisco giants”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftSpan
measureAnnotations for spans “53 pounds”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftMeasure
titleAnnotations for spans like “the president of the United States”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftSpan
categoryCategories can be either syntactic (NNS for fine-grained-POS) or semantics ($Mass for measures).NlpSemanticParsingSaftSpanThe lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftSpanThe lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.String
documentThe document that contains this character.NlxDataSchemaByteA single byte, such as that from a utf8-encoded character sequence.MultiscalePointerIndex
documentThe document that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
paragraphThe paragraph that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
sentenceThe sentence that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
textThe character itself. Must contain valid UTF-8. Must be exactly one Unicode character.NlxDataSchemaCharacterA single Unicode character.String
tokenThe token that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
authorThe author(s) of this document.NlxDataSchemaDocumentA single document.list(MultiscalePointerIndex)
bytesThe bytes in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
charactersThe characters in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
idThe identifier of this document.NlxDataSchemaDocumentA single document.String
languageCodeA set of BCP-47 codes indicating the language(s) of this document.NlxDataSchemaDocumentA single document.list(String)
languageSpansThe language spans in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
mentionsThe mentions in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
paragraphsThe paragraphs in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
sentencesThe sentences in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
textThe text of this document. Must contain valid UTF-8.NlxDataSchemaDocumentA single document.String
tokensThe tokens in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
urlThe url of this document.NlxDataSchemaDocumentA single document.String
genderEntity gender. Default label set is ‘masculine’, ‘feminine’, or ‘neuter’. (Perhaps in the future we can split ‘neuter’ into ‘inanimate’, ‘unknown’, and ‘non-binary’.)NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
midMachine identifier, such as those from the Freebase database (or similar entity database).NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
nameFree-form entity name.NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
typeEntity type, typically something like person/location/organization. The schema for types is not specified. If this entity has a MID, use the mid field instead or in conjunction with the type.NlxDataSchemaEntityAn entity, which may occur multiple times in the text.list(String)
bytesThe bytes in this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerSpan
charactersThe characters in this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerSpan
documentThe document that contains this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerIndex
languageCodeA set of BCP-47 codes indicating the language(s) of this span of text.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.list(String)
bytesThe bytes in this mention.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerSpan
documentThe document that contains this mention.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerIndex
entityThe entity that this mention refers to.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerIndex
kindMention kind, typically ‘referential’, ‘attributive’, or ‘modifier’.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
textThe mention text itself. Must contain valid UTF-8.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
tokensThe token(s) in this mention. This may not be present, or have zero length if representing an implicit mention, as in the prodrop case.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerSpan
typeMention type, typically ‘named’ (for name mentions) or ‘nominal’. More types include ‘pronominal’, ‘conjoined’ for conjoined mention construction, and ‘non-referential’ for non-referential pronoun mentions.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
bytesThe bytes in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
charactersThe characters in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
documentThe document that contains this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerIndex
sentencesThe sentences in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
textThe text of this paragraph. Must contain valid UTF-8.NlxDataSchemaParagraphA single paragraph.String
tokensThe tokens in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
entityTypePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityMidPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityGenderPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
languageSpanDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityNamePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
entityNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaEntity)
bytePresenceMetadata for which layers (scales) are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2.NlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
tokenDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenSentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaCharacter)
documentLanguageCodePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaToken)
tokenParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentIdPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
paragraphNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaParagraph)
mentionDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
mentionNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaMention)
paragraphCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentParagraphsPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionEntityPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
tokenPosPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyHeadPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanLanguageCodePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentMentionsPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentUrlPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaSentence)
mentionTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterTokenPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterSentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
byteDocumentPresenceMetadata for which layer (scale) fields are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2.NlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
languageSpanNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaLanguageSpan)
languageSpanBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionTypePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
byteNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaByte)
tokenCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentSentencesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyLabelPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
documentAuthorPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaDocument)
paragraphSentencesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionKindPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentLanguageSpansPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
bytesThe bytes in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
charactersThe characters in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
documentThe document that contains this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerIndex
paragraphThe paragraph that contains this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerIndex
textThe text of this sentence. Must contain valid UTF-8.NlxDataSchemaSentenceA single sentence or utterance.String
tokensThe tokens in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
bytesThe bytes in this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerSpan
charactersThe characters in this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerSpan
dependencyDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.NlxDataSchemaTokenDependencyEdge
dependencyHeadThe head of this token. By default, the root of the sentence is its own head; it should also have deprel as ‘root’.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
dependencyLabelRelation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine-grained labels like nsubj:pass.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
documentThe document that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
paragraphThe paragraph that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
posCoarse part-of-speech tag.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
sentenceThe sentence that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
textThe text of this token. Must contain valid UTF-8.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
deprelRelation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine- grained labels like nsubj:pass.NlxDataSchemaTokenDependencyEdgeDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.String
headThe head of this token. By default, the root of the sentence is its own head; it should also have deprel as ‘root’.NlxDataSchemaTokenDependencyEdgeDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.MultiscalePointerIndex
valueThe NSR value corresponding to this version.NSRVersionedItemMessage representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.number
versionIdThe version id.NSRVersionedItemMessage representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.integer
authorOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
categoryOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
descriptionOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
titleOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
docTagdata returned with search docresults (snippets)OceanDocInfoOcean data in docserver results (whole documents)OceanDocTag
DEPRECATEDIssueDatethis is in ONIX format.OceanDocTag!ERROR! D8693 -> Formula Error: An unexpected error occurredString
coverPagecover page (PrintedAsSeen string), to generate results snippet thumbnail image urlsOceanDocTag!ERROR! D8694 -> Formula Error: An unexpected error occurredString
editorsEditors string for front end.OceanDocTag!ERROR! D8695 -> Formula Error: An unexpected error occurredString
encryptedExpressionIdOceanDocTag!ERROR! D8696 -> Formula Error: An unexpected error occurredString
segmentTimeOceanDocTag!ERROR! D8697 -> Formula Error: An unexpected error occurredinteger
viewabilityVolume viewability, which defines how/if the volume should be displayed in various locales.OceanDocTag!ERROR! D8698 -> Formula Error: An unexpected error occurredOceanVolumeViewability
pageNumberpage_number of the page (OceanTypes::PageNumberType) In CAv2: page_number of the page ocean::PageNumber::TOceanDocTag!ERROR! D8699 -> Formula Error: An unexpected error occurredinteger
sourceTypeThe source type of the document. See BoundVolumeSource::SourceType in ocean/data/volume_types.protodevel for possible values.OceanDocTag!ERROR! D8700 -> Formula Error: An unexpected error occurredinteger
blockSnippetOceanDocTag!ERROR! D8701 -> Formula Error: An unexpected error occurredboolean
newspaperspecificOceanDocTag!ERROR! D8702 -> Formula Error: An unexpected error occurredOceanDocTagNewspaperSpecific
encryptedVolumeIdOceanDocTag!ERROR! D8703 -> Formula Error: An unexpected error occurredString
volumeVersionThe version of the volume (serialized form). ONLY populated for Volume level docsOceanDocTag!ERROR! D8704 -> Formula Error: An unexpected error occurredString
isLandingPagewhether this a landing page chosen at indexing time.OceanDocTag!ERROR! D8705 -> Formula Error: An unexpected error occurredboolean
availableDownloadsA bitmap containing all available download formats (values defined in AvaialableDownloadFormats enum) NOTE: Only populated for Volume level docsOceanDocTag!ERROR! D8706 -> Formula Error: An unexpected error occurredinteger
contributorOceanDocTag!ERROR! D8707 -> Formula Error: An unexpected error occurredlist(OceanDocTagContributor)
objectionableContentBitmapA bitmap indicating whether content may be objectionable NOTE: Only populated for volume level docsOceanDocTag!ERROR! D8708 -> Formula Error: An unexpected error occurredinteger
pagerankthe page rank value of the book pageOceanDocTag!ERROR! D8709 -> Formula Error: An unexpected error occurredfloat
searchInBookUrlthe URL for the “search in book”OceanDocTag!ERROR! D8710 -> Formula Error: An unexpected error occurredString
contentTypeThe content type of the document. See BoundVolumeSource::ContentType in ocean/data/volume_types.protodevel for possible values.OceanDocTag!ERROR! D8711 -> Formula Error: An unexpected error occurredinteger
workclusterOceanDocTag!ERROR! D8712 -> Formula Error: An unexpected error occurredOceanDocTagWorkCluster
pricePrice information for a volume (per locale). Note existence of a price for a locale implies that the book is sellable for that locale.OceanDocTag!ERROR! D8713 -> Formula Error: An unexpected error occurredOceanGEPrice
DEPRECATEDApplicationDatethis is in ONIX format.OceanDocTag!ERROR! D8714 -> Formula Error: An unexpected error occurredString
goodTextDetailText quality as defined in CA_VolumeScoreResult::OACapabilities::TextQualityAssessment Note – This is only populated if good_text() and is_ge_quality() are trueOceanDocTag!ERROR! D8715 -> Formula Error: An unexpected error occurredinteger
patentspecificOceanDocTag!ERROR! D8716 -> Formula Error: An unexpected error occurredOceanDocTagPatentSpecific
bookspecificOceanDocTag!ERROR! D8717 -> Formula Error: An unexpected error occurredOceanDocTagBookSpecific
structuredPageNumberIn CAv2 only: structured page number (printed number as we understand it) (result of ocean::StructuredPageNumberProto::AppendToString)OceanDocTag!ERROR! D8718 -> Formula Error: An unexpected error occurredString
catalogspecificOceanDocTag!ERROR! D8719 -> Formula Error: An unexpected error occurredOceanDocTagCatalogSpecific
authorsTODO(leonid) Deprecate these Authors string for front end.OceanDocTag!ERROR! D8720 -> Formula Error: An unexpected error occurredString
refPageUrlthe URL of the reference page (About this book)OceanDocTag!ERROR! D8721 -> Formula Error: An unexpected error occurredString
numPagesNumber of pages in this volume (usually as specified in metadata)OceanDocTag!ERROR! D8722 -> Formula Error: An unexpected error occurredinteger
metadataCoverExistsmetadata_cover_exists will be set if there’s a metadata-provided cover thumbnail. the thumbnail will be used for scanless books or when a scanned book is in metadata-only view.OceanDocTag!ERROR! D8723 -> Formula Error: An unexpected error occurredboolean
subjectBitmapBitmap indicating top-level subjects associated with this document. See ocean/metadata/subjects/util.h for more detail.OceanDocTag!ERROR! D8724 -> Formula Error: An unexpected error occurredString
subTitleSub title string for front endOceanDocTag!ERROR! D8725 -> Formula Error: An unexpected error occurredString
thumbnailUrlthe URL of the cover page.OceanDocTag!ERROR! D8726 -> Formula Error: An unexpected error occurredString
coverPageSizeThe size (in pixels) of the full-resolution clean images used for the cover page. The width and height will be zero if no image for that page.OceanDocTag!ERROR! D8727 -> Formula Error: An unexpected error occurredOceanImageSize
isGeQualitySet to true if volume has ge qualityOceanDocTag!ERROR! D8728 -> Formula Error: An unexpected error occurredboolean
DEPRECATEDPatentNumberpatent-specific fields. ALL DEPRECATED, moved into PatentSpecific group, above.OceanDocTag!ERROR! D8729 -> Formula Error: An unexpected error occurredString
DEPRECATEDPublisherPercentVisiblePercent rights granted by publisher. This should only be set, and definitely should only be considered, if source_type == BoundVolumeSource::PUBLISHER. ‘0’ may mean we have no info on publisher rights so we have to just assume 0%. Deprecated as this is taken into account by viewabilityOceanDocTag!ERROR! D8730 -> Formula Error: An unexpected error occurredinteger
metadataCoverSizeThe size (in pixels) of the metadata cover image.OceanDocTag!ERROR! D8731 -> Formula Error: An unexpected error occurredOceanImageSize
geoRestrictDEPRECATED! Being replaced in favor of viewability, below. geo restrict info (from OceanRights::geo_restrict) In CAv2: geo restrict info (from ocean::VolumeImprintRights::geo_restrict)OceanDocTag!ERROR! D8732 -> Formula Error: An unexpected error occurredlist(String)
printedPageNumberprinted page number (OceanPrintedPageNumber; from OceanPageInfoMap::Page::printed_page_number)OceanDocTag!ERROR! D8733 -> Formula Error: An unexpected error occurredString
magazinespecificOceanDocTag!ERROR! D8734 -> Formula Error: An unexpected error occurredOceanDocTagMagazineSpecific
volumeTypeOceanDocTag!ERROR! D8735 -> Formula Error: An unexpected error occurredinteger
urlKeyBibkey to be used as part of the URL (to make them persistent in some sense). This is obtained by doing a GetURLKey() on the bibdata which returns the main bibkey associated with the volume based on priority. This is parseable into an OceanVolumeBibKey (ocean/metadata/bibkeys.h) Note: This should ideally be a required field longer term but for now keeping it optional for compatibility. In case of this being absent, we don’t include the key in the URL (just use volumeId as before). Note: For content type books, this key is supplemented by other bibkeys for this volumes(the field is aux_bibkeys)OceanDocTag!ERROR! D8736 -> Formula Error: An unexpected error occurredString
DEPRECATEDPatentAssigneeOceanDocTag!ERROR! D8737 -> Formula Error: An unexpected error occurredString
pageidpageid of the page (OceanTypes::PageIdType)OceanDocTag!ERROR! D8738 -> Formula Error: An unexpected error occurredinteger
grantableLocaleList of locales for which this book can be bought from a publisher, and read as a Google eBook. Each locale is a lowercase, two-letter country-code (eg “ca”), and is copied from PublisherGrantability.Locale.locale, defined in ocean/data/docinfo/volume_viewability.proto.OceanDocTag!ERROR! D8739 -> Formula Error: An unexpected error occurredlist(String)
titleTitle string for front end.OceanDocTag!ERROR! D8740 -> Formula Error: An unexpected error occurredString
usingActualCoverusing_actual_cover will be set if we are using the actual cover of the book (instead of the table of content, etc.). This is particularly useful to identify books where we inserted a generated cover via Coverups.OceanDocTag!ERROR! D8741 -> Formula Error: An unexpected error occurredboolean
auxBibkeysThese are other bibkeys for this book beside the url_key, which is the primary key. For example, a book may have ISBN, OCLC num etc. In that case ISBN is the url_key and the OCLC number is the auxillary bibkey. The aux_bibkeys should have the same form as the url_keyOceanDocTagBookSpecificBook specific fields.list(String)
imprintOceanDocTagBookSpecificBook specific fields.String
numRatingHalfStarsOceanDocTagBookSpecificBook specific fields.integer
numberingrangeOceanDocTagBookSpecificBook specific fields.list(OceanDocTagBookSpecificNumberingRange)
partnerIdpublisher id, if availableOceanDocTagBookSpecificBook specific fields.String
productEditionNumberSet if the book is one of several editions or versions. Used by OFE to show numbered editions. The value is copied from clustering information. See also ocean/metadata/proto/bibdata_components.proto The value there is from metadata records by ocean/metadata/parsing/parse_utils.cc, and is a 1-based value.OceanDocTagBookSpecificBook specific fields.integer
publicationDateIn the format yyyy.mm.dd, or possibly just yyyy.OceanDocTagBookSpecificBook specific fields.String
publisherNameOceanDocTagBookSpecificBook specific fields.String
subjectSubject (from Bisac)OceanDocTagBookSpecificBook specific fields.String
endNumberingOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(String)
numberTypeOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(integer)
numberingSchemaOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(integer)
startNumberingOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(String)
latestIs this the latest issue of this catalog series? This is required to filter results if the latest restrict is on.OceanDocTagCatalogSpecificcatalog-specific fields.boolean
publicationDatetime_t date corresponding to the catalog publication date. Approximate when the catalog does not have an exact “date” of publication, e.g. For “Spring 2002”, year, month and day are 2002, 03 and 21, respectivley. This value is used to compare catalog issues to determine the latest. The value is stored in seconds-since-epoch, 1/1/1970. This is not a problem for catalogs because we are not dealing with any catalogs from before the 70’s.OceanDocTagCatalogSpecificcatalog-specific fields.integer
publicationTimeToDisplayString to be displayed as catalog publication time, e.g. “Spring 2002”.OceanDocTagCatalogSpecificcatalog-specific fields.String
nameOceanDocTagContributorThe composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.String
typeContributionType enum from ocean/metadata/metadata_enums.proto Note that we pick only the “highest-ranking” contribution (i.e. writer and editor would collapse to “writer”.OceanDocTagContributorThe composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.integer
displayDateA human-readable date for display in the UI. Unlike “publication_date_” above, this should not be parsed into structured data, but should only be displayed as is.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
issueDescriptionDescription specific to a magazine issue, such as featured articles and article summaries.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
issueEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
issueStartOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
itemItems within a magazine issue.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.list(OceanDataDocinfoWoodwingItemMetadata)
otherNumberingEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
otherNumberingSchemaNOTE: These should to be values from MetadataNumberingSchema; when this becomes a proto2, we can use MetadataEnums values.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
otherNumberingStartFor season or quarter dates.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
pageToItemFor each page of a magazine, maps to the item index of “item”.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.list(integer)
publicationDateEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
publicationDateStartOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
serialTitleThis is used to render the metadata line of the snippet and should be present in all magazine documents.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
serialVolumeidOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
volumeOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
articleRollCoordsNewspaper Article Roll Coordinates used to figure out the location of the article wrt the page. It is of the form x,y.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
newspaperDateAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.float
newspaperNameOceanDocTagNewspaperSpecificNewspaper-specific fields.String
newspaperUrlAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
publicationDateThese fields are only populated for Santorini (newspapers on goovols) formatted newspapers, not for Atlantis: YYYY.MM.DD format.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
publisherAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
applicationDatethis is in ONIX format.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
contentLanguage2-letter language of the document such as “en” or “fr” This field was created for plumbing in the OFE API intl patent flow, and is probably not otherwise filled in.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
docTypeOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateinteger
documentNumberJust the number, no bibkey prefix. Called ‘doc number’ b/c it could be patent number for patents, application number for applications.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
domesticClassificationUS and Int’l patent classification codes for “related patents”.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
internationalClassificationOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
issueDatethis is in ONIX format.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
patentAssigneeOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
publicationNumberFor applications, the ‘publication number’ Something like US20071234567A1: ‘US’ prefix, 4 digit year, 7 digit serial number, 2 character code, all stuck together.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
relativeThumbnailPathPath identifying the image used for the thumbnail of this patent. e.g. “EP1234567B1/imgf0001.png” The client is expected to fill in the rest of the url such as: https://patentimages.storage.googleapis.com/thumbnails/EP1234567B1/imgf0001.pngOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
tenCharUsClassificationOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
clusterSizeOceanDocTagWorkClusterDetails of the work cluster for this Volume.integer
workIdOceanDocTagWorkClusterDetails of the work cluster for this Volume.String
amountInMicrosamount in micros. 1 is represented 1000000OceanGEMoneyA container proto to store prices for GEString
currencyCodeThe currency codes come from google3/i18n/identifiers/currencycode.h.OceanGEMoneyA container proto to store prices for GEString
localeOceanGEPriceGE sale related datalist(OceanGEPriceLocale)
localeThe two character ISO country codeOceanGEPriceLocaleString
offerPricePrice used for sale by the OFEOceanGEPriceLocaleOceanGEMoney
onSaleTimeSecsThe time (in secs from epoch) the content goes on sale (only set when the book is not already sellable at the time of indexing).OceanGEPriceLocaleString
heightpixelsOceanImageSizeSize info of an image.integer
widthpixelsOceanImageSizeSize info of an image.integer
accessRightsThese capture “commercial” contract related access rights provided by partners for a volume.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeAccessRights
allowAddingFrontmatterToPreviewAre we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown? This means the front matter becomes freely previewable and does not count towards the previewable amount based on the percentage.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
allowContinuousBrowseBy default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
allowRetailSyndicationwhether OFE should display this volume in syndicated search resultsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
bibkeyThe bibkey upon which this viewability information is based.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
canDisplayAdsWhether we can show ads with this book in this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canDownloadEpubIn future, we will generate epub iff can_download_epub = true irrespective of viewability or download pdf state.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canDownloadPdfIn future, we will generate PDF iff can_download_pdf = true irrespective of viewability.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canShowLibraryLinksWhether to show library links for the books in this imprint.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canShowPhotosWhether we can show photos for this book in this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canUseMetadataCoverIt should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
clientIdThe client who provided the rights for this bibkey, and who should receive revenue derived from this book in this locale. This will only be present when we receive explicit rights from a publisher.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
computedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. This message is used to capture “commerical” contracts that are computed from other sources. Any future computed rights that are not related to volume access should go into a new message.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeComputedAccessRights
datesOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanLocaleViewabilityDates
displayDetailsVolume display specific attributes are kept in display_detailsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeDisplayDetails
metadataViewMayIncludeInfoFromScansThis only applies when view_type == VIEW_METADATA and controls whether we’re allowed to include scanned info (keywords, toc, etc). in the metadata-view. For books in metadata view because they have been opted out, this would be false.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
metadataViewSampleAllowedThis only applies when view_type == VIEW_METADATA and controls whether we’re allowed to include a text sample even for a metadata view book.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
percentBookShownHow much of the book can be viewed in this locale. Will be 100 for VIEW_FULL; 0 for VIEW_SNIPPET_, VIEW_NONE and VIEW_METADATA; and some value between 0 and 100 (exclusive) for VIEW_PARTIAL.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)integer
publicDomainIf present, this is the rights policy’s determination of the public domain status. (Of course, this determination is generally conservative (i.e. false negatives are likely), though exactly how conservative may depend on parameters to the rights policy.) If absent, public domain status can be inferred from view_type and view_reason, but that isn’t quite perfectly reliable: view_type should always be VIEW_FULL for public domain, but view_reason might be REASON_PUBLIC_DOMAIN (definitely public domain, obviously), some other value, or absent. In the future, new viewabilities should always have this field whenever possible.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
sourcedetailsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanLocaleViewabilitySourceDetails
viewReasonThe reason for the view_type.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
viewTypeThe viewability specified for this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
effectiveDateIf specified, the LocaleViewability will become effective on this date. This field is used to allow pre-indexing of future books which will become viewable and searchable according to the LocaleViewability on the specified date. Before the effective date, the volume will have scanless-like VIEW_METADATA viewability. For details, see the design document at http://go/oceanviewabilityeffectivedate. The date is expressed as the number of seconds since the Unix epoch.OceanLocaleViewabilityDatesViewability related dates.String
imprintOceanLocaleViewabilitySourceDetailsHow did we derive this viewability for this locale+volume? For “partner” books, this includes details about the “Imprint” that provided the rights. These details specify things such as preferred buy-the-book-url to show in the frontend.OceanVolumeImprint
flagsrights, mask-availability, porn, etc.OceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlString
numPagesOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
pageNumber1-basedOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
pageidOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
volumeidOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlString
allowAutoGeneratedTextIf false, then we can only provide text layer generated from publisher provided epub.OceanVolumeAccessRightsboolean
canShowInfoCardsWhether we can show info cards inside this book.OceanVolumeAccessRightsboolean
canShowPhotosWhether we can show photos inside this book.OceanVolumeAccessRightsboolean
numAdeDeviceAllowedMaximum number of Adobe Digital Editions device per sale item allowed. 0 means no download allowed. -1 means unlimited download.OceanVolumeAccessRightsinteger
numAdobeIdAllowedMaximum number of Adobe id per sale item allowed. 0 means no download allowed. -1 means unlimited download.OceanVolumeAccessRightsinteger
numDownloadsAllowedMax. number of Google eBooks downloads allowed. This is related to iPhone/iPad/Androrid/WebReader reading, not to epub/pdf downloads. 0 means no download allowed. This is related to bug #3094719.OceanVolumeAccessRightsinteger
numSimultaneousAccessNumber of readers can read the Google eBooks simultaneouslyOceanVolumeAccessRightsinteger
offlineDownloadDownload type for offline readingOceanVolumeAccessRightsString
percentCopyableHow much of a volume we allow user to extract as text (for copy+paste)OceanVolumeAccessRightsinteger
percentPrintableHow much of a volume we allow user to printOceanVolumeAccessRightsinteger
restrictOnlyToTextTrue iff restrict view only to epub text. Don’t show page images if this is true. Some pubs don’t have copyright for page layout and fonts.OceanVolumeAccessRightsboolean
sellFixedLayoutAsImageOnlyWhether we sell fixed layout as image only.OceanVolumeAccessRightsboolean
textToSpeechWhether text to speech is allowedOceanVolumeAccessRightsboolean
treatAsPublicDomainWhether we treat this book as public domain.OceanVolumeAccessRightsboolean
canFamilyShareWhether this book can be shared with family members.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
panelizationFeatureInternalOnlyWhether the panelization feature is enabled for internal users only.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
viewableInternalOnlyWhether the book is viewable for internal users only.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
ccLicenseThe creative commons license specified, Please refer ocean.CreativeCommonsLicenseType.Type for enum values Not exposed in Partner Frontend anymore.OceanVolumeDisplayDetailsThis message describes display attributes. The attributes which are applicable to OFE not indexing (mustang), should be added in this proto.integer
accessRightsThese capture “commercial” contract related access rights provided by partners for a volume.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.OceanVolumeAccessRights
adsIdId used in the google ads systemOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
allowAddingFrontmatterToPreviewAre we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown?OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
allowContinuousBrowseBy default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
allowRetailSyndicationBy default, we allow retailer syndication. PFE provides a means for partner to opt out. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
authorBeware: the author strings are not in fixed format..these can be comma separated or ‘and’ separated or have extra terms like ‘et al’ and sometimes have weird ones like ‘no author’ as these are fed in via a somewhat flexible free text tool.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
bibkeyCommercial info comes with book identifiers like ISBN(or some bibkey), Title, Author. Passing these along as well with the commercials for better book identification/link up with rights.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
buyTheBookTextText to display in the buy-the-book blurbOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
buyTheBookUrlISBN/ISSN-parameterized URL to the imprint’s site for buying a book. For ISBN-parameterized links, the ISBN value will be substituted in the cannonical 13-digit form.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
canDownloadEpubiff true volume is available as Google Edition. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canDownloadPdfiff true and VIEW_TYPE=FULL_VIEW, then we will allow PDF download This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canShowLibraryLinksWhether to show library links for the books in this imprint. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canUseMetadataCoverIt should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
disableOtherBuyTheBookLinksWhether to disable other btb links for the books in this imprint. Show only btb link from this partner and remove everything else.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
displayDetailsVolume display specific attributes are kept in display_details This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.OceanVolumeDisplayDetails
geBibkeyThe ISBN supplied by publisher (or Google) for the Google Edition e-book. One day it should be an attribute of the tome cluster.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintIdThe imprint id from the ocean devel db for this imprint.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintNameOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintUrlURL to the imprint’s website, to go to upon a click on the logoOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
logoHeightOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
logoLocationURL/location for the imprint’s logo to displayOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
logoWidthThe logo image’s geometryOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
percentBookShownPercentage of book we are allowed to display This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
promotionalTextOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
promotionalUrlWe may allow imprints to run promotional campaigns. The following fields capture the blurb to display and the URL (ISBN-parameterized) link to provide.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
publishedImprintNameSometimes the Publisher/Imprint Name the book is published under is different from the current name and we may have this information.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
pviRowidNeed a unique identifier for PFE records, using PVI IDOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
titleOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
useBibdataSome records are deactivated, suppressed or excluded; we still want to hear about them, but we aren’t going to be using their bibdataOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
verticalTypeOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
DEPRECATEDDefaultViewTypeOceanVolumeViewabilityinteger
defaultViewabilityThe viewability for any locale that is not explicitly listed.OceanVolumeViewabilityOceanLocaleViewability
inViewabilityLimboDEPRECATED: Viewability-Limbo was a state that prevented indexing from running if the viewability of a volume had dropped significantly. It was removed during viewability refactoring: http://go/viewabilityOceanVolumeViewabilityboolean
localeOceanVolumeViewabilitylist(OceanVolumeViewabilityLocale)
updatedByIndexerWhether the volume viewability was updated by the indexer as opposed to a direct update in goovols. The absense of this bit will indicate to the indexer that it should not short-circuit indexing side effects that should occur when viewability changes.OceanVolumeViewabilityboolean
DEPRECATEDViewTypeOceanVolumeViewabilityLocaleinteger
localeThe two-character ISO country code for the locale.OceanVolumeViewabilityLocaleString
viewabilityThe viewability specified for this locale.OceanVolumeViewabilityLocaleOceanLocaleViewability
angleAngle of rotation of (in degrees, clockwise is positive) of the box about the top-left corner.OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.number
curvedBoxSequence of rotated boxes that tightly enclose the text.OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.OcrPhotoCurvedBoundingBox
heightBox height (bottom pixels at top + height – 1).OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
leftx coordinate of top-left cornerOcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
topy coordinate of top-left cornerOcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
widthBox width (rightmost pixels at left + width – 1).OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
pointsThe sequence of points that approximate the curve.OcrPhotoCurveCopy of ocr/goodoc/layout-common.proto:CurvedBoundingBox, temporary duplicated here to allow for on-device builds.list(OcrPhotoCurvePoint)
midLineCurveThe curve of points along the middle of the text line.OcrPhotoCurvedBoundingBoxOcrPhotoCurve
thicknessIf top_to_bottom is true, this is the width of the curved box. Otherwise, it is the height of the curved box.OcrPhotoCurvedBoundingBoxfloat
topToBottomIf true, the curve is interpreted as top to bottom of the line image. Otherwise, it is from left to right.OcrPhotoCurvedBoundingBoxboolean
xOcrPhotoCurvePointfloat
yNOTE: if we wish to support perspective (varying thickness), later on we could extend this message with a thickness field. In that case, CurvedBoundingBox.thickness() would be used as a default if !Point.has_thickness().OcrPhotoCurvePointfloat
blockIdID of the text block that this line belongs to.OcrPhotoTextBoxText with bounding box.integer
boxText bounding box.OcrPhotoTextBoxText with bounding box.OcrPhotoBoundingBox
contentTypeContent type for this box.OcrPhotoTextBoxText with bounding box.String
symbolWidthsOptional width of characters in the text.OcrPhotoTextBoxText with bounding box.list(integer)
textText string.OcrPhotoTextBoxText with bounding box.String
countryOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hString
languageOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hinteger
queryOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hString
queriesOfficialPagesQuerySetlist(OfficialPagesOfficialKey)
queryCountryLanguageFingerprintsThis is the fingerprint of the OfficialKey queries in the queries field. The index of a fingerprint in this field corresponds to the index of the fingerprinted query in the queries field. The fingerprint is produced with the QueryCountryLanguageFingerprint function in external-utils.hOfficialPagesQuerySetlist(String)
docidOrionDocEntitiesProtoString
encodedEntityThis is encoded using EntityCandidate::EncodeOrionDocEntitiesProtolist(integer)
confidenceValuePairwiseQScoringDatanumber
valuePairwiseQScoringDatanumber
confidenceValueThe PairwiseQ confidence value corresponding to this version.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.number
valueThe PairwiseQ value corresponding to this version.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.number
versionIdThe version id.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.integer
applicationAll evaluations are done within the context of a given application, e.g., “Gmail” and should not be reused in other apps.PeoplestackFlexorgsProtoInternalExternalString
stateStatus* There can be multiple states based on the context: 1. AUTOCOMPLETE + Gmail – context 1 2. AUTOCOMPLETE + Chat/Dynamite – context 2 3. “SOME OTHER ACTION” + Gmail – context 3 A client should identify whether a patrticular context is present in the list and only if one is found – use the state that goes alogn with the context, otherwise the client should default to whatever is the safe assumption about “internality/externality” the application should be making (likely, consider everything not explicitly “internal” as “external”).PeoplestackFlexorgsProtoInternalExternallist(PeoplestackFlexorgsProtoInternalExternalStateStatus)
contextTypePeoplestackFlexorgsProtoInternalExternalStateStatusString
statePeoplestackFlexorgsProtoInternalExternalStateStatusString
scienceDoctypeScholar/Science Document type: <0 == not a Science Document -- default 0 == Science doc fully visible >0 == Science doc but limited visibility, the number is the visible termsPerDocData!ERROR! D8919 -> Formula Error: Unexpected ,integer
ScaledExptIndyRank2experimentalPerDocData!ERROR! D8920 -> Formula Error: Unexpected ,integer
videoLanguageAudio-based language classified by Automatic Language Identification (only for watch pages).PerDocData!ERROR! D8921 -> Formula Error: Unexpected ,QualityVidyaVideoLanguageVideoLanguage
phildataPerDocData!ERROR! D8922 -> Formula Error: Unexpected ,PhilPerDocData
uacSpamScoreThe uac spam score is represented in 7 bits, going from 0 to 127. Threshold is 64. Score >= 64 is considered as uac spam.PerDocData!ERROR! D8923 -> Formula Error: Unexpected ,integer
DEPRECATEDAuthorObfuscatedGaiaThe obfuscated google profile gaia id(s) of the author(s) of the document. This field is deprecated, use the string version.PerDocData!ERROR! D8924 -> Formula Error: Unexpected ,list(String)
spamtokensContentScoreFor SpamTokens content scores. Used in SiteBoostTwiddler to determine whether a page is UGC Spam. See go/spamtokens-dd for details.PerDocData!ERROR! D8925 -> Formula Error: Unexpected ,number
webrefEntitiesWebRef entities associated to the document. See go/webref for details.PerDocData!ERROR! D8926 -> Formula Error: Unexpected ,RepositoryWebrefWebrefMustangAttachment
PremiumDataAdditional metadata for Premium document in the Google index.PerDocData!ERROR! D8927 -> Formula Error: Unexpected ,PremiumPerDocData
spamMuppetSignalsContains hacked site signals which will be used in query time joins. As of Oct’19, the field is stored in a separate corpus. It’ll only be populated for in-flight requests between retrieve and full-score in perdocdata. So no extra storage is needed on muppet side.PerDocData!ERROR! D8928 -> Formula Error: Unexpected ,SpamMuppetjoinsMuppetSignals
knexAnnotationFor indexing k’nex annotations for FreshDocs.PerDocData!ERROR! D8929 -> Formula Error: Unexpected ,SocialPersonalizationKnexAnnotation
smartphoneDataAdditional metadata for smartphone documents in the Google index.PerDocData!ERROR! D8930 -> Formula Error: Unexpected ,SmartphonePerDocData
semanticDateConfidenceDEPRECATED: semantic_date_confidence replaced by semantic_date_info.PerDocData!ERROR! D8931 -> Formula Error: Unexpected ,integer
trendspamScoreFor now, the count of matching trendspam queries.PerDocData!ERROR! D8932 -> Formula Error: Unexpected ,integer
ScaledSpamScoreYoramSpamscores are represented as a 7-bit integer, going from 0 to 127.PerDocData!ERROR! D8933 -> Formula Error: Unexpected ,integer
numUrlsTotal number of urls encoded in the url section = # of alternate urls + 1PerDocData!ERROR! D8934 -> Formula Error: Unexpected ,integer
datesInfoStores dates-related info (e.g. page is old based on its date annotations). Used in FreshnessTwiddler. Use encode/decode functions from quality/timebased/utils/dates-info-helper-inl.hPerDocData!ERROR! D8935 -> Formula Error: Unexpected ,String
pagerank2PerDocData!ERROR! D8936 -> Formula Error: Unexpected ,number
nsrDataProtoStripped site-level signals, not present in the explicit nsr_* fields, nor compressed_quality_signals.PerDocData!ERROR! D8937 -> Formula Error: Unexpected ,QualityNsrNsrData
fringeQueryPriorContains encoded FringeQueryPrior information. Unlikely to be meaningful for anyone other than fringe-ranking team. Contact fringe-ranking team if any questions, but do NOT use directly without consulting them.PerDocData!ERROR! D8938 -> Formula Error: Unexpected ,QualityFringeFringeQueryPriorPerDocData
kaltixdataPerDocData!ERROR! D8939 -> Formula Error: Unexpected ,KaltixPerDocData
ymylHealthScoreStores scores of ymyl health classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.PerDocData!ERROR! D8940 -> Formula Error: Unexpected ,integer
authorObfuscatedGaiaStrPerDocData!ERROR! D8941 -> Formula Error: Unexpected ,list(String)
lastSignificantUpdateLast significant update of the document. This is sourced from the quality_timebased.LastSignificantUpdate proto as computed by the LSUSelector from various signals. The value is a UNIX timestamp in seconds.PerDocData!ERROR! D8942 -> Formula Error: Unexpected ,String
spambrainDataHost-v1 sitechunk level scores coming from spambrain.PerDocData!ERROR! D8943 -> Formula Error: Unexpected ,SpamBrainData
DEPRECATEDQuarantineWhitelistPerDocData!ERROR! D8944 -> Formula Error: Unexpected ,boolean
tundraClusterIdThis field is propagated to shards. Stores clustering information on a site level for the Tundra project. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8945 -> Formula Error: Unexpected ,integer
bodyWordsToTokensRatioTotalPerDocData!ERROR! D8946 -> Formula Error: Unexpected ,number
homepagePagerankNsThe page-rank of the homepage of the site. Copied from the cdoc.doc().pagerank_ns() of the homepage.PerDocData!ERROR! D8947 -> Formula Error: Unexpected ,integer
topPetacatTaxIdTop petacat of the site. Used in SiteboostTwiddler to determine result/query matching.PerDocData!ERROR! D8948 -> Formula Error: Unexpected ,integer
OriginalContentScoreThe original content score is represented as a 7-bits, going from 0 to 127. Only pages with little content have this field. The actual original content score ranges from 0 to 512. It is encoded with quality_q2::OriginalContentUtil::EncodeOriginalContentScore(). To decode the value, use quality_q2::OriginalContentUtil::DecodeOriginalContentScore().PerDocData!ERROR! D8949 -> Formula Error: Unexpected ,integer
contentAttributionsPerDocData!ERROR! D8950 -> Formula Error: Unexpected ,ContentAttributions
webmirrorEcnFpPerDocData!ERROR! D8951 -> Formula Error: Unexpected ,String
DocLevelSpamScoreThe document spam score is represented as a 7-bits, going from 0 to 127.PerDocData!ERROR! D8952 -> Formula Error: Unexpected ,integer
urlPoisoningDataContains url poisoning data for suppressing spam documents.PerDocData!ERROR! D8953 -> Formula Error: Unexpected ,UrlPoisoningData
EventFree form debug info. NB2: consider carefully what to save here. It’s easy to eat lots of gfs space with debug info that nobody needs…PerDocData!ERROR! D8954 -> Formula Error: Unexpected ,list(PerDocDebugEvent)
mediaOrPeopleEntitiesContains the mids of the 5 most topical entities annotated with selected KG collections. This information is currently used on Image Search to detect cases where results converged to mostly a single person or media entity. More details: go/result-set-convergence.PerDocData!ERROR! D8955 -> Formula Error: Unexpected ,ImageQualitySensitiveMediaOrPeopleEntities
scaledSelectionTierRankSelection tier rank is a language normalized score ranging from 0-32767 over the serving tier (Base, Zeppelins, Landfills) for this document. This is converted back to fractional position within the index tier by scaled_selection_tier_rank/32767.PerDocData!ERROR! D8956 -> Formula Error: Unexpected ,integer
pageTagsPerDocData!ERROR! D8957 -> Formula Error: Unexpected ,list(integer)
smearingMaxTotalOffdomainAnchorsPerDocData!ERROR! D8958 -> Formula Error: Unexpected ,integer
pagerankExperimental pageranks (DEPRECATED; only pagerank in MustangBasicInfo is used).PerDocData!ERROR! D8959 -> Formula Error: Unexpected ,number
QuarantineInfobitmask of QuarantineBits (or’d together) used to store quarantine related information. For example: QUARANTINE_WHITELIST | QUARANTINE_URLINURL.PerDocData!ERROR! D8960 -> Formula Error: Unexpected ,integer
rosettaLanguagesTop two document language BCP-47 codes as generated by the RosettaLanguageAnnotator in the decreasing order of probability.PerDocData!ERROR! D8961 -> Formula Error: Unexpected ,list(String)
freshnessEncodedSignalsStores freshness and aging related data, such as time-related quality metrics predicted from url-pattern level signals. Use the encoding decoding API in quality/freshness/docclassifier/aging/encoded-pattern-signals.h This field is deprecated.PerDocData!ERROR! D8962 -> Formula Error: Unexpected ,String
imagedataPerDocData!ERROR! D8963 -> Formula Error: Unexpected ,ImagePerDocData
videoCorpusDocidPerDocData!ERROR! D8964 -> Formula Error: Unexpected ,String
queriesForWhichOfficialThe set of (query, country, language) triples for which this document is considered to be the official page. For example, www.britneyspears.com would be official for (“britney spears”, “us”, 0) and others (0 is English).PerDocData!ERROR! D8965 -> Formula Error: Unexpected ,OfficialPagesQuerySet
nsrIsCovidLocalAuthorityThis field is propagated to shards. In addition, it is populated at serving time by go/web-signal-joins. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8966 -> Formula Error: Unexpected ,boolean
crawlerIdProtoFor crawler-ID variations, the crawling context applied to the document. See go/url, and the description in google3/indexing/crawler_idPerDocData!ERROR! D8967 -> Formula Error: Unexpected ,LogsProtoIndexingCrawlerIdCrawlerIdProto
ScaledSpamScoreEricPerDocData!ERROR! D8968 -> Formula Error: Unexpected ,integer
biasingdataPerDocData!ERROR! D8969 -> Formula Error: Unexpected ,BiasingPerDocData
ScaledExptSpamScoreEricPerDocData!ERROR! D8970 -> Formula Error: Unexpected ,integer
v2KnexAnnotationFor indexing v2 k’nex, see/go/knex-v2-doc-annotation for details.PerDocData!ERROR! D8971 -> Formula Error: Unexpected ,QualitySherlockKnexAnnotation
MobileDataAdditional metadata for lowend mobile documents in the Google index.PerDocData!ERROR! D8972 -> Formula Error: Unexpected ,MobilePerDocData
BookCitationDatathe book citation data for each web page, the average size is about 10 bytesPerDocData!ERROR! D8973 -> Formula Error: Unexpected ,BookCitationPerDocData
semanticDateSemanticDate, estimated date of the content of a document based on the contents of the document (via parsing), anchors and related documents. Date is encoded as a 32-bits UNIX date (1970 Jan 1 epoch). Confidence is encoded using a SemanticDate specific format. For details of encoding, please refer to quality/freshness/docclassifier/semanticdate/public/semantic_date.protoPerDocData!ERROR! D8974 -> Formula Error: Unexpected ,integer
biasingdata2A replacement for BiasingPerDocData that is more space efficient. Once this is live everywhere, biasingdata will be deprecated.PerDocData!ERROR! D8975 -> Formula Error: Unexpected ,BiasingPerDocData2
ymylNewsScoreStores scores of ymyl news classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.PerDocData!ERROR! D8976 -> Formula Error: Unexpected ,integer
saftLanguageIntTop document language as generated by SAFT LangID. For now we store bare minimum: just the top 1 language value, converted to the language enum, and only when different from the first value in ‘languages’.PerDocData!ERROR! D8977 -> Formula Error: Unexpected ,list(integer)
rsApplicationApplication information associated to the document.PerDocData!ERROR! D8978 -> Formula Error: Unexpected ,RepositoryAnnotationsRdfaRdfaRichSnippetsApplication
domainAge16-bitPerDocData!ERROR! D8979 -> Formula Error: Unexpected ,integer
lastSignificantUpdateInfoMetadata about last significant update. Currently this only encodes the quality_timebased.LastSignificantUpdate.source field which contains the info on the source of the signal. NOTE: Please do not read the value directly. Use helpers from quality/timebased/lastsignificantupdate/lsu-helper.h instead.PerDocData!ERROR! D8980 -> Formula Error: Unexpected ,String
pagerank1PerDocData!ERROR! D8981 -> Formula Error: Unexpected ,number
spamCookbookActionActions based on Cookbook recipes that match the page.PerDocData!ERROR! D8982 -> Formula Error: Unexpected ,SpamCookbookAction
compressedUrlCompressed URL string used for SETI.PerDocData!ERROR! D8983 -> Formula Error: Unexpected ,String
extraDataThis field is available only in the docjoins: it is cleared before building per-doc data in both Mustang and Teragoogle. (MessageSet is inefficient in space for serving data) Use this for all new fields that aren’t needed during serving. Currently this field contains: * UrlSignals for the document level spam classifier (when the doclevelspamscore is set). * PerDocLangidData and realtimespam::ClassifierResult for the document level fresh spam classifier (when the doc-level fresh spam score is generated). * MicroblogDocQualitySignals for document-level microblog spam classifier. This only exists in Firebird for now. * spam_buckets::BucketsData for a document-structure hash This field is non-personal since the personal fields in MessageSet are not populated in production.PerDocData!ERROR! D8984 -> Formula Error: Unexpected ,Proto2BridgeMessageSet
socialgraphNodeNameFpFor Social Search we store the fingerprint of the SG node name. This is used in one of the superroot’s PRE_DOC twiddlers as a lookup key for the full Social Search data. PRE_DOC = twiddlers firing before the DocInfo request is sent to the mustang backend.PerDocData!ERROR! D8985 -> Formula Error: Unexpected ,String
urlAfterRedirectsFpThese two fingerprints are used for de-duping results in a twiddler. They should only be populated by freshdocs, and will only be present for documents that are chosen to be canonicals in a cluster whose previous canonical is also in the index. Additionally, url_after_redirects_fp is only present if it is different from a fingerprint of the URL.PerDocData!ERROR! D8986 -> Formula Error: Unexpected ,String
localizedClusterInformation on localized clusters, which is the relationship of translated and/or localized pages.PerDocData!ERROR! D8987 -> Formula Error: Unexpected ,IndexingDupsLocalizedLocalizedCluster
pageregionsString that encodes the position ranges for different regions of the document. See “indexer/pageregion.h” for an explanation, and how to decode the stringPerDocData!ERROR! D8988 -> Formula Error: Unexpected ,String
KeywordStuffingScoreThe keyword stuffing score is represented in 7 bits, going from 0 to 127.PerDocData!ERROR! D8989 -> Formula Error: Unexpected ,integer
spambrainTotalDocSpamScoreThe document total spam score identified by spambrain, going from 0 to 1.PerDocData!ERROR! D8990 -> Formula Error: Unexpected ,number
noimageframeoverlayreasonIf not 0, we should not show the image in overlay mode in image snippetsPerDocData!ERROR! D8991 -> Formula Error: Unexpected ,integer
scienceHoldingsIdsDeprecated 2016/01/14.PerDocData!ERROR! D8992 -> Formula Error: Unexpected ,list(String)
crawlPagerankThis field is used internally by the docjoiner to forward the crawl pageranks from original canonicals to canonicals we actually chose; outside sources should not set it, and it should not be present in actual docjoins or the index.PerDocData!ERROR! D8993 -> Formula Error: Unexpected ,integer
BlogDataPerDocData!ERROR! D8994 -> Formula Error: Unexpected ,BlogPerDocData
nsrIsVideoFocusedSiteThis field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/170607253). Bit indicating whether this site is video-focused, but not hosted on any major known video hosting domains. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8995 -> Formula Error: Unexpected ,boolean
ScaledExptSpamScoreYoramPerDocData!ERROR! D8996 -> Formula Error: Unexpected ,integer
spamrankThe spamrank measures the likelihood that this document links to known spammers. Its value is between 0 and 65535.PerDocData!ERROR! D8997 -> Formula Error: Unexpected ,integer
compressedQualitySignalsPerDocData!ERROR! D8998 -> Formula Error: Unexpected ,CompressedQualitySignals
videodataPerDocData!ERROR! D8999 -> Formula Error: Unexpected ,VideoPerDocData
s3AudioLanguagePrimary video’s audio language classified by S3 based Automatic Language Identification (only for watch pages).PerDocData!ERROR! D9000 -> Formula Error: Unexpected ,S3AudioLanguageS3AudioLanguage
watchpageLanguageResultLanguage classified by the WatchPageLanguage Model (go/watchpage-language). Only present for watch pages.PerDocData!ERROR! D9001 -> Formula Error: Unexpected ,WatchpageLanguageWatchPageLanguageResult
appsLinkAppsLink contains Android application IDs in outlinks. It is used to improve results ranking within applications universal. See http://go/apps-universal for the project details.PerDocData!ERROR! D9002 -> Formula Error: Unexpected ,QualityCalypsoAppsLink
desktopInterstitialsContains desktop interstitials signal for VOLT ranking change.PerDocData!ERROR! D9003 -> Formula Error: Unexpected ,IndexingMobileInterstitialsProtoDesktopInterstitials
liveResultsDataPerDocData!ERROR! D9004 -> Formula Error: Unexpected ,WeboftrustLiveResultsDocAttachments
crowdingdataPerDocData!ERROR! D9005 -> Formula Error: Unexpected ,CrowdingPerDocData
nsrSitechunkSiteChunk computed for nsr. It some cases it can use more information than just url (e.g. youtube channels). See NsrAnnotator for details. If sitechunk is longer than –populate_nsr_sitechunk_max_length (default=100), it will not get populated. This field might be compressed and needs to be decoded with quality_nsr::util::DecodeNsrSitechunk. See go/nsr-chunks for more details. This field contains only nontrivial primary chunks.PerDocData!ERROR! D9006 -> Formula Error: Unexpected ,String
originalTitleHardTokenCountThe number of hard tokens in the title.PerDocData!ERROR! D9007 -> Formula Error: Unexpected ,integer
hostAgeThe earliest firstseen date of all pages in this host/domain. These data are used in twiddler to sandbox fresh spam in serving time. It is 16 bit and the time is day number after 2005-12-31, and all the previous time are set to 0. If this url’s host_age == domain_age, then omit domain_age Please use //spam/content/siteage-util.h to convert the day between epoch second. Regarding usage of Sentinel values: We would like to check if a value exists in scoring bundle while using in Ranklab AST. For this having a sentinel value will help us know if the field exists or has a sentinel value (in the case it does not exist). 16-bitPerDocData!ERROR! D9008 -> Formula Error: Unexpected ,integer
inNewsstandThis field indicates whether the document is in the newsstand corpus.PerDocData!ERROR! D9009 -> Formula Error: Unexpected ,boolean
originPerDocData!ERROR! D9010 -> Formula Error: Unexpected ,integer
launchAppInfoInfo on how to launch a mobile app to consume this document’s content, if applicable (see go/calypso).PerDocData!ERROR! D9011 -> Formula Error: Unexpected ,QualityRichsnippetsAppsProtosLaunchAppInfoPerDocData
eventsDateDate for Events. A web page might list multiple events with different dates. We only take one date (start date) per event.PerDocData!ERROR! D9012 -> Formula Error: Unexpected ,list(String)
homePageInfoPerDocData!ERROR! D9013 -> Formula Error: Unexpected ,integer
GibberishScoreThe gibberish score is represented in 7 bits, going from 0 to 127.PerDocData!ERROR! D9014 -> Formula Error: Unexpected ,integer
toolbarPagerankA copy of the value stored in /namespace/indexing/wwwglobal//fakepr/* for this document. A value of quality_bakery::FakeprUtils::kUnknownToolbarPagerank indicates that we don’t have toolbar pagerank for this document. A value between 0 and 10 (inclusive) means that this is the toolbar pagerank of the page. Finally, if this value is not set it means that the toolbar pagerank is equivalent to: quality_bakery::FakeprUtils::EstimatePreDemotionFromPagerankNearestSeeds( basic_info.pagerank_ns()) called on the MustangBasicInfo attachment for the same document.PerDocData!ERROR! D9015 -> Formula Error: Unexpected ,integer
freshboxArticleScoresStores scores of freshness-related classifiers: freshbox article score, live blog score and host-level article score. The encoding/decoding API is in quality/freshness/freshbox/goldmine/freshbox_annotation_encoder.h. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_RYXS2lX2IV.PerDocData!ERROR! D9016 -> Formula Error: Unexpected ,integer
WhirlpoolDiscountPerDocData!ERROR! D9017 -> Formula Error: Unexpected ,number
ScaledExptIndyRank3experimentalPerDocData!ERROR! D9018 -> Formula Error: Unexpected ,integer
ToolBarDataPerDocData!ERROR! D9019 -> Formula Error: Unexpected ,ToolBarPerDocData
nsrIsElectionAuthorityThis field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/168114815). This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D9020 -> Formula Error: Unexpected ,boolean
onsiteProminenceOnsite prominence measures the importance of the document within its site. It is computed by propagating simulated traffic from the homepage and high craps click pages. It is a 13-bit int.PerDocData!ERROR! D9021 -> Formula Error: Unexpected ,integer
travelGoodSitesInfoThis field stores information about good travel sites.PerDocData!ERROR! D9022 -> Formula Error: Unexpected ,QualityTravelGoodSitesData
IsAnchorBayesSpamIs this document considered spam by the anchor bayes classifier?PerDocData!ERROR! D9023 -> Formula Error: Unexpected ,boolean
isHotdocSet by the FreshDocs instant doc joiner. See //indexing/instant/hotdocs/README and http://go/freshdocs-hotdocs.PerDocData!ERROR! D9024 -> Formula Error: Unexpected ,boolean
commercialScoreA measure of commerciality of the document Score > 0 indicates document is commercial (i.e. sells something) Computed by repository/pageclassifiers/parsehandler-commercial.ccPerDocData!ERROR! D9025 -> Formula Error: Unexpected ,number
asteroidBeltIntentsFor indexing Asteroid Belt intent scores. See go/asteroid-belt for details.PerDocData!ERROR! D9026 -> Formula Error: Unexpected ,QualityOrbitAsteroidBeltDocumentIntentScores
TagPageScoreTag-site-ness of a page, repesented in 7-bits range from 0 to 100. Smaller value means worse tag page.PerDocData!ERROR! D9027 -> Formula Error: Unexpected ,integer
geodatageo data; approx 24 bytes for 23M U.S. pagesPerDocData!ERROR! D9028 -> Formula Error: Unexpected ,String
oceandata28 bytes per page, only in the Ocean indexPerDocData!ERROR! D9029 -> Formula Error: Unexpected ,OceanPerDocData
pagerank0PerDocData!ERROR! D9030 -> Formula Error: Unexpected ,number
SpamWordScoreThe spamword score is represented in 7-bits, going from 0 to 127.PerDocData!ERROR! D9031 -> Formula Error: Unexpected ,integer
ScaledIndyRankThe independence rank is represented as a 16-bit integer, which is multiplied by (max_indy_rank / 65536) to produce actual independence rank values. max_indy_rank is typically 0.84.PerDocData!ERROR! D9032 -> Formula Error: Unexpected ,integer
bodyWordsToTokensRatioBeginThe body words over tokens ratios for the beginning part and whole doc. NB: To save space, field body_words_to_tokens_ratio_total is not set if it has the same value as body_words_to_tokens_ratio_begin (e.g., short docs).PerDocData!ERROR! D9033 -> Formula Error: Unexpected ,number
topPetacatWeightPerDocData!ERROR! D9034 -> Formula Error: Unexpected ,number
fireflySiteSignalContains Site signal information for Firefly ranking change. See http://ariane/313938 for more details.PerDocData!ERROR! D9035 -> Formula Error: Unexpected ,QualityCopiaFireflySiteSignal
titleHardTokenCountWithoutStopwordsNumber of hard tokens originally in title without counting the stopwords.PerDocData!ERROR! D9036 -> Formula Error: Unexpected ,integer
hostNsrSite rank computed for host-level sitechunks. This value encodes nsr, site_pr and new_nsr. See quality_nsr::util::ConvertNsrDataToHostNsr and go/nsr. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D9037 -> Formula Error: Unexpected ,integer
semanticDateInfoInfo is encoded using a SemanticDate specific format. Contains confidence scores for day/month/year components as well as various meta data required by the freshness twiddlers.PerDocData!ERROR! D9038 -> Formula Error: Unexpected ,integer
languagesPlausible languages in order of decreasing plausibility. Language values are small, IE < 127 so this should compress to one byte each.PerDocData!ERROR! D9039 -> Formula Error: Unexpected ,list(integer)
GroupsData16 bytes of groups2 data: used only in groups2 indexPerDocData!ERROR! D9040 -> Formula Error: Unexpected ,GroupsPerDocData
countryInfoThis field stores the country information for the document in the form of CountryAttachment.PerDocData!ERROR! D9041 -> Formula Error: Unexpected ,CountryCountryAttachment
brainlocBrainloc contains location information for the document. See ariane/273189 for details.PerDocData!ERROR! D9042 -> Formula Error: Unexpected ,QualityGeoBrainlocBrainlocAttachment
ScaledLinkAgeSpamScoreEnd DEPRECATED ———————————————————— Link age score is represented as a 7-bit integer, going from 0 to 127.PerDocData!ERROR! D9043 -> Formula Error: Unexpected ,integer
ScaledExptIndyRankDEPRECATED —————————————————————- Please do not use these fields in any new code. experimentalPerDocData!ERROR! D9044 -> Formula Error: Unexpected ,integer
shingleInfoPerDocData!ERROR! D9045 -> Formula Error: Unexpected ,ShingleInfoPerDocData
productSitesInfoThis field stores information about product sites.PerDocData!ERROR! D9046 -> Formula Error: Unexpected ,QualityProductProductSiteData
spambrainDomainSitechunkDataDomain sitechunk level scores coming from spambrain.PerDocData!ERROR! D9047 -> Formula Error: Unexpected ,SpamBrainData
voltDataContains page UX signals for VOLT ranking change. See http://ariane/4025970 for more details.PerDocData!ERROR! D9048 -> Formula Error: Unexpected ,IndexingMobileVoltVoltPerDocData
timeSensitivityEncoded Document Time Sensitivity signal.PerDocData!ERROR! D9049 -> Formula Error: Unexpected ,integer
servingTimeClusterIdsA set of cluster ids which are generated in Alexandria and used to de-dup results at serving time.PerDocData!ERROR! D9050 -> Formula Error: Unexpected ,IndexingDocjoinerServingTimeClusterIds
Messagedepends on the sourcePerDocDebugEventFree form debug information from various components.String
Sourcesource tag, helps interpret value/messagePerDocDebugEventFree form debug information from various components.String
Timestampseconds since the epochPerDocDebugEventFree form debug information from various components.integer
Valuedepends on the sourcePerDocDebugEventFree form debug information from various components.String
subIdA unique identifier for this alias, this identifier is unique to the type of this Alias. This means that aliases of different types can have the same sub_id, hence always use the full AliasId message to refer to an alias, not this field only. Because HOME and WORK aliases are unique, aliases of type HOME or WORK always have sub_id 0.PersonalizationMapsAliasAliasIdA unique association of an AliasType and a number to identify this alias.String
typePersonalizationMapsAliasAliasIdA unique association of an AliasType and a number to identify this alias.String
aliasIdThe id of the alias associated with this point. This is used to query for details for the info window and to display different icons depending on the AliasType contained in this message.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18PersonalizationMapsAliasAliasId
droppedPinS2cellIdIf this is a dropped pin alias, the leaf (level 30) S2 cell ID corresponding to the aliased lat/lng. Calculated once and stored here so that it can safely be used as an identifier across clients without risk of rounding differences leading to different values.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
featureIdThe featureid that was associated with the alias when it was saved. If this is not set the lat/lng in ‘point’ is the aliased entity, i.e. this is a dropped pin alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18GeostoreFeatureIdProto
featureNameFor non-address feature aliases (e.g. businesses), the name of the feature (formatted from the FeatureProto) when it was saved.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
featureTypeThe type of the feature associated with the alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
formattedAddressOne-line geocoded address that this lat/lng represents at the time this alias was created by the user.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
isAdsJoinCompliantIndicates whether this alias is Ads join compliant for use by 3p clients. See go/ios_address and go/aliased-locations-provenance for more details. Please contact oolong-team@ for additional questions regarding usage of this field.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18boolean
nicknameFree-text alias if alias type is NICKNAME. Otherwise unset. Limited to 40 characters.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
pointlat/lng the icon is to be shown at.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18GeostorePointProto
ptokenEncapsulates the privacy policy relevant signals for this event. See go/kansas-embedded-ptokens for additional details. Keep the type fully qualified in case (when) we decide to make proto compiler enforce ‘.ptoken.PToken’ as the only allowed type for the field number 9099. Hence, don’t remove the leading ‘.’. See go/protobuf-ptoken-field for details around the 9099 field number.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18PtokenPToken
stickerIdThe id of the sticker asset chosen by the user to replace the default asset for the alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18integer
syntheticFeatureIf the feature associated with the alias has synthetic_geometry.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18boolean
timestamp[INTERNAL ONLY] Last update of bigtable by kansas, in microseconds. Volatile only and not saved in kansas column. inmemory only because >= 16.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
opaRecipesContextContexts regarding the preferences from OPA_RECIPES.PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadataMetadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContext
uiEntryPointThe UI entry point from which the entity preference was set.PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadataMetadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.String
docIdThe recipe doc id where the setting comes from.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContextLINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don’t like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.String
urlThe recipe url where the setting comes from.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContextLINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don’t like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.String
PhilStringphil data , approx 70 bytes for top 500MPhilPerDocDataString
PhilVersionPhilPerDocDatainteger
durationMsThe duration of the animation or movie (not including any looping), in milliseconds. If there is only a single frame (and thus not animated), the duration will be 0.PhotosAnimationMetadataString
loopCountThe number of times the animation plays. If 0, the animation will loop indefinitely. If positive, this number includes the initial playthrough. For example, a value of 3 means that each frame is shown 3 times.PhotosAnimationMetadatainteger
numFramesPhotosAnimationMetadataString
versionCurrently there are two versions of DynamicDepth (go/ddv2). DynamicDepth photos without a set version should be assumed to be ddv1.PhotosDynamicDepthMetadataMetadata pertaining to nested Dynamic Depth metadata. Currently this message is used to indicate the presence of dynamic depth.integer
captionPhotosFourCMetadataString
copyrightPhotosFourCMetadataString
creatorPhotosFourCMetadatalist(String)
creditPhotosFourCMetadataString
farDepth map far plane distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.number
formatDepth map format.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
imageHeightDepth map source image height.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.integer
imageWidthDepth map source image width.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.integer
mimeDepth map mime type.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
nearDepth map near plane distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.number
unitsDepth map units of distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
gainmapIndicates the presence of some kind of gainmap-utilizing format.PhotosHdrMetadataHDR Metadata describes in what way an image expresses high dynamic range information (e.g. using a gainmap or a specialized color space).PhotosHdrMetadataGainmap
adobeHdrIndicates that this image can be processed as an Adobe HDR (FlexDR) image by reading the MPF segments.PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
appleHdrIndicates that this image can be processed as an Apple HDR image by reading the MPF segments (if JPEG) or HEIF segments (if HEIC).PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
googleHdrIndicates that this image can be processed as a go/ghdr (UltraHDR) image by reading the GContainer in the primary XMP block.PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
relationPhotosImageMetadataNext tag value: 384.list(String)
freebytecountsPhotosImageMetadataNext tag value: 384.String
exposureindexPhotosImageMetadataNext tag value: 384.number
gdepthMetadataPhotosImageMetadataNext tag value: 384.PhotosGDepthMetadata
addlmodelinfoPhotosImageMetadataNext tag value: 384.String
redeyemodePhotosImageMetadataNext tag value: 384.boolean
captionwriterPhotosImageMetadataNext tag value: 384.String
organisationinimagenamePhotosImageMetadataNext tag value: 384.list(String)
productidPhotosImageMetadataNext tag value: 384.list(String)
ratingPhotosImageMetadataNext tag value: 384.number
colormapPhotosImageMetadataNext tag value: 384.integer
countrycodePhotosImageMetadataNext tag value: 384.String
stitchingsoftwarePhotosImageMetadataNext tag value: 384.String
croppedareaimageheightpixelsPhotosImageMetadataNext tag value: 384.integer
statePhotosImageMetadataNext tag value: 384.String
usagetermsPhotosImageMetadataNext tag value: 384.String
DEPRECATEDLargestvalidinteriorrectheightPhotosImageMetadataNext tag value: 384.integer
lensinfoPhotosImageMetadataNext tag value: 384.String
modelreleaseidPhotosImageMetadataNext tag value: 384.list(String)
referencedatePhotosImageMetadataNext tag value: 384.list(String)
expirationdatePhotosImageMetadataNext tag value: 384.String
gpsdestdistancerefPhotosImageMetadataNext tag value: 384.String
webstatementPhotosImageMetadataNext tag value: 384.String
subjectareaPhotosImageMetadataNext tag value: 384.integer
headlinePhotosImageMetadataNext tag value: 384.String
relatedsoundfilePhotosImageMetadataNext tag value: 384.String
gpsmeasuremodePhotosImageMetadataNext tag value: 384.String
xresolutionPhotosImageMetadataNext tag value: 384.number
functionPhotosImageMetadataNext tag value: 384.boolean
advisoryPhotosImageMetadataNext tag value: 384.list(String)
formatPhotosImageMetadataNext tag value: 384.String
captionCaption embedded in IPTCPhotosImageMetadataNext tag value: 384.String
gimagemimePhotosImageMetadataNext tag value: 384.String
customrenderedPhotosImageMetadataNext tag value: 384.integer
relatedimagefileformatPhotosImageMetadataNext tag value: 384.String
maxavailwidthPhotosImageMetadataNext tag value: 384.integer
chromasubsamplingA typed representation that translates the values from ycbcrsubsampling.PhotosImageMetadataNext tag value: 384.String
gpsdestdistancePhotosImageMetadataNext tag value: 384.number
propertyreleaseidPhotosImageMetadataNext tag value: 384.list(String)
datePhotosImageMetadataNext tag value: 384.String
sensorheightPhotosImageMetadataNext tag value: 384.number
initialviewheadingdegreesPhotosImageMetadataNext tag value: 384.integer
yresolutionPhotosImageMetadataNext tag value: 384.number
bitspersampleStart of reflected fields. These do not duplicate the above fields.PhotosImageMetadataNext tag value: 384.integer
gcameraspecialtypeidCamera creations metadata. The opaque id string created by the OEM. For bursts, this field should not be present. Instead, the two properties below will allow Photos to identify and provide special treatment for bursts.PhotosImageMetadataNext tag value: 384.String
rotateThis field is deprecated. Rotation is now accomplished via ImageInfo.exif_orientation and ImageInfo.edit_list. WARNING: the presence of rotate is used by FIFE to identify older images. Setting this (even to the correct number of degrees) on newer images can cause incorrectly rotated thumbnails. This was the cause of omg/58543 Number of degrees (0, 90, 180, 270)PhotosImageMetadataNext tag value: 384.integer
ciadrpcodePhotosImageMetadataNext tag value: 384.String
microvideooriginaloffsetThis is similar to gcameramicrovideooffset, except it stores the unverified value that was provided in the motion photo file. This field is not part of the XMP or spec. It is used to ensure we preserve data from the original file when offset is modified.PhotosImageMetadataNext tag value: 384.integer
mimeTypeMime type of imagePhotosImageMetadataNext tag value: 384.integer
posepitchdegreesPhotosImageMetadataNext tag value: 384.number
minsamplevaluePhotosImageMetadataNext tag value: 384.integer
iptclasteditedPhotosImageMetadataNext tag value: 384.String
maxaperturevaluePhotosImageMetadataNext tag value: 384.number
motionphotovideodataboxheaderThe Motion Photo Video Data (MPVD) box header of a HEIF motion photo. It is used for reconstructing the original moton photo bytes. See go/photos-be-heic-motion-photos for more details.PhotosImageMetadataNext tag value: 384.String
ciadrregionPhotosImageMetadataNext tag value: 384.String
envelopenumberPhotosImageMetadataNext tag value: 384.String
subjectlocationPhotosImageMetadataNext tag value: 384.integer
gpsdopPhotosImageMetadataNext tag value: 384.number
sensingmethodPhotosImageMetadataNext tag value: 384.integer
widthwidth and height are before any rotation (including EXIF orientation).PhotosImageMetadataNext tag value: 384.integer
ownernamePhotosImageMetadataNext tag value: 384.String
stripbytecountsPhotosImageMetadataNext tag value: 384.String
gcameramicrovideoThe following XMP metadata are used specifically for MicroVideo. More information about MicroVideo format can be found at go/photos-microvideo-format A value of 1 indicates that this file was a MicroVideo at capture time. Otherwise, this is not a MicroVideo (not set or 0).PhotosImageMetadataNext tag value: 384.integer
orientationExif camera orientation. “1” means “no rotation”.PhotosImageMetadataNext tag value: 384.integer
heightPhotosImageMetadataNext tag value: 384.integer
subjectcodePhotosImageMetadataNext tag value: 384.list(String)
DEPRECATEDLargestvalidinteriorrecttopPhotosImageMetadataNext tag value: 384.integer
gpsstatusPhotosImageMetadataNext tag value: 384.String
timesentPhotosImageMetadataNext tag value: 384.String
gpsdatestampThis is in UTC time. Format is YYYY:mm:dd.PhotosImageMetadataNext tag value: 384.String
ciurlworkPhotosImageMetadataNext tag value: 384.String
DEPRECATEDGpstimestampThis field was originally marked incorrectly as optional (rather than repeated). In order to fix it, the first field has been marked as deprecated and replaced with a field with a new name and tag number.PhotosImageMetadataNext tag value: 384.number
photometricinterpretationPhotosImageMetadataNext tag value: 384.integer
relatedimagewidthPhotosImageMetadataNext tag value: 384.String
gcameramotionphotoAn indication that this item should be treated as a Motion Photo. 0 -> Not Motion Photo, 1 -> Motion Photo, everything else is undefined per the spec. If it’s a motion photo, the previous gcamera fields should be ignored.PhotosImageMetadataNext tag value: 384.integer
projectiontypePhotosImageMetadataNext tag value: 384.String
aperturevaluePhotosImageMetadataNext tag value: 384.number
ycbcrsubsamplingPhotosImageMetadataNext tag value: 384.integer
markedPhotosImageMetadataNext tag value: 384.boolean
keywordPhotosImageMetadataNext tag value: 384.list(String)
contributorPhotosImageMetadataNext tag value: 384.list(String)
countryPhotosImageMetadataNext tag value: 384.String
dynamicDepthMetadataDynamicDepth (go/dynamic-depth) metadata is described in the metadata of sub-images in the container. The presence of this field can be used to determine that an image is in the dynamic depth format.PhotosImageMetadataNext tag value: 384.PhotosDynamicDepthMetadata
croppedareaimagewidthpixelsPhotosImageMetadataNext tag value: 384.integer
lightsourcePhotosImageMetadataNext tag value: 384.integer
brightnessvaluePhotosImageMetadataNext tag value: 384.number
sublocationPhotosImageMetadataNext tag value: 384.String
DEPRECATEDLargestvalidinteriorrectwidthPhotosImageMetadataNext tag value: 384.integer
exposuremodePhotosImageMetadataNext tag value: 384.integer
DEPRECATEDLargestvalidinteriorrectleftPhotosImageMetadataNext tag value: 384.integer
imagetypePhotosImageMetadataNext tag value: 384.String
longitude+/- 180 inclusivePhotosImageMetadataNext tag value: 384.float
gpstrackPhotosImageMetadataNext tag value: 384.number
gpstrackrefPhotosImageMetadataNext tag value: 384.String
focalplanexresPhotosImageMetadataNext tag value: 384.number
exposuretimePhotosImageMetadataNext tag value: 384.number
compressedbitsperpixelPhotosImageMetadataNext tag value: 384.number
urgencyPhotosImageMetadataNext tag value: 384.String
subjectdistancerangePhotosImageMetadataNext tag value: 384.integer
baseurlPhotosImageMetadataNext tag value: 384.String
objectattributereferencePhotosImageMetadataNext tag value: 384.list(String)
meteringmodePhotosImageMetadataNext tag value: 384.integer
compressionlevelPhotosImageMetadataNext tag value: 384.integer
gpsdestlongituderefPhotosImageMetadataNext tag value: 384.String
focalplaneunitsPhotosImageMetadataNext tag value: 384.number
audiodurationPhotosImageMetadataNext tag value: 384.String
imageorientationPhotosImageMetadataNext tag value: 384.String
exposurebiasPhotosImageMetadataNext tag value: 384.number
citelworkPhotosImageMetadataNext tag value: 384.String
maxavailheightPhotosImageMetadataNext tag value: 384.integer
audiosamplingresolutionPhotosImageMetadataNext tag value: 384.String
xmp4cPhotosImageMetadataNext tag value: 384.PhotosFourCMetadata
gpsimgdirectionPhotosImageMetadataNext tag value: 384.number
distancePhotosImageMetadataNext tag value: 384.number
animationMetadataPhotosImageMetadataNext tag value: 384.PhotosAnimationMetadata
altitudePhotosImageMetadataNext tag value: 384.float
cameraidPhotosImageMetadataNext tag value: 384.String
whitebalancePhotosImageMetadataNext tag value: 384.integer
flashreturnPhotosImageMetadataNext tag value: 384.integer
expirationtimePhotosImageMetadataNext tag value: 384.String
envelopepriorityPhotosImageMetadataNext tag value: 384.String
bitDepthThe number of bits per pixel used to express a color. Most images have 8-bit depth and Photos/thumbnailer currently do not support more than 8 bits (except RAW).PhotosImageMetadataNext tag value: 384.integer
gcameramotionphotoversionIndicates the Motion Photo version of the spec (initially 1).PhotosImageMetadataNext tag value: 384.integer
organisationinimagecodePhotosImageMetadataNext tag value: 384.list(String)
lensidPhotosImageMetadataNext tag value: 384.String
gpsdestbearingrefPhotosImageMetadataNext tag value: 384.String
locationshownPhotosImageMetadataNext tag value: 384.list(String)
originatingprogramPhotosImageMetadataNext tag value: 384.String
minormodelagedisclosurePhotosImageMetadataNext tag value: 384.String
releasedatePhotosImageMetadataNext tag value: 384.String
modePhotosImageMetadataNext tag value: 384.integer
maxsamplevaluePhotosImageMetadataNext tag value: 384.integer
fullpanowidthpixelsPhotosImageMetadataNext tag value: 384.integer
focallengthPhotosImageMetadataNext tag value: 384.number
hdrMetadataIndicates that the image has some form of HDR present or available to it.PhotosImageMetadataNext tag value: 384.PhotosHdrMetadata
panoramaMetadataPhotosImageMetadataNext tag value: 384.PhotosPanoramaMetadata
gpsspeedrefPhotosImageMetadataNext tag value: 384.String
thumbnailerBuildClThe build CL for the version of thumbnailer that built this image.PhotosImageMetadataNext tag value: 384.integer
lastphotodatePhotosImageMetadataNext tag value: 384.String
capturesoftwarePhotosImageMetadataNext tag value: 384.String
gcameraburstprimaryA value of 1 indicates that this was the primary (“best shot”) at capture time. Within Photos we should only treat this image as the best shot if the user hasn’t made an explicit choice. Defining the initial primary allows consistency between OEMs, Photos clients, and the Photos backend. This value is optional, cameras are not required to set it on any photo in a burst. Clients will default to the 0th frame, but may run an algorithm to pick a better default.PhotosImageMetadataNext tag value: 384.integer
scenecapturetypePhotosImageMetadataNext tag value: 384.integer
gaincontrolPhotosImageMetadataNext tag value: 384.integer
cellwidthPhotosImageMetadataNext tag value: 384.integer
gpsimgdirectionrefPhotosImageMetadataNext tag value: 384.String
DEPRECATEDIscolorPhotosImageMetadataNext tag value: 384.integer
flashcompensationPhotosImageMetadataNext tag value: 384.number
coveragePhotosImageMetadataNext tag value: 384.String
isoequivalentPhotosImageMetadataNext tag value: 384.integer
DEPRECATEDBlendingtypePhotosImageMetadataNext tag value: 384.String
offsettimeoriginalPhotosImageMetadataNext tag value: 384.String
programversionPhotosImageMetadataNext tag value: 384.String
releasetimePhotosImageMetadataNext tag value: 384.String
datesentPhotosImageMetadataNext tag value: 384.String
gpsspeedPhotosImageMetadataNext tag value: 384.number
fullpanoheightpixelsPhotosImageMetadataNext tag value: 384.integer
datecreatedPhotosImageMetadataNext tag value: 384.String
offsettimedigitizedPhotosImageMetadataNext tag value: 384.String
locationPhotosImageMetadataNext tag value: 384.String
daylightsavings0 = no daylight savings, 1 = daylight savings enabled. Note that this field only represents whether the setting in the camera was turned on or off. It must not be used to modify the timestamp of the photo. That is, the capture time is already completely determined by exif_time, timezoneoffset and timezoneminutes.PhotosImageMetadataNext tag value: 384.list(integer)
gpsdestlatituderefPhotosImageMetadataNext tag value: 384.String
personinimagePhotosImageMetadataNext tag value: 384.list(String)
versionPhotosImageMetadataNext tag value: 384.String
DEPRECATEDProcessPhotosImageMetadataNext tag value: 384.integer
ciadrctryPhotosImageMetadataNext tag value: 384.String
intellectualgenrePhotosImageMetadataNext tag value: 384.String
referenceblackwhitePhotosImageMetadataNext tag value: 384.number
referencenumberPhotosImageMetadataNext tag value: 384.list(String)
languagePhotosImageMetadataNext tag value: 384.list(String)
contactPhotosImageMetadataNext tag value: 384.String
digitalzoomratioPhotosImageMetadataNext tag value: 384.number
hasAlphaThe image has an alpha channel (potential transparency). If the image is decoded, this will be updated to indicate whether there is any active transparency. Formats supporting alpha: png, webp, gif, heif.PhotosImageMetadataNext tag value: 384.boolean
usepanoramaviewerGPano-related fields. A handful of these have been deprecated due to a change in the spec since its initial design.PhotosImageMetadataNext tag value: 384.boolean
firmwarePhotosImageMetadataNext tag value: 384.String
resolutionunitPhotosImageMetadataNext tag value: 384.integer
initialviewpitchdegreesPhotosImageMetadataNext tag value: 384.integer
gcameramotionphotocreatorIndicates the creator of the Motion Photo. This will be set if the MotionPhoto was generated from a LivePhoto from the iOS to Android conversion tool.PhotosImageMetadataNext tag value: 384.String
spectralsensitivityPhotosImageMetadataNext tag value: 384.String
contentlocationnamePhotosImageMetadataNext tag value: 384.list(String)
digitalsourcetypePhotosImageMetadataNext tag value: 384.String
whitepointPhotosImageMetadataNext tag value: 384.number
timezoneoffsetThe elements in the timezone and daylight savings field arrays correspond to the following date/time fields: 0) datecreated (ie. DateTimeOriginal) 1) datetime (ie. DateTime or last modified date) 2) datetimedigitized (ie. DateTimeDigitized) If the field does not exist, then there is no valid time zone information for that date/time field. Offset in hours.PhotosImageMetadataNext tag value: 384.list(integer)
sourcePhotosImageMetadataNext tag value: 384.String
audiooutcuePhotosImageMetadataNext tag value: 384.String
subjectreferencePhotosImageMetadataNext tag value: 384.list(String)
flashusedPhotosImageMetadataNext tag value: 384.integer
propertyreleasestatusPhotosImageMetadataNext tag value: 384.String
datetimedigitizedPhotosImageMetadataNext tag value: 384.String
extrasamplesPhotosImageMetadataNext tag value: 384.integer
certificatePhotosImageMetadataNext tag value: 384.String
digimageguidPhotosImageMetadataNext tag value: 384.String
subsectimedigitizedPhotosImageMetadataNext tag value: 384.String
exposurelockusedPhotosImageMetadataNext tag value: 384.boolean
interoperabilityindexPhotosImageMetadataNext tag value: 384.String
eventPhotosImageMetadataNext tag value: 384.String
gpsdestlongitudePhotosImageMetadataNext tag value: 384.number
gaudiomimePhotosImageMetadataNext tag value: 384.String
exifTimeTimestamp embedded in the image. The value comes from the first valid date-time field extracted from the metadata in the order: 1) datecreated (ie. DateTimeOriginal) 2) datetimedigitized (ie. DateTimeDigitized) 3) datetime (ie. DateTime or last modified date) The type of this field is equivalent to a time_t (ie. number of seconds since the epoch – 00:00 hours, Jan 1, 1970) except that it is an int64 rather than an int.PhotosImageMetadataNext tag value: 384.String
focallengthin35mmfilmPhotosImageMetadataNext tag value: 384.integer
serviceidentifierPhotosImageMetadataNext tag value: 384.String
rowsperstripPhotosImageMetadataNext tag value: 384.String
authorPhotosImageMetadataNext tag value: 384.String
shutterspeedvaluePhotosImageMetadataNext tag value: 384.number
exposureprogramPhotosImageMetadataNext tag value: 384.integer
poseheadingdegreesPhotosImageMetadataNext tag value: 384.number
latitudeGPS Info: +/- 90 inclusivePhotosImageMetadataNext tag value: 384.float
freeoffsetsPhotosImageMetadataNext tag value: 384.integer
burstuuidPhotosImageMetadataNext tag value: 384.String
subsectimePhotosImageMetadataNext tag value: 384.String
gcameramotionphotopresentationtimestampusThe presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.PhotosImageMetadataNext tag value: 384.integer
celllengthPhotosImageMetadataNext tag value: 384.integer
primarychromaticitiesPhotosImageMetadataNext tag value: 384.number
languageidentifierPhotosImageMetadataNext tag value: 384.String
gpsdifferentialPhotosImageMetadataNext tag value: 384.integer
gpsdestlatitudePhotosImageMetadataNext tag value: 384.number
cityPhotosImageMetadataNext tag value: 384.String
modelagePhotosImageMetadataNext tag value: 384.list(integer)
thresholdingPhotosImageMetadataNext tag value: 384.integer
ccdwidthPhotosImageMetadataNext tag value: 384.number
sensorwidthPhotosImageMetadataNext tag value: 384.number
datetimePhotosImageMetadataNext tag value: 384.String
createdatePhotosImageMetadataNext tag value: 384.String
objecttypereferencePhotosImageMetadataNext tag value: 384.String
ycbcrcoefficientsPhotosImageMetadataNext tag value: 384.number
offsettimePhotosImageMetadataNext tag value: 384.String
samplesperpixelPhotosImageMetadataNext tag value: 384.integer
gcameramicrovideooffsetThe offset in bytes from the end of the file to the point where the appended mp4 begins (equivalent to the length of the compressed mp4). This field might be provided in the original MicroVideo from client, but it might become invalid when the image component is edited, so it is expected that the thumbnailer will validate it and find the correct value (by scanning through the JPEG) if it is invalid. In other words, only a valid offset should be returned by thumbnailer.PhotosImageMetadataNext tag value: 384.integer
gcameraisautoenhancedIndicates that an OEM has applied auto enhance via Photos’ API.PhotosImageMetadataNext tag value: 384.boolean
stripoffsetsPhotosImageMetadataNext tag value: 384.String
softwarePhotosImageMetadataNext tag value: 384.String
exif4c4C metadata (caption, copyright, creator, credit) specific to each of the three metadata segments (EXIF, XMP, IPTC). These are used to keep separate the 4C data from each segment so that we can properly preserve the per-segment 4C data on write (when PreserveLevel is set appropriately).PhotosImageMetadataNext tag value: 384.PhotosFourCMetadata
identifierPhotosImageMetadataNext tag value: 384.list(String)
cameramodelExif camera modelPhotosImageMetadataNext tag value: 384.String
gpssatellitesPhotosImageMetadataNext tag value: 384.String
audiosamplingratePhotosImageMetadataNext tag value: 384.String
gcameramicrovideopresentationtimestampusThe presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.PhotosImageMetadataNext tag value: 384.integer
creditsPhotosImageMetadataNext tag value: 384.String
autoenhanceIndicates whether auto-enhance has been applied to the image.PhotosImageMetadataNext tag value: 384.boolean
firstphotodatePhotosImageMetadataNext tag value: 384.String
croppedareatoppixelsPhotosImageMetadataNext tag value: 384.integer
exifTimeUtcSourceThe exif_time_utc_source indicates the source from which the exif_time_utc field is calculated.PhotosImageMetadataNext tag value: 384.String
destinationPhotosImageMetadataNext tag value: 384.list(String)
hostcomputerPhotosImageMetadataNext tag value: 384.String
urlPhotosImageMetadataNext tag value: 384.String
gcreationscameraburstidPhotosImageMetadataNext tag value: 384.String
initialverticalfovdegreesPhotosImageMetadataNext tag value: 384.number
objectcyclePhotosImageMetadataNext tag value: 384.String
modifydatePhotosImageMetadataNext tag value: 384.String
gcameraburstidA unique String. The property should be present and identical for all images that make up a burst. It should be unique across devices (UUID recommended). Unlike GCreations:CameraBurstId, we should use images with this property to create auto collages and animations.PhotosImageMetadataNext tag value: 384.String
nicknamePhotosImageMetadataNext tag value: 384.String
ycbcrpositioningPhotosImageMetadataNext tag value: 384.integer
saturationPhotosImageMetadataNext tag value: 384.integer
typePhotosImageMetadataNext tag value: 384.list(String)
copyrightnoticePhotosImageMetadataNext tag value: 384.String
gpsmapdatumPhotosImageMetadataNext tag value: 384.String
modelreleasestatusPhotosImageMetadataNext tag value: 384.String
unoPhotosImageMetadataNext tag value: 384.String
digitalsourcefiletypePhotosImageMetadataNext tag value: 384.String
instructionsPhotosImageMetadataNext tag value: 384.String
categoryPhotosImageMetadataNext tag value: 384.String
ciadrcityPhotosImageMetadataNext tag value: 384.String
gpsdestbearingPhotosImageMetadataNext tag value: 384.number
ciemailworkPhotosImageMetadataNext tag value: 384.String
editorialupdatePhotosImageMetadataNext tag value: 384.String
transmissionreferencePhotosImageMetadataNext tag value: 384.String
referenceservicePhotosImageMetadataNext tag value: 384.list(String)
ismpformatThe image is a Multi-Picture Object.PhotosImageMetadataNext tag value: 384.boolean
relatedimageheightPhotosImageMetadataNext tag value: 384.String
aperturefnumberPhotosImageMetadataNext tag value: 384.number
ciadrextadrPhotosImageMetadataNext tag value: 384.list(String)
gpstimeThis is in UTC Time. Contains three floats: hour, minute and second. Supports subsecond resolution.PhotosImageMetadataNext tag value: 384.list(number)
gcameramicrovideoversionIndicates the file format version of the MicroVideo (initially 1).PhotosImageMetadataNext tag value: 384.integer
destinationLatitude+/- 90 inclusivePhotosImageMetadataNext tag value: 384.float
artworkorobjectPhotosImageMetadataNext tag value: 384.list(String)
destinationLongitude+/- 180 inclusivePhotosImageMetadataNext tag value: 384.float
exifTimeUtcThe exif_time_utc field is a UTC-based alternative to the exif_time field, which is in local time, rather than UTC. If they were not separate, clients would be unable to distinguish if the source were UTC- or local-based.PhotosImageMetadataNext tag value: 384.String
planarconfigurationPhotosImageMetadataNext tag value: 384.integer
fillorderPhotosImageMetadataNext tag value: 384.integer
editstatusPhotosImageMetadataNext tag value: 384.String
grayresponseunitPhotosImageMetadataNext tag value: 384.integer
timezoneminutesRemaining minutes of offset.PhotosImageMetadataNext tag value: 384.list(integer)
contentlocationcodePhotosImageMetadataNext tag value: 384.list(String)
initialviewrolldegreesPhotosImageMetadataNext tag value: 384.integer
poserolldegreesPhotosImageMetadataNext tag value: 384.number
gcameradisableautocreationThe possible values are: “Animation”, “Collage”, “Pano”, “Movies”. Photos will avoid creating the listed types using the containing image or video. The property is optional. The property can be included multiple times to disable creation of multiple different types.PhotosImageMetadataNext tag value: 384.list(String)
cvtermPhotosImageMetadataNext tag value: 384.list(String)
metadatadatePhotosImageMetadataNext tag value: 384.String
subsectimeoriginalPhotosImageMetadataNext tag value: 384.String
lensPhotosImageMetadataNext tag value: 384.String
fixtureidentifierPhotosImageMetadataNext tag value: 384.String
sourcephotoscountPhotosImageMetadataNext tag value: 384.integer
actionadvisedPhotosImageMetadataNext tag value: 384.String
authorpositionPhotosImageMetadataNext tag value: 384.String
imagenumberPhotosImageMetadataNext tag value: 384.String
cameramakeExif camera makePhotosImageMetadataNext tag value: 384.String
scenePhotosImageMetadataNext tag value: 384.list(String)
supplementalcategoryPhotosImageMetadataNext tag value: 384.list(String)
contrastPhotosImageMetadataNext tag value: 384.integer
uniqueidFor unique hash:PhotosImageMetadataNext tag value: 384.String
audiotypePhotosImageMetadataNext tag value: 384.String
serialnumberPhotosImageMetadataNext tag value: 384.String
croppedarealeftpixelsPhotosImageMetadataNext tag value: 384.integer
colorspacePhotosImageMetadataNext tag value: 384.integer
colorprofileIndicates whether or not the source image had an embedded color profile.PhotosImageMetadataNext tag value: 384.boolean
initialhorizontalfovdegreesPhotosImageMetadataNext tag value: 384.number
titlePhotosImageMetadataNext tag value: 384.String
gcreationstypeString representation of creation type. Should be one of {“GCameraCollage”, “GCameraAnimation”, “GCameraGroupSmiles”, “GPhotosCollage”, “GPhotosAnimation”}.PhotosImageMetadataNext tag value: 384.String
labelPhotosImageMetadataNext tag value: 384.String
ownerPhotosImageMetadataNext tag value: 384.list(String)
flashenergyPhotosImageMetadataNext tag value: 384.number
publisherPhotosImageMetadataNext tag value: 384.list(String)
iptc4cPhotosImageMetadataNext tag value: 384.PhotosFourCMetadata
sharpnessPhotosImageMetadataNext tag value: 384.integer
grayresponsecurvePhotosImageMetadataNext tag value: 384.integer
sphericalPanoramaPhotosPanoramaMetadataboolean
vr180PanoramaTrue if the image is a VR180 image. See go/3d180 for details.PhotosPanoramaMetadataboolean
xmaxPhotosVisionGroundtruthdbNormalizedBoundingBoxBounding box coordinates are relative to the width and height of the image. For example, if image is 100×200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.number
xminPhotosVisionGroundtruthdbNormalizedBoundingBoxBounding box coordinates are relative to the width and height of the image. For example, if image is 100×200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.number
ymaxPhotosVisionGroundtruthdbNormalizedBoundingBoxBounding box coordinates are relative to the width and height of the image. For example, if image is 100×200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.number
yminPhotosVisionGroundtruthdbNormalizedBoundingBoxBounding box coordinates are relative to the width and height of the image. For example, if image is 100×200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.number
floatDataFor single precision floating point dataPhotosVisionObjectrecFeatureVectorlist(number)
altitudeMetersAltitude of the point above the earth’s surface, in meters.PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.float
countryCodeCountry code string.PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.String
fromGpsIndicates if the lat/lon above is assumed to come from a GPS device.PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.boolean
latLatitude in degrees north. Values south of the equator are negative.PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.float
latErrorBoundWhen applied to a single point, represents the estimated error bounds of manual geotagging. The estimate is based on size of the bounding box of the map used for manual geotagging. When applied to a group of points, the error bounds represent the dispersion around the group center (lat/lon above). The dispersion in this case is computed as half the interquartile range. Reference: http://en.wikipedia.org/wiki/Interquartile_range (lat +/- lat_error_bound, lng +/- lng_error_bound).PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.float
lonLongitude in degrees east. Values west of 0 deg are negative.PhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.float
lonErrorBoundPhotosVisionObjectrecGeoLocationThe geo-location of a single point, or of the “center” of a group of points.float
additionalInfoOptional info provided by the feature extractor.PhotosVisionObjectrecGlobalFeatureGlobal feature for the image.String
featureVectorPhotosVisionObjectrecGlobalFeatureGlobal feature for the image.PhotosVisionObjectrecFeatureVector
quantizedFeatureVectorPhotosVisionObjectrecGlobalFeatureGlobal feature for the image.PhotosVisionObjectrecQuantizedFeatureVector
tagTag for this global feature. E.g., “DELG”, “SBv4” or “DELG_region1”.PhotosVisionObjectrecGlobalFeatureGlobal feature for the image.String
versionPhotosVisionObjectrecGlobalFeatureGlobal feature for the image.String
authorNameName of the author or image source. User-defined. Must be NULL-terminated.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
corpusIdentifier for which corpus the image belongs to. Currently Cyclone uses this field in: – photos_vision_objectrec.SpatialMatcherRequest.residual_template to select which spatial matcher should be applied to the candidate matches – photos_vision_objectrec.CustomCorpusQuantizer to map a custom corpus to one or more posting listsPhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
geoLocationThe geolocation of the image. Assumed to represent the location where the photo was taken from.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29PhotosVisionObjectrecGeoLocation
globalFeaturePhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29list(PhotosVisionObjectrecGlobalFeature)
imageHeightPhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29integer
imageIdUnique identifier for the image used to compute this template.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
imageUrlURL or filename of the image used to compute this template. User-defined. Must contain only ASCII characters and be NULL-terminated.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
imageWidthDimension of the image used to compute this template.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29integer
infoPhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
objectInfoTags pertaining to this image. User-defined. Must be NULL-terminated.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29list(String)
objectNameName of the object/scene depicted. User-defined. Must contain only ASCII characters and be NULL-terminated.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
opaqueDataOpaque template data. May be used to pass through additional data from template sources to processing modules, that is not already covered by other members of this PB. It is the responsibility of processing modules to verify that the data is in a compatible format.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
roiRegion-of-interest: The bounding box of the object or scene depicted in the image.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29PhotosVisionObjectrecROI
subsetPhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29list(PhotosVisionObjectrecImageTemplateSubSet)
versionFeature version.PhotosVisionObjectrecImageTemplateImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29String
descriptorPhotosVisionObjectrecImageTemplateSubSetEach SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type ‘0’ is reserved and must not be used.list(PhotosVisionObjectrecLocalDescriptor)
descriptorTypePhotosVisionObjectrecImageTemplateSubSetEach SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type ‘0’ is reserved and must not be used.integer
isBinaryDescriptorUsed to indicate if the descriptor is binary or not. When decompressing feature this is useful to decide calling different decompression functions.PhotosVisionObjectrecImageTemplateSubSetEach SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type ‘0’ is reserved and must not be used.boolean
numDescriptorsUsed to store the number of descriptors for statistical purposes, if the descriptors themselves are not stored.PhotosVisionObjectrecImageTemplateSubSetEach SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type ‘0’ is reserved and must not be used.integer
affineMatrixOptional affine matrix. Supersedes scale and orientation if present. r’ = affine_matrix.r + (x,y) defines an affine transform from the normalized image patch (in which the interest point is centered at the origin with scale 1) to the image. If the affine matrix is set, the following approximations are recommended: scale = sqrt(0.5 * (xx*xx + xy*xy + yx*yx + yy*yy)); orientation = atan2(yx – xy, xx + yy); If not present, the affine matrix can be computed from scale and orientation as: xx = scale * cos(orientation); xy = scale * -sin(orientation); yx = scale * sin(orientation); yy = scale * cos(orientation);PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.PhotosVisionObjectrecMatrix2D
dataPhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.String
dataFactordata_factor and data represent the local descriptor vector in a compressed format, using only 8 bit per value. Each byte of the data string yields one component of the local descriptor by bit-casting it to an int8 and multiplying it by data_factor. Protocol buffers do not support int8 directly.PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
featureVectorUnquantized feature vector (float).PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.PhotosVisionObjectrecFeatureVector
opaqueDataOpaque descriptor data. May be used to pass through descriptor data from descriptor sources to processing modules, that is not already covered by data/data_factor and/or cannot be expressed as a vector of numbers. It is the responsibility of processing modules to verify that the data is in a compatible format.PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.String
orientationOrientation is optional, as some interest point detectors don’t compute it. The range of orientation is [-pi,pi).PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
scaleEach interest point must have a characteristic scale > 0.PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
strengthThe strength or weight, indicating the relative significance of this point.PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
xThe position in the image with sub-pixel accuracy. The center of the upper left pixel has coordinates (0.0, 0.0). Thus the range for x and y is (-0.5, width – 0.5) x (-0.5, height – 0.5).PhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
yPhotosVisionObjectrecLocalDescriptorLocalDescriptor holds interest point data and an optional local descriptor vector.number
xxPhotosVisionObjectrecMatrix2DA 2×2 float matrix.number
xyPhotosVisionObjectrecMatrix2DA 2×2 float matrix.number
yxPhotosVisionObjectrecMatrix2DA 2×2 float matrix.number
yyPhotosVisionObjectrecMatrix2DA 2×2 float matrix.number
dataPhotosVisionObjectrecQuantizedFeatureVectorQuantized/compressed feature vector (8 bit per value). Can be decoded by multiplying data_factor to each data byte.String
dataFactorPhotosVisionObjectrecQuantizedFeatureVectorQuantized/compressed feature vector (8 bit per value). Can be decoded by multiplying data_factor to each data byte.number
xMaxPhotosVisionObjectrecROIA region of interest in the image.integer
xMinPhotosVisionObjectrecROIA region of interest in the image.integer
yMaxPhotosVisionObjectrecROIA region of interest in the image.integer
yMinPhotosVisionObjectrecROIA region of interest in the image.integer
debugInfoDebugInfo stores debug information from the overall classifier. This allows for instance to update counters related to blacklisting without running the full classifier again.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.list(ImagePornDebugInfo)
finalOffensiveScoreFinal offensive score based on image salient terms and image OCR vulgar and offensive scores.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
finalViolenceScoreFinal violence score based on some image signals (brain pixel score, co-clicked images violence score, navboost queries score, etc.).PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
finalViolenceScoreVersionA string that indicates the version of SafeSearch classifier used to compute final_violence_score.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.String
internalSignalsA proto that stores SafeSearch internal signals that are not exported to clients. SafeSearch team does not provide any guarantees about the presence or the semantics of these signals in the future.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.SafesearchInternalImageSignals
numberFacesnumber of facesPornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.integer
ocrAnnotationInformation about image OCR text. For details see image/safesearch/content/public/ocr_annotation.proto.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.ImageSafesearchContentOCRAnnotation
offensiveSymbolDetectionQuimbyCongas-based detection of offensive symbols in the image (currently swastika and Nazi yellow badge).PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.ImageSafesearchContentOffensiveSymbolDetection
photodnaHashBinary version of the PhotoDNA hash (144 bytes long). If not set (has_photodna_hash() == false) it means that it was not computed, if empty (has_photodna_hash() == true && photodna_hash() == “”) it means that the computation failed (cannot be computed for images smaller than 50 x 50).PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.String
pornWithHighConfidenceThis field is set to true when we are pretty confident that the image is porn (with higher precision than the img_porn_moderate restrict). In particular, it means that the image might be demoted for non-porn queries when SafeSearch is Off.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.boolean
qbstOffensiveScoreQBST-based image offensive score, Navboost basedPornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
qbstSpoofScoreQBST-based image spoof score, Navboost based, unrelated to the pixel-based score in PornAnnotation.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
queryStatsQuery statistics from Navboost logs. For more details see classifier/porn/proto/image_porn_classifier_signals.proto.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.ClassifierPornQueryStats
queryTextViolenceScoreAggregated navboost query violence score.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
refererurl of the referer pagePornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.String
referrerCountsInformation about referrers and their porn classification. For details see classifier/porn/proto/image_porn_classifier_signals.proto.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.ClassifierPornReferrerCounts
semanticSexualizationScoreStarburst-based score predicting sexualization level of the image.PornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.number
urlurl of the imagePornFlagDataA protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.String
addressLineThese correspond to the “AddressLine” elements in xAL, which are used to hold unstructured text. This is an addendum to the structured values; when the address is formatted, the provided lines are prepended to the formatted version of the street component fields for Western countries, and appended for CJK countries. These lines are in display order. Formerly users of PostalAddress were discouraged from mixing address_line with structured address elements. Mixing is now encouraged if address_line has to be used at all.PostalAddressNext free ID: 32list(String)
administrativeAreaNameTop-level administrative subdivision of this country. Examples: US state, IT region, UK constituent nation, JP prefecture.PostalAddressNext free ID: 32String
countryNameName corresponding to country code. Optional. This can usually be inferred from country_name_code.PostalAddressNext free ID: 32String
countryNameCodexAL does not specify a scheme for country codes. We strongly recommend ISO 3166-1-alpha-2 (two letter codes, as used in DNS) if you use this field. (Use “GB”, not “UK”.)PostalAddressNext free ID: 32String
dependentLocalityNameDependent locality or sublocality. Used for UK dependent localities, or neighborhoods or boroughs in other locations. If trying to represent a UK double-dependent locality, include both the double-dependent locality and the dependent locality in this field, e.g. “Whaley, Langwith”.PostalAddressNext free ID: 32String
dependentThoroughfareNameDependent thoroughfares are used to define UK-style dependent thoroughfares, and secondary streets in addresses in other locales, including intersections. Formatting is locale-dependent.PostalAddressNext free ID: 32String
firmNameNEW: The firm or organization. This goes at a finer granularity than address_lines in the address. Omit if not needed.PostalAddressNext free ID: 32String
isDisputedRequired to support the suppression of country names from formatted results for addresses within geo-politically disputed areas. Note that we cannot achieve this by not setting the country, as this would prevent us from selecting a suitable formatting template. Addresses converted from Oyster, by the standard conversion libraries, will have this field set if the address lies within a geo-politically disputed area (ie, contained within features of type TYPE_DISPUTED_AREA) even if the disputed area itself is not a visible part of the formatted address. An example of a disputed area is “No Man’s Land” near Jerusalem which has the flag FLAG_NEVER_DISPLAY set for all its names. See: go/disputed-areas-2014 for more information.PostalAddressNext free ID: 32boolean
languageCodeLanguage of the address. May affect address formatting for multi- lingual countries. Also allows storing multilingual location names as repeated PostalAddress. Not in xAL. Use language codes which are accepted by i18n_identifiers::LanguageCodeCoverter::FromOther(). Examples include “en” and “de-CH”.PostalAddressNext free ID: 32String
localityNameLocality. This is something of a fuzzy term, but it generally refers to the city/town portion of an address. In regions of the world where localities are not well defined or do not fit into this structure well (for example, Japan), leave locality_name empty and use address_line. Examples: US city, IT comune, UK post town.PostalAddressNext free ID: 32String
postBoxNumberThis corresponds to PostBoxNumber in xAL format. In xAL format, it’s nested inside PostBox, which also contains a “Type” field to distinguish between PO Box, Private Bag etc. Current support in this proto is for PO Box only. Note that although this is modelled as a string, it should have the number only, with any necessary punctuation (such as “-“). For example, for “P.O. Box 123”, this field would hold “123” – the template displaying this would prepend P.O. Box when formatting if necessary.PostalAddressNext free ID: 32String
postalCodeNumberDespite the name, postal_code_number values are frequently alphanumeric. Examples: “94043”, “SW1W”, “SW1W 9TQ”.PostalAddressNext free ID: 32String
postalCodeNumberExtensionUsed for postal-code suffixes, such as the 4-digit extension of a US ZIP+4 code.PostalAddressNext free ID: 32String
premiseNameThe “premise” is something like a house or building.PostalAddressNext free ID: 32String
recipientNameNEW: The recipient. This goes at a finer granularity than address_lines in the address. Not present in xAL. Omit if not needed.PostalAddressNext free ID: 32String
sortingCodeThis corresponds to the SortingCode sub-element of the xAL PostalServiceElements element. Use is very country-specific. Where it is used, the value is either a string like “CEDEX”, optionally followed by a number (e.g. “CEDEX 7”), or just a number alone, representing the “sector code” (Jamaica), “delivery area indicator” (Malawi) or “post office indicator” (e.g. Côte d’Ivoire).PostalAddressNext free ID: 32String
subAdministrativeAreaNameSecond-level administrative subdivision of this country. Examples: US county, IT province, UK county.PostalAddressNext free ID: 32String
subPremiseNameThe “subpremise” is something like an apartment or suite. xAL offers more structured premise and subpremise values, but we don’t.PostalAddressNext free ID: 32String
thoroughfareNameName of thoroughfare. Intersections should be represented with this field or address_line. Examples: “Amphitheatre Parkway”, “N Shoreline Blvd & Charleston Rd”PostalAddressNext free ID: 32String
thoroughfareNumberThoroughfare numbers (street numbers) can be very complex indeed. xAL defines fancy structures like “ThoroughfareNumberRange” to represent the details, but we haven’t included that yet. It is worth noting that this needs to be a string, not a number. Example: “1600”PostalAddressNext free ID: 32String
restrictsPrecomputedRestrictsThe restricts that are computed before building a Mustang index.list(String)
Currencytype froogle/currency/currency.hPremiumPerDocDataPer-doc data for premium documents in the Google index.integer
Datepublishing date (seconds since 1970,PremiumPerDocDataPer-doc data for premium documents in the Google index.String
Entitlemententitlement dataPremiumPerDocDataPer-doc data for premium documents in the Google index.list(integer)
IsArchivalTrue if a free document is archival in nature.PremiumPerDocDataPer-doc data for premium documents in the Google index.boolean
IsEntitledUser is entitled to see the premium content for free.PremiumPerDocDataPer-doc data for premium documents in the Google index.boolean
Priceprice * 100 if availablePremiumPerDocDataPer-doc data for premium documents in the Google index.integer
Publicationnegative values for prior dates) FP of the Premium publication namePremiumPerDocDataPer-doc data for premium documents in the Google index.String
AsrModelASR model MPM version.PseudoVideoDataAvailable tags: 14+String
DocKeyThis should be the MustangDocId, we need to figure out how to generate a uint64 given the int64 we have in data_setPseudoVideoDataAvailable tags: 14+String
LangLanguage of the recognizer used to generate transcript.PseudoVideoDataAvailable tags: 14+String
MustangDocIdThis is the videodocid associate to the http://video.google.com/videoplay?docid= NUMBERPseudoVideoDataAvailable tags: 14+String
UrlURL for document.PseudoVideoDataAvailable tags: 14+String
s3ModePseudoVideoDataAvailable tags: 14+String
s3ModelInfoLabelS3 ASR model info.PseudoVideoDataAvailable tags: 14+String
transcriptPseudoVideoDataAvailable tags: 14+PseudoVideoDataTranscript
TextThe complete transcription text.PseudoVideoDataTranscriptA time-coded transcription of the document’s audio track.String
timestampPseudoVideoDataTranscriptA time-coded transcription of the document’s audio track.list(PseudoVideoDataTranscriptTimestamp)
CharOffsetPseudoVideoDataTranscriptTimestampMapping of time/character correspondences. Used to map found snippets to the time and thumbnail nearest that snippet.integer
Confidencequantized to values in range 0-127PseudoVideoDataTranscriptTimestampMapping of time/character correspondences. Used to map found snippets to the time and thumbnail nearest that snippet.integer
TimeOffsetPseudoVideoDataTranscriptTimestampMapping of time/character correspondences. Used to map found snippets to the time and thumbnail nearest that snippet.integer
androidIntentThe list of android intents that the app is capable of executing.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangelist(String)
appNameThis is the string matched from the query.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeString
categoryCategory of this package.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeQualityActionsAppUnderstandingCategory
confidenceQualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangenumber
displayNameThis is the display name of the app as shown below the app icon.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeString
fallbackUrlURL for the website associated with this app.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeString
packageNameNote that the package_name could be empty for two reasons: – The AppInfo is annotated by device content. – The ngram exists in app name fastmap, but there are a lot of packages associated with it. e.g., there could be a lot of apps for app name “recipes app”.QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeString
sourceFor the future source, use the field in source_data.source().QualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangeString
sourceDataQualityActionsAppInfoInformation of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChangelist(QualityActionsAppInfoSourceData)
allowListSourceDataQualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.QualityActionsAppInfoSourceDataAllowListSourceData
confidenceConfidence from navboost.QualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.number
installNumber of installs from marmot.QualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.String
isCategoricalQualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.boolean
mediaProviderSourceDataQualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.QualityActionsAppInfoSourceDataMediaProviderSourceData
sourceQualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.String
teleportSourceDataSignals present when the source is TELEPORT.QualityActionsAppInfoSourceDataThis deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.AssistantTeleportTeleportNicknameSignals
preReleaseModeWhether the app is in the pre-release stage and only available for testing.QualityActionsAppInfoSourceDataAllowListSourceDataAdditional signals when the source is ATV’s allow list.boolean
unknownAppDeviceCompatibilityWhether app compatibility is unknown. This field is needed for apps like apple tv that have different package names on different devices. Play Gateway Service (PGS) lookup is needed to validate that the app is available on the user’s device. go/app-fulfillment-qualityQualityActionsAppInfoSourceDataAllowListSourceDataAdditional signals when the source is ATV’s allow list.boolean
providerKeyThe unique provider key/enumeration string as used in KG. See also /base/mediaasset/provider/provider_enumerator.QualityActionsAppInfoSourceDataMediaProviderSourceDataThe MEDIA_PROVIDER source can further specify information about the content served by the app.String
providerTypeThe type of content served by the App. See also chrome.dongle.pints.ProviderType.QualityActionsAppInfoSourceDataMediaProviderSourceDataThe MEDIA_PROVIDER source can further specify information about the content served by the app.String
categoryQualityActionsAppUnderstandingCategoryCategory that this app falls into.String
confidenceQualityActionsAppUnderstandingCategoryCategory that this app falls into.number
buttonsButtons on the notificationQualityActionsCustomizedNotificationDEPRECATED. No longer supported after migration to Tasks.list(QualityActionsCustomizedNotificationButton)
surfaceTypeSurface type for the notificationQualityActionsCustomizedNotificationDEPRECATED. No longer supported after migration to Tasks.String
tapActionTap action on the notification body. This overwrites the default tap action on reminder trigger notification (which on mobile, is the reminders hub page).QualityActionsCustomizedNotificationDEPRECATED. No longer supported after migration to Tasks.QualityActionsCustomizedNotificationPayload
textNotification textQualityActionsCustomizedNotificationDEPRECATED. No longer supported after migration to Tasks.String
labelREQUIRED. text for the button labelQualityActionsCustomizedNotificationButtonString
tapActionREQUIRED. tap action for the buttonQualityActionsCustomizedNotificationButtonQualityActionsCustomizedNotificationPayload
urlCurrently for payload we only support raw string url. More structured options may be added in the futureQualityActionsCustomizedNotificationPayloadString
providersQualityActionsNewsProviderAnnotationDataAqua annotation data for news provider. This proto is added as an extension to NimbleAnnotationData.semantics_proto for nimble annotation.list(QualityActionsNewsProviderAnnotationDataProvider)
localesList of supported locales for this provider. Must follow the format from go/iii, e.g.: ‘en’, ‘en-US’, ‘en-GB’, etc. Short forms without regions codes, such as, ‘en’ match all possible regions: en-US, en-GB, en-IN, etc.QualityActionsNewsProviderAnnotationDataProviderNextId: 6list(String)
officialNameThe official name of the provider. Used in TTS and should be localized.QualityActionsNewsProviderAnnotationDataProviderNextId: 6String
officialNamePronunciationTTS hint for the pronunciation of the name. Should be left blank unless TTS performs poorly on official_name. Example: Without hinting, TTS mispronounces “The Daily 202” as “the daily two hundred and two”. Feeding tts the string “the daily two oh two” produces correct TTS.QualityActionsNewsProviderAnnotationDataProviderNextId: 6String
providerIdThe provider id used for news source URL lookup in Kansas. See b/27250779 for details.QualityActionsNewsProviderAnnotationDataProviderNextId: 6integer
scoreA score of how confident the annotated span is a news provider. For example, a high score is assigned for span “bbc news”, but a low score for span “bbc”, which only triggers narrative news aqua parse for a query with explicit news intent, e.g [play news from bbc].QualityActionsNewsProviderAnnotationDataProviderNextId: 6float
archivedOPTIONAL. True if the reminder is archived. Not present implies false.QualityActionsReminderNext id: 33boolean
archivedTimeOPTIONAL. The time when this reminder is archived. Deprecated. Use `archived_timestamp` instead.QualityActionsReminderNext id: 33AssistantApiDateTime
archivedTimestampOPTIONAL. When the reminder was completed (only present when archived == true). Maps to apps_intelligence.dialog.Task’s complete_time field.QualityActionsReminderNext id: 33DateTime
asyncInteractionTypeREQUIRED. async_interaction_type of the reminder trigger notificationQualityActionsReminderNext id: 33String
attachmentOPTIONAL. Attachments associated with this Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), specify multiple attachments here, and specify the surface types and links in the inner fields. There should be at most one attachment for each surface.QualityActionsReminderNext id: 33list(AssistantRemindersAttachment)
bareTitleOPTIONAL. Populated only for assignable reminders (E.g. “buy milk”). It will be used in the post-execution card-rendering. If not poulated, i.e. in non-assignable mode, caller should fallback to use $title.QualityActionsReminderNext id: 33String
clientIdOPTIONAL. The reminders “client” id. This ID uniquely identifies a reminder instance and may be generated by any client that writes to our Reminder backend.QualityActionsReminderNext id: 33String
clientTypeREQUIRED. The type of this attachment. This is used for frontends (e.g., Hubpage) to customize UX. And also for customized VE logging.QualityActionsReminderNext id: 33QualityDialogManagerReminderClientType
createTimeOPTIONAL. The create time of this reminder. This field is propagated only for the reminders fetched from backend.QualityActionsReminderNext id: 33AssistantApiDateTime
createTimestampOPTIONAL. The create time of this reminder. This field is propagated only only for the reminders fetched from backend.QualityActionsReminderNext id: 33DateTime
creatorOPTIONAL. Creator of a reminder (owned by the current user). Used in shared reminder RUD operations.QualityActionsReminderNext id: 33QualityActionsReminderPerson
customizedNotificationCardOPTIONAL. Contains fields needed to build the customized notification card DEPRECATED. No longer supported after migration to Tasks.QualityActionsReminderNext id: 33list(QualityActionsCustomizedNotification)
datetimeA representation of the Gregorian calendar date and timezone-relative time a reminder is scheduled for. This contains the date and time of either a single reminder or the upcoming instance of a recurring reminder.QualityActionsReminderNext id: 33AssistantApiDateTime
descriptionOPTIONAL. Full-length description of the reminder.QualityActionsReminderNext id: 33String
documentAssignmentSourceQualityActionsReminderNext id: 33QualityActionsReminderDocument
dynamiteGroupAssignmentSourceQualityActionsReminderNext id: 33QualityActionsReminderDynamiteGroup
extraNotificationDeviceIdOPTIONAL. Device ID for home notification which should have loud notification. See go/device-id-storage-in-tasksQualityActionsReminderNext id: 33String
idDEPRECATED. Use `client_id` or `server_id` instead.QualityActionsReminderNext id: 33String
locationQualityActionsReminderNext id: 33QualityActionsReminderLocation
logOPTIONAL. Associated logs to be plumbed through along with a reminder.QualityActionsReminderNext id: 33AssistantLogsReminderLog
memoryPayloadOPTIONAL. Memory record payload which is associated with this reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders.QualityActionsReminderNext id: 33AssistantRemindersMemoryPayload
notifyingOPTIONAL. True if the reminder is notifying on the device that is making the request to the server.QualityActionsReminderNext id: 33boolean
personalReferenceMetadataOPTIONAL. Populated if the reminder is based off of a personal reference, e.g. [my hotel] when the user has a hotel reservation. Contains the information needed for suggestion chip attribution, e.g. a link back to the email reservation.QualityActionsReminderNext id: 33CopleySourceTypeList
recipientOPTIONAL. Recipient of a reminder (created by the current user). Used for shared reminder CRUD operations.QualityActionsReminderNext id: 33QualityActionsReminderPerson
recurrenceQualityActionsReminderNext id: 33QualityActionsReminderRecurrenceInfo
serverIdOPTIONAL. The reminders backend “server” id. Only filled in some scenarios, e.g. to generate the reminders hubpage detailed-reminder view.QualityActionsReminderNext id: 33String
symbolicTimeQualityActionsReminderNext id: 33String
titleREQUIRED. The main textual representation of the reminder with the final title. For assignable reminders, this would be e.g. “From John: buy milk”.QualityActionsReminderNext id: 33String
updateTimestampOPTIONAL. The last updated time of this reminder. This field is propagated only for the reminders fetched from ARIS (go/aris-dd).QualityActionsReminderNext id: 33DateTime
categoryInfoQualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12QualityActionsReminderLocationCategoryInfo
chainInfoQualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12QualityActionsReminderLocationChainInfo
customLocationTypeOptional additional information about the types of the custom location. This field is not stored in backend, and is only used to plumb NLP information to fulfillment UI.QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12String
displayAddressAn address string that is suitable for displaying to the user in an application interface. It can be detailed, or brief. e.g. “80 Absolute Ave, Unit 1708, Mississauga, ON” e.g. “151 Charles Street West”QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12String
geoFeatureIdFilled if location_type is CUSTOM and this is a resolved instance of a business (not for specific address locations).QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12GeostoreFeatureIdProto
latQualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12float
lngQualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12float
locationTypeQualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12String
nameDescriptive name, e.g. “43rd st new york”, a user-edited place name (e.g. “Gym”), or a reverse geocoded business name. This can be any string.QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12String
personalLocationMetadataDeprecated in favor of Reminder.personal_reference_metadata.QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12CopleySourceTypeList
ttsAddressA localized, shortened version of the address, suitable for TTS. This originates in the LocationFrame.QualityActionsReminderLocationA representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12String
displayNameA (localized) display string describing the category. This is s generic string describing the category, and may be different than the term the user actually said, e.g. name: “supermarket”, display_name: “Grocery Stores”QualityActionsReminderLocationCategoryInfoIf LocationType is CATEGORICAL, this is info about the category. For example, the category “Grocery Stores” includes chains such as Safeway and Whole Foods.String
locationCategoryQualityActionsReminderLocationCategoryInfoIf LocationType is CATEGORICAL, this is info about the category. For example, the category “Grocery Stores” includes chains such as Safeway and Whole Foods.String
chainMidThe freebase mid of the chain entity.QualityActionsReminderLocationChainInfoIf LocationType is CHAIN, this is info about the chain.String
chainNameThe geostore.NameProto.text (corresponding to the user’s language) at the time of reminder creation. In most cases, this is the same as name, but there may be corner cases where they differ, e.g. name: “bestbuy”, chain_name: “Best Buy”.QualityActionsReminderLocationChainInfoIf LocationType is CHAIN, this is info about the chain.String
featureIdThe (corporate entity) chain’s MapFacts feature id.QualityActionsReminderLocationChainInfoIf LocationType is CHAIN, this is info about the chain.GeostoreFeatureIdProto
displayNameREQUIRED. Their full name, which will be shown/spoken when referring to this person informally, e.g. “You have 2 reminders from Dave Smith.”QualityActionsReminderPersonA representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.String
emailAddressOPTIONAL. Their email address.QualityActionsReminderPersonA representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.String
gaiaIdREQUIRED. Their gaia id (used by the backend for CRUD operations).QualityActionsReminderPersonA representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.String
givenNameREQUIRED. Their given name, which will be shown/spoken when referring to this person informally, e.g. “You have 2 reminders from Dave.”QualityActionsReminderPersonA representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.String
photoUrlOPTIONAL. The URL of the photo. This field is read from photo field from go/people-api. Also see go/khdgk for URL formats. This field might be missing if user does not have photo URL available.QualityActionsReminderPersonA representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.String
clientIdOPTIONAL. Client-assigned-id for the recurring reminderQualityActionsReminderRecurrenceInfoRecurrence rule for specifying time-based repeating reminders.String
recurrenceThe recurrence pattern.QualityActionsReminderRecurrenceInfoRecurrence rule for specifying time-based repeating reminders.AssistantApiRecurrence
recurrenceIdAn id which uniquely identifies a recurrence series.QualityActionsReminderRecurrenceInfoRecurrence rule for specifying time-based repeating reminders.String
serverIdREQUIRED. Server-assigned-id for the recurring reminderQualityActionsReminderRecurrenceInfoRecurrence rule for specifying time-based repeating reminders.String
pauseDurationThe delay between each two sounds.QualityActionsRingtoneRingtone information used for the notification of timer and alarm.AssistantApiDuration
soundUrlThe sound urls will be used to play.QualityActionsRingtoneRingtone information used for the notification of timer and alarm.list(String)
homegraphIdQualityActionsRoomThe room in which an alarm or timer residesString
nameQualityActionsRoomThe room in which an alarm or timer residesString
creationTimeThe time when this timer was createdQualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.AssistantApiTimestamp
deviceIdentifies the device this timer belongs to.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.AssistantApiSettingsDeviceSettings
expireTimeWhen not paused: the time the timer is (or was) scheduled to expire, in milliseconds since the Unix epoch. This should be deprecated and replaced by the expire_timer_time with DateTime type once DateTime proto includes unix timestamp (b/63636831).QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
expireTimerTimeThis is currently being only used only for the response generation when the user describe the expired datatime as a search constraint. We will used it for everything else once that for filtering once DateTime proto includes unix timestamp (b/63636831) and expire_time is deprecated.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.NlpSemanticParsingDatetimeDateTime
idA string key used as an identifier to this timer, unique for a given Provider.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
labelThe label, provided by a user, associated with this timer.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
lastUpdatedThe time when this timer was last updated (creation, paused, resumed, etc.)QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.AssistantApiTimestamp
originalDurationThe duration of the timer when it was started, in milliseconds.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
originalTimerDurationThe duration set for the timer. The DateTimeModifier field is ignored. This field is currently only experimental until we switch the Dialog code and gramnar to the new format.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.NlpSemanticParsingDatetimeDuration
providerThe provider that owns this alarm. For Android, this includes the app that owns this alarm, where an intent should be sent to modify it.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.AssistantApiCoreTypesProvider
remainingDurationWhen PAUSED: the remaining duration in milliseconds.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
remainingTimerDurationThe duration remained for the timer. This is needed because there is no expiration date for paused timer. The DateTimeModifier field is ignored. This field is currently only experimental until we switch the Dialog code and gramnar to the new format.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.NlpSemanticParsingDatetimeDuration
ringtoneThe ringtone will be played when the timer fires, it will replace the beep sound if it is not empty.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.QualityActionsRingtone
ringtoneTaskMetadataRingtone Task Metadata information used to generate sound for firing the timer.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.AssistantApiCoreTypesRingtoneTaskMetadata
roomContains info about the room the timer is inQualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.QualityActionsRoom
statusThe current status of the timer.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
vibrateWhether or not the device will vibrate when the timer fires.QualityActionsTimerConceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.boolean
pageEmbeddingQualityAuthorityTopicEmbeddingsVersionedItemProto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.String
siteEmbeddingCompressed site/page embeddings.QualityAuthorityTopicEmbeddingsVersionedItemProto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.String
siteFocusScoreNumber denoting how much a site is focused on one topic.QualityAuthorityTopicEmbeddingsVersionedItemProto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.number
siteRadiusThe measure of how far page_embeddings deviate from the site_embedding.QualityAuthorityTopicEmbeddingsVersionedItemProto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.number
versionIdQualityAuthorityTopicEmbeddingsVersionedItemProto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.integer
applicationIdQualityCalypsoAppsLinklist(String)
defaultFormatInformationFallback option for the LiveOp format. We will try en-US -> en -> any locale and get the first one that is available.QualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9QualityCalypsoAppsUniversalAuLiveOpFormat
defaultScheduleInformationFallback option for the LiveOp event scheduling information. Will use earliest start time and last end time from PDC LiveOps data dump.QualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9QualityCalypsoAppsUniversalAuLiveOpEvent
eventIdandroidQualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9String
eventType[REQUIRED] type of live op event.QualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9String
eventUrliosQualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9String
priorityQualityCalypsoAppsUniversalAuLiveOpDetailContains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9String
endTimestampMillis[REQUIRED] End time in UTC for the live-op event.QualityCalypsoAppsUniversalAuLiveOpEventContains the schedule for a single live-op event. Next ID: 4String
previewTimestampMillisIf specified, a live-op event must be shown only after this preview-time (in UTC). Otherwise, the event can be shown at any time as long as its before the end time.QualityCalypsoAppsUniversalAuLiveOpEventContains the schedule for a single live-op event. Next ID: 4String
startTimestampMillis[REQUIRED] Start time in UTC for the live-op event.QualityCalypsoAppsUniversalAuLiveOpEventContains the schedule for a single live-op event. Next ID: 4String
deeplinkQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
descriptionQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
eyebrowiOS only, kind of event typeQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
imageUrlQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
originalImageUrlQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
squareImageUrlQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
statusiOS only, sort of start scheduleQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
titleQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
videoIdQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
videoUrlQualityCalypsoAppsUniversalAuLiveOpFormatContains the format information for a single LiveOp/LiveEvent. Next ID: 11String
liveOpEventsQualityCalypsoAppsUniversalAuLiveOpsDetailInfoStores all possible LiveOps/LiveEvents that are eligible to be shown for an app.list(QualityCalypsoAppsUniversalAuLiveOpDetail)
packageNameQualityCalypsoAppsUniversalAuLiveOpsDetailInfoStores all possible LiveOps/LiveEvents that are eligible to be shown for an app.String
fifeUrlQualityCalypsoAppsUniversalImageString
heightQualityCalypsoAppsUniversalImageinteger
widthQualityCalypsoAppsUniversalImageinteger
enhancedImageiOS cover image, which includes the uni image from UAM only.QualityCalypsoAppsUniversalImageDataQualityCalypsoAppsUniversalImage
featureGraphicaka. promotional image / cover image.QualityCalypsoAppsUniversalImageDataQualityCalypsoAppsUniversalImage
screenshotQualityCalypsoAppsUniversalImageDatalist(QualityCalypsoAppsUniversalImage)
dailyClicksQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
dailyGoodClicksQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
dataTimeSecQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
firstBoostedTimeSecQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
impressionsInBoostedPeriodQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
latestBylineDateSecQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
latestFirstseenSecQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
numOfArticles8QualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
numOfArticlesByPeriodsnumber of articles (lattice article score is 0.8 or more) sliced by 30 days (num_of_articles_by_periods[0] is the newest).QualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.list(String)
numOfGamblingPagesQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
numOfUrlsQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
numOfUrlsByPeriodsnumber of urls sliced by 30 days (num_of_urls_by_periods[0] is the newest).QualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.list(String)
recentImpForQuotaSystemQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
siteFpHash value of the site. This will be used by our experiment and analysis.QualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
totalImpressionsQualityCopiaFireflySiteSignalProto message containing site-level signal for search stack. Because firefly_stats.proto depends on “//segindexer:compositedoc_proto”, we cannot make perdocdata contain it.String
blueGingerSupportedServicesThis field tells us whether this LocalResult supports any of the services that Blue Ginger offers.QualityDialogManagerExternalIdsVarious external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).BlueGingerClientVisibleProtoBlueGingerSupportedServices
knowledgeGraphMidQualityDialogManagerExternalIdsVarious external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).String
maddenSupportedActionsGoogle-internal actions supported by go/madden for this LocalResult.QualityDialogManagerExternalIdsVarious external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).GeoOndemandAssistantSupportedActions
openTableRestaurantIdQualityDialogManagerExternalIdsVarious external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).String
intentLINT.ThenChange( //depot/google3/googledata/nlp/generation/messages/assistant/\\ dialog_LOCAL_LocalAssistantSchema/\\ dialog.LOCAL.LocalAssistantSchema_zxx.genx.textpb, //depot/google3/quality/dialog_manager/verticals/local/assistant/\\ suggestion_chip_util.cc)QualityDialogManagerLocalIntentOptionslist(String)
adminArea1This field can represent different areas depending on the country. For example in the US it is state but in Canada it would be a province.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
availableIntentsThe set of available intents changes with result. An intersection of available_intents and allowed_intents (See: local_config.proto), is shown to the user.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33QualityDialogManagerLocalIntentOptions
businessTypeBitset of business types this result falls into. Many fields in this message may be unset – expect good coverage for restaurants and hotels for now, but not for other verticals.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33NlpSemanticParsingLocalBusinessType
countryQualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
countryCodeThe two-letter ISO 3166-1 country code of this result. Generated by FindFeatureCountryCode http://google3/geostore/base/public/country.h?l=39&rcl=154898119 so it should always be populated, but technically there is no guarantee.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
distanceMetersFor a directions result, this field will be the distance from the origin to this result using the best measure we have available – the distance along a route, if we have one, or just the crow’s flight distance. For a local result, this field will be the crow’s flight distance from the user to the result.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
distanceUnitsThe standard units of the location where the user is based (not their current location). For example, miles for a user from the US, kilometers for the UK. A US user currently in the UK should have units read in miles.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
externalIdsVarious external IDs that we may have for this result.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33QualityDialogManagerExternalIds
featureTypeQualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
inUserAdminArea1If true, this LocalResult is located in the same state as the user’s location.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33boolean
inUserCountryIf true, this LocalResult is located in the same country as the user’s location.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33boolean
inUserLocalityWhether this result is in the same city or town that the user is in.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33boolean
internalFoodOrderingMetadataInternal Food ordering action (i.e food ordering via Google) metadata.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33LocalsearchProtoInternalFoodOrderingActionMetadata
isBusinessChainIf the original query had a chain intent, and this result is for a business chain.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33boolean
localityCity/Town.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
nameThe name of the result, extracted from its FeatureProto’s name field.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
neighborhoodNeighborhood within a city. This field is not likely to be set for towns or smaller cities.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
resultIdAll info we will need to lookup this result in search.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33NlpSemanticParsingLocalLocalResultId
streetNameQualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
streetNumberQualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
synonymA list of text synonyms the user could use to refer to the result.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33list(String)
ttsAddressThe address of this result formatted for TTS output. This formatting removes acronyms like 2-letter state codes as they cannot be spoken well.QualityDialogManagerLocalResultA generic representation of a local result returned by a local backend. Next ID: 33String
typeQualityDialogManagerReminderClientTypeDefine Reminder Client Type. This field is for the purposes of 1) UX Customization: Reminder frontends can be configured to have a slightly different UX (e.g., A customized button on Hubpage. A customized notification layout.) 2) Metrics: Client can count how many Reminders with a certain client type are retrieved/mutated. (e.g., VEIDs in go/oparaw.) 3) Index: ListReminder can list all Reminders with a certain client type. 4) Visibility control: some frontends (identified by provenance type, shortn/_xVC9nY2Eb8) only have access to a subset of client types.String
bylineDateSecsPublish date set by webmaster. See detailed description here: http://shortn/_1eC0zzjR7k. Note that this will currently only be set for canonical documents where byline date could be extracted.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
crawlTsUsecThe time that the info in this attachment was computed during crawl, in microseconds.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
extendedNewsPreviewsDomainWhether this document comes from a domain that is affected by Extended News Previews (ENP) and its status (approved/rejected).QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20QualityDniExtendedNewsPreviews
faviconDisplayWhether the favicon for a given domain should be displayed. FAVICON_DISPLAY_UNSPECIFIED – Display the favicon DISABLE_FAVICON – the favicon should not be rendered by the featureQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
firstseenDateSecsFirstseen date populated by indexing. It works as fallback to byline_date if it doesn’t exist. Note that this will currently only be set for canonical documents where firstseen date could be populated.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
isAmpOnly be true when the page itself is an AMP page. For paired AMP, the canonical page will have this bit as false.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20boolean
isEucdDomainQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20boolean
maxSnippetLengthThe max number of snippet characters allowed. Based on document markup. No limit if value is less than 0, Google could use any length of snippets. Default value 0 is the strictest restriction, to avoid violating mistakenly If not set, there is no snippet length policy to enforce. Features must first check has_max_snippet_length to avoid applying an overly strict policy.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxSnippetLengthFromPublisherSame as the max_snippet_length, max_thumbnail_size, max_video_preview_secs listed above. But values are based on publisher’s preferences from Search Console’s robots meta tag tool.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxSnippetLengthPublisherDefaultQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxThumbnailSizeThe max thumbnail size allowed. Based on document markup Default value NONE is the strictest restriction, to avoid violating mistakenly. If not set, there is no thumbnail policy to enforce.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
maxThumbnailSizeFromPublisherQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
maxThumbnailSizePublisherDefaultQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxVideoPreviewSecsThe max seconds of video preview allowed. Based on document markup. No limit if value is less than 0, Google could show any seconds of video. Default value 0 is the strictest restriction, to avoid violating mistakenly If not set, there is no preview length policy to enforce. Features must first check has_max_video_preview_secs to avoid applying an overly strict policy.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxVideoPreviewSecsFromPublisherQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
maxVideoPreviewSecsPublisherDefaultQualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20integer
snippetLengthSourceSource of snippet length.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
thumbnailSizeSourceSource of thumbnail size.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
videoPreviewSecsSourceSource of video preview seconds.QualityDniDocPreviewRestrictionsSet of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20String
desnippetedCountryCodeList of countries that desnippet the publisher. ISO 3166-1-alpha-2 country code (such as FR). See go/iiuse#region-identifiers. Used in V1.QualityDniExtendedNewsPreviewsWhen making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChangelist(String)
policyCriteriaBase64Search Console Signals that modifies how policy are calculated. Didn’t add `wmconsole.EnpDesnippetingOverrideRules` direcly to avoid cicular dependency issue: go/enp-v2#bookmark=id.dvb1qcltabv9 ENPv2 proto (EnpDesnippetingOverrideRules): google3/crawler/wmconsole/proto/config_enp_desnippeting_override_rules.protoQualityDniExtendedNewsPreviewsWhen making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChangeString
statusENP status.QualityDniExtendedNewsPreviewsWhen making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChangeString
versionThe default version is V0 (for backward compatibility).QualityDniExtendedNewsPreviewsWhen making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChangeString
encodedCalibratedFringeSitePriorScoreQualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedChardXlqHoaxPredictionAn encoding of the Chard XLQ-hoax prediction in [0,1].QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedChardXlqTranslatedPredictionAn encoding of the Chard XLQ prediction on translated content in [0,1].QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedChardXlqYmylPredictionAn encoding of the Chard XLQ-YMYL prediction in [0,1].QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedDaftScoreAn encoding of the Document About Fringe Topic (daft) score in [0, 1].QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedDocumentFringeVulnerabilityAn estimate of the vulnerability of this doc to show fringe content, based on the context around the document. Can be interpreted as a ‘safe’ QScore threshold to use (see go/doc-fringe-vulnerability for more info). Encoded for compactness and to restrict visibility. Please contact fringe-ranking@ to get access to quality_fringe::DocumentFringeVulnerabilityEncoding to decode this field.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedEntityPriorScoreHighest entity prior seen for document’s Headline and SingleTopic entities (see go/topicality-score for definitions of entity topicalities). Represents probability that a query is fringe, given that the entity is in the result set with topicality >= Headline. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedFringePriorScoreProbability that a query is fringe, given this document is in the result set. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedFringeSitePriorScoreProbability that a query is fringe, given this document’s site is in the result set. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedFringeSitePriorScoreForQfsTrainingProbability that a query is fringe, given this document’s site is in the result set. Does not use signals with a dependency on the QueryFringeScore of a document. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API. Will NOT be present if the fringe_site_prior_score_for_qfs_training is not significantly different from the site_prior_score.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedPredictedXlqScoreAndConfidenceA combined encoding of the pXLQ score in [0,1] and the confidence with which that score should be interpreted in [0,1].QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedProximityScoreA score in [0, 1] representing the similarity of this doc to known fringe-vulnerable ‘seeds’. See go/fringe-proximity for more information. Encoded for compactness and to restrict visibility.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
encodedPseudoraterPxlqScoreAn encoding of the XLQ pseudorater severity score translated into pXLQ score space in [0,1]. The encoding includes the pseudorater version and confidence.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16integer
sensitiveEntitiesIndicesIndices on the repository_webref::WebrefEntities::entity field of entities that represent a person or a group of people (aka sensitive entities). Will be deprecated once sensitive_entities_mids is fully launched (see b/290268614).QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16list(integer)
sensitiveEntitiesMidsMIDs of entities that represent a person or a group of people (aka sensitive entities). See b/290268614 for reference why this is needed in replacement to sensitive_entities_indices.QualityFringeFringeQueryPriorPerDocDataPerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16list(String)
entitiesQualityGenieComplexQueriesComplexQueriesOutputRewritelist(QualityGenieComplexQueriesComplexQueriesOutputRewriteEntity)
rewriteTypeQualityGenieComplexQueriesComplexQueriesOutputRewriteString
textualRewriteQualityGenieComplexQueriesComplexQueriesOutputRewriteString
midQualityGenieComplexQueriesComplexQueriesOutputRewriteEntityString
nameQualityGenieComplexQueriesComplexQueriesOutputRewriteEntityString
brainlocVersionQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10integer
topCitiesRawScoresQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topCitiesVocabIdsCompressed top locations and their scores. *Locations are stored using their model vocab IDs. *Location scores are stored using 14 bits of precision (2 bytes).QualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topCountiesRawScoresQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topCountiesVocabIdsQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topCountriesRawScoresQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topCountriesVocabIdsQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topStatesRawScoresQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
topStatesVocabIdsQualityGeoBrainlocBrainlocAttachmentCompressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10list(integer)
labelQualityLabelsGoogleLabelDatalist(QualityLabelsGoogleLabelDataLabel)
confidenceIf global_label_value is present, confidence is ignored. confidence is DEPRECATED.QualityLabelsGoogleLabelDataLabelnumber
globalLabelBucketA byte-size value representing 64 * (1 + global_label_value). Use this instead of global_label_value to save on label storage. See quality_prose::LabelValueToBucket() for more info.QualityLabelsGoogleLabelDataLabelinteger
globalLabelValueQualityLabelsGoogleLabelDataLabelnumber
labelIdAt least one of label_id and label_name must be filled inQualityLabelsGoogleLabelDataLabelinteger
labelNameQualityLabelsGoogleLabelDataLabelString
providerQualityLabelsGoogleLabelDataLabellist(QualityLabelsGoogleLabelDataLabelProvider)
providerIdQualityLabelsGoogleLabelDataLabellist(String)
feedThis field is intended to be deprecated. If id == 0 and feed is true it means this label is from a feed. If id == 0 and feed is false, this label is from “Google” If id != 0, feed is meaningless.QualityLabelsGoogleLabelDataLabelProviderIf Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.boolean
idWe are currently using this field to indicate an id of the set of classifiers that produced this label. This deviates from the original intention. Also see ClassifierDescription and refer to http://go/genre-labels-provider-id for further info.QualityLabelsGoogleLabelDataLabelProviderIf Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.String
labelBucketA byte-size value representing 64 * (1 + global_label_value). Use it instead of global_label_value to save on label storage.QualityLabelsGoogleLabelDataLabelProviderIf Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.integer
labelValueQualityLabelsGoogleLabelDataLabelProviderIf Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.number
nameThis name will only sometimes be filled in! Frontends can in general expect this to be filled in, but it will not usually be stored in backends.QualityLabelsGoogleLabelDataLabelProviderIf Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.String
absoluteImpressionsThus far this field is only used for host level unsquashed impressions. When compressed (e.g., in perdocdata.proto, CompressedQualitySignals), this value is represented individually and thus is generally incompatible with the other values which are compressed as click-ratios.QualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
badClicksQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
clicksQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
goodClicksQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
impressionsQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
lastLongestClicksQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
unicornClicksThe subset of clicks that are associated with an event from a Unicorn user.QualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
unsquashedClicksThis is not being populated for the current format – instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.QualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
unsquashedImpressionsThis is not being populated for the current format – instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.QualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
unsquashedLastLongestClicksQualityNavboostCrapsCrapsClickSignalsClick / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.float
badClicksQualityNavboostCrapsCrapsDataNEXT TAG: 28float
clicksQualityNavboostCrapsCrapsDataNEXT TAG: 28float
countryThe two-letter uppercase country slice of the CrapsData. Examples: “US”, “FR”, “BR”QualityNavboostCrapsCrapsDataNEXT TAG: 28String
deviceThe device interface and os slice of the CrapsData.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsDevice
featuresContains CrapsClickSignals for specific features. (i.e. for mobile, US, metro id – 123″)QualityNavboostCrapsCrapsDataNEXT TAG: 28list(QualityNavboostCrapsFeatureCrapsData)
goodClicksQualityNavboostCrapsCrapsDataNEXT TAG: 28float
impressionsThese fields may become legacy fields; we may retire them and use the squashed field (below) instead, to allow for some nesting.QualityNavboostCrapsCrapsDataNEXT TAG: 28float
languageThe language slice of the CrapsData. Examples: “en”, “fr”, “pt-BR”,QualityNavboostCrapsCrapsDataNEXT TAG: 28String
lastLongestClicksThe number of clicks that were last and longest in related user queries.QualityNavboostCrapsCrapsDataNEXT TAG: 28float
mobileDataDO NOT USE: Use the above mobile_signals fields instead. DO NOT REMOVE: Field is present in legacy protos in golden tests.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsData
mobileSignalsThe portion of this CrapsData aggregated on data from tier 1/2 mobile interfaces in QSessions.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsClickSignals
packedIpAddressContains a packed string in network byte order, as expected by CrapsIpPrior. Only populated if we looked up the ip_prior_bad_fraction at retrieval time.QualityNavboostCrapsCrapsDataNEXT TAG: 28String
patternLevelLevel of pattern. More general patterns get higher values. For URL patterns this field = 0. For example, if we have “http://abc.def.ghi/xyz.html” level 0 pattern will be “http://abc.def.ghi/xyz.html” level 1 pattern will be “p://abc.def.ghi” level 2 pattern will be “p://def.ghi”QualityNavboostCrapsCrapsDataNEXT TAG: 28integer
patternSccStatsFor pattern data, this will contain stats of the SCC’s of the individual urls contributing to the pattern.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsStatsWithWeightsProto
queryQualityNavboostCrapsCrapsDataNEXT TAG: 28String
sliceTagThis field can be used by the craps pipeline to slice up signals by various attributes such as device type, country, locale etc. The slice_tag can be an arbitrary string, and the CrapsData values for each slice_tag are aggregated separately, together with the default empty slice_tag.QualityNavboostCrapsCrapsDataNEXT TAG: 28String
squashedNot used yet – we will probably move the impressions / clicks / good_clicks bad clicks / last longest clicks into here from top level, and rename those fields to legacy.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsClickSignals
unscaledIpPriorBadFractionUsed to assign a prior based on IP address. See quality/navboost/craps/craps-ip-prior.h. This value is prior to the linear transformation (scaling / offset / min / max) that’s applied in craps-penalty.cc.QualityNavboostCrapsCrapsDataNEXT TAG: 28float
unsquashedWe will start using this one for the retuning rollout.QualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsClickSignals
unsquashedMobileSignalsQualityNavboostCrapsCrapsDataNEXT TAG: 28QualityNavboostCrapsCrapsClickSignals
urlQualityNavboostCrapsCrapsDataNEXT TAG: 28String
voterTokenCountThe number of distinct voter tokens (a lower bound on the number of distinct users that contributed to the entry, used for privacy-related filtering).QualityNavboostCrapsCrapsDataNEXT TAG: 28integer
osQualityNavboostCrapsCrapsDeviceCrapsDevice has the gws interface, gws tier and operating system for events from QSessions.String
uxInterfaceAn enum taken from GWSLogEntryProto that indicates what type of device a request came from. This includes an entry for DESKTOP(1), MOBILE(2), and TABLET(3) devices. Reference: – gwslog(608): GWSLogEntryProto.ux_interfaceQualityNavboostCrapsCrapsDeviceCrapsDevice has the gws interface, gws tier and operating system for events from QSessions.integer
uxTierIndicates the device browser tier for the given request. 1 means modern browsers, 3 means very old browsers, and 2 is everything in the middle. See Reference: – gwslog(609): GWSLogEntryProto.ux_tierQualityNavboostCrapsCrapsDeviceCrapsDevice has the gws interface, gws tier and operating system for events from QSessions.integer
countryCountry, like “us”. If not present, it’s an aggregation for all countries. This is the same format as one used in Glue.QualityNavboostCrapsFeatureCrapsDataString
deviceDevice, like “m”. If not present, it’s an aggregation for all devices. “m” – mobile devices. “d” – destop devices.QualityNavboostCrapsFeatureCrapsDataString
languageLanguage, like “en”. If not present, it’s an aggregation for all languages. This is the same format as one used in Glue.QualityNavboostCrapsFeatureCrapsDataString
locationIdLocation id for metro and city. If not present, it’s an aggregation for all locations within current country.QualityNavboostCrapsFeatureCrapsDatainteger
signalsCRAPS Signals for the locale.QualityNavboostCrapsFeatureCrapsDataQualityNavboostCrapsCrapsClickSignals
voterTokenBitmapThe set of voter tokens of the sessions that contributed to this feature’s stats. Voter tokens are not unique per user, so it is a lower bound on the number of distinct users. Used for privacy-related filtering.QualityNavboostCrapsFeatureCrapsDataQualityNavboostGlueVoterTokenBitmapMessage
hiQualityNavboostCrapsStatsWithWeightsProtofloat
kindQualityNavboostCrapsStatsWithWeightsProtointeger
loQualityNavboostCrapsStatsWithWeightsProtofloat
meanQualityNavboostCrapsStatsWithWeightsProtofloat
medianQualityNavboostCrapsStatsWithWeightsProtofloat
nQualityNavboostCrapsStatsWithWeightsProtointeger
pc10QualityNavboostCrapsStatsWithWeightsProtofloat
pc25QualityNavboostCrapsStatsWithWeightsProtofloat
pc75QualityNavboostCrapsStatsWithWeightsProtofloat
pc90QualityNavboostCrapsStatsWithWeightsProtofloat
stdErrorQualityNavboostCrapsStatsWithWeightsProtofloat
stddevQualityNavboostCrapsStatsWithWeightsProtofloat
varOfMeanQualityNavboostCrapsStatsWithWeightsProtofloat
varianceQualityNavboostCrapsStatsWithWeightsProtofloat
weightedNQualityNavboostCrapsStatsWithWeightsProtofloat
subRangeQualityNavboostGlueVoterTokenBitmapMessageUsed for aggregating query unique voter_token during merging. We use 4 uint64(s) as a 256-bit bitmap to aggregate distinct voter_tokens in Glue model pipeline. Number of elements should always be either 0 or 4. As an optimization, we store the voter_token as a single uint64 if only one bit is set. See quality/navboost/speedy_glue/util/voter_token_bitmap.h for the class that manages operations on these bitmaps.list(String)
voterTokenQualityNavboostGlueVoterTokenBitmapMessageUsed for aggregating query unique voter_token during merging. We use 4 uint64(s) as a 256-bit bitmap to aggregate distinct voter_tokens in Glue model pipeline. Number of elements should always be either 0 or 4. As an optimization, we store the voter_token as a single uint64 if only one bit is set. See quality/navboost/speedy_glue/util/voter_token_bitmap.h for the class that manages operations on these bitmaps.String
versionedSignalsQualityNsrExperimentalNsrTeamDataExperimental NsrTeam data. This is a proto containing versioned signals which can be used to run live experiments. This proto will not be propagated to MDU shards, but it will be populated at query time by go/web-signal-joins inside the CompressedQualitySignals subproto of PerDocData proto. See go/0DayLEs for the design doc. Note how this is only meant to be used during LEs, it should *not* be used for launches.list(QualityNsrExperimentalNsrTeamScoringSignal)
valueBoolQualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.boolean
valueDoubleQualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.float
valueFloatQualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.number
valueInt32QualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.integer
valueStringQualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.String
valueUint32QualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.integer
versionIdQualityNsrExperimentalNsrTeamScoringSignalThe versioned signals used by the ExperimentalNsrTeamData proto.integer
experimentalNsrTeamDataQualityNsrExperimentalNsrTeamWSJDataThis is a wrapper needed for the WSJ corpus. We want the WSJ RPCs to inject both the experimental_data and the keys, and as of June 2022 these need to be first level members of the proto.QualityNsrExperimentalNsrTeamData
lookupKeyThe key used to lookup this data in the WSJ corpus. The WSJ data is sitechunk-level, however the documents in the MDU shards are simply urls. WSJ does a mapping from url -> {primary_chunk, secondary, fallbacks, etc.} and retrieves all the keys from the corpus. This lookup key field will keep track of which key was used for this particular lookup.QualityNsrExperimentalNsrTeamWSJDataThis is a wrapper needed for the WSJ corpus. We want the WSJ RPCs to inject both the experimental_data and the keys, and as of June 2022 these need to be first level members of the proto.String
siteFracWhat fraction of the site went into the computation of the site_score. Should be a number in (0, 1].QualityNsrKetoKetoVersionedDataData populated to NsrData and hence propagated to docjoins/ascorer/superroot/etc.number
siteScoreSite-level aggregated keto score.QualityNsrKetoKetoVersionedDataData populated to NsrData and hence propagated to docjoins/ascorer/superroot/etc.number
versionIdUnique id of the version.QualityNsrKetoKetoVersionedDataData populated to NsrData and hence propagated to docjoins/ascorer/superroot/etc.integer
primaryChunkPrimary NSR sitechunk. In most of the cases it’s same as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, but important cases it’s based on page markup (see quality/nsr/util/sitechunker.h for details).QualityNsrNsrChunksProtoThe NsrChunksProto corresponds to the NSRChunks class. The data saved by the proto and the class is the same. We provide utilities to go from one to the other.String
secondaryChunksSecondary NSR sitechunk. When present, it provides more granular chunking than primary sitechunks (see quality/nsr/util/sitechunker.h for details). Note that the NSRChunks class does not store trivial secondary chunks. Be aware of this when constructing NsrChunksProto from scratch.QualityNsrNsrChunksProtoThe NsrChunksProto corresponds to the NSRChunks class. The data saved by the proto and the class is the same. We provide utilities to go from one to the other.list(String)
nsrChunksQualityNsrNsrChunksWithSourceInfoQualityNsrNsrChunksProto
siteChunkSourceAnnotated in the SitechunksAnnotator and copied over in NsrAnnotator.QualityNsrNsrChunksWithSourceInfoString
ugcScoreQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
spambrainLavcScoresQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
titlematchScoreTitlematch score of the site, a signal that tells how well titles are matching user queries.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
site2vecEmbeddingEncodedEncoded site2vec embedding (to be used in superroot) since the full embeddings take too much space.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrNsrDataEncodedEmbedding)
smallPersonalSiteScore of small personal site promotion go/promoting-personal-blogs-v1QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
pnavClicksdenominator for the pnav computationQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
siteChunkSourceThese are only annotated in the Goldmine NSR annotator.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
clusterUpliftQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63QualityNsrNsrDataClusterUplift
siteAutopilotScoreAggregated value of url autopilot scores for this sitechunk.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
isVideoFocusedSiteBit to determine whether the site has mostly video content, but is not hosted on any known video-hosting domains. Site is considered to be video-focused, if it has > 50% of the URLs with watch pages (with smoothing prior). ariane/4045246QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63boolean
metadataQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63QualityNsrNsrDataMetadata
chromeInTotalSite-level Chrome views.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
chardVarianceQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
chardScoreVarianceSite-level Chard Variance for all pages of a site.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
chardScoreEncodedSite-level Chard (encoded as an int).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedIntSignal)
nsrdataFromFallbackPatternKeyIf true indicates that we do not have NSR data computed for the chunk, and instead the data is coming from an average of other host chunks.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63boolean
siteQualityStddevsQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
clusterIdAn id for defining clusters of sites. Used in ecosystem experiments (project Tundra).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63integer
videoScoreQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
shoppingScoreQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
nsrQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
localityScoreLocality score of the site, i.e. the locality component of the LocalAuthority signal (see go/pq-localauthority).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
siteChunkPrimary NSR sitechunk. In most of the cases it’s same as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, but important cases it’s based on page markup (see quality/nsr/util/sitechunker.h for details).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
i18nBucketCurrently corresponds to i18n_g42_bucket.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63integer
chardEncodedSite-level chard score: site quality predictor based on content.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63integer
articleScoreV2QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
nsrEpochThe epoch from which this NSR value is coming from.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
tofuSite-level tofu score: site quality predictor based on content.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
siteLinkOutAggregated value of url link out scores for this sitechunk.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
nsrOverrideBidThis signal is used to unconditionally override NSR as a bid in Q*. Should only be used in case of emergency (see go/nsr-override-bid). To have any effect, the value should be present and greater than 0.001.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
languageQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63integer
clutterScoresQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
hostQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
isCovidLocalAuthorityBit to determine whether the site has the local authority covid signal, as computed by go/covid-local-authorityQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63boolean
pnavFractional signals.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
siteQualityStddevEstimate of site’s PQ rating stddev–spread of the page-level PQ ratings of a site. Note this is different from nsr_variance which predicts error of NSR itself from the aggregated site-level rating.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
impressionsSite-level impressions.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
directFracQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
vlqScore of the Video LQ model.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
racterScoresSite-level AGC classification score (see also go/project-racter-overview).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
spambrainLavcScoreThe SpamBrain LAVC score, as of July 2022. See more information at go/cloverfield-lavc-deck.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
urlQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
secondarySiteChunkSecondary NSR sitechunk. When present, it provides more granular chunking than primary sitechunks (see quality/nsr/util/sitechunker.h for details).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63String
articleScoreScore from article classification of the site.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
site2vecEmbeddingSite2vec embeddings.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrNsrDataEmbedding)
versionedDataVersioned map of NSR values for experimenting with the next release.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrNSRVersionedData)
siteLinkInAverage value of the site_link_in for pages in the sitechunk.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
ketoVersionedDataKeto data.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrKetoKetoVersionedData)
ymylNewsV2ScoreQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
isElectionAuthorityBit to determine whether the site has the election authority signal, as computed by go/election-authorityQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63boolean
sitePrQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
priorAdjustedNsrNSR – prior. Estimate of whether the site is above/below average NSR in its slice.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63list(QualityNsrVersionedFloatSignal)
healthScoreCategorical signals.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
clutterScoreDelta site-level signal in Q* penalizing sites with a large number of distracting/annoying resources loaded by the site (see go/clutter-v0).QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
vlqNsrNSR from a headroom model targeting low-quality video sites.QualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
nsrVarianceQualityNsrNsrDataNOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63number
localScore for the local sites arm.QualityNsrNsrDataClusterUpliftThe uplift-per-cluster values used in Tundra’s uplift arm.number
smallScore for the small sites arm.QualityNsrNsrDataClusterUpliftThe uplift-per-cluster values used in Tundra’s uplift arm.number
versionQualityNsrNsrDataEmbeddinginteger
xQualityNsrNsrDataEmbeddinglist(number)
dataQualityNsrNsrDataEncodedEmbeddingString
versionQualityNsrNsrDataEncodedEmbeddinginteger
encodedLookupInformationEncoded lookup information. The fields set above are expensive to store. Storing them in docjoins is fine, but we cannot store them in MDU shards. In order for the MDU shards to display field provenance information, we store them as a bitfield. For details about the encoding and decoding scheme, see quality_nsr::util::EncodeMetadataLookupInformation. We expect this to occupy 8 bytes as long as there are less than 64 fields in NsrData proto, 12 bytes between 64 and 92 fields, etc.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
goldmineLookupKeyPerFieldSame as raffia_lookup_key_per_field. Note that the goldmine_lookups have priority; if a field appears in both goldmine and raffia entries, it means it was taken from goldmine. If it’s missing here but present in raffia_lookup_key_per_field, it was taken from raffia.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.map
goldmineLookupKeysThe lookup keys attempted by goldmine. Note that goldmine only runs for urls which can be chunked differently than raffia; in those cases, goldmine related fields are empty.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.list(String)
lastTimeProcessedGoldmineInSecondsQualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
lastTimeProcessedMduInSecondsThis field is populated only during MDU population, so it’s *not* present in docjoins, but it’s present in production so that it can be displayed.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
lastTimeProcessedRaffiaInSecondsRecords the last time each system has processed the proto. These are recorded as seconds from the unix epoch. Ideally these fields would be google.protobuf.Timestamp, but the scoring bundle (which depends on this proto) does not understand proto3 syntax. See cl/500942047 for details.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
nsrChunksWithSourceInfoStores the NSRChunks (computed by goldmine) which were used to populate the data.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.QualityNsrNsrChunksWithSourceInfo
raffiaLookupKeyQualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
raffiaLookupKeyPerFieldReturns the raffia lookup key per each field in the NsrData proto (with exclusion of the Metadata sub-message (i.e. this)). It contains information like 3 : 1, meaning that the field inside NsrData with id ‘3’ (in this case ‘host’) has been taken by raffia from the raffia lookup key at index 1.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.map
raffiaLookupKeysThis is an internal field set by Raffia, to indicate which lookup keys have been attempted to populate the NsrData for this document. This will allow us to determine which key has been used to populate each field in the proto. The keys are ordered by lookup priority; raffia will give priority to earlier keys, and only take fields from later keys if they are missing.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.list(String)
raffiaSignalMergerUrlThe url used by NsrSignalMerger (http://google3/indexing/signals/signal-merger.h;l=1801;rcl=509297232) to select which NsrData value to keep. The SignalMerger merges all the NsrData coming from the dup url cluster, and select the NsrData value to return by choosing a single url in the cluster (see NsrSignalMerger class for details). NOTE: This field is populated only when there *is* a cluster. If there is no cluster, this is empty and the key used is the canonical (and only) url.QualityNsrNsrDataMetadataContains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.String
valueThe corresponding NSR value.QualityNsrNSRVersionedDataVersioned NSR score data.number
versionIdThe unique id of the version, preferably just scaled: 19.1 x 10 = 191.QualityNsrNSRVersionedDataVersioned NSR score data.integer
chardURL-level chard prediction (encoded as an int).QualityNsrPQDataNext id: 22integer
chardScoreEncodedURL-level Chard (encoded as an int).QualityNsrPQDataNext id: 22list(QualityNsrVersionedIntSignal)
contentEffortLLM-based effort estimation for article pages (see landspeeder/4311817).QualityNsrPQDataNext id: 22list(QualityNsrVersionedFloatSignal)
deltaAutopilotScoreQualityNsrPQDataNext id: 22number
deltaLinkIncomingQualityNsrPQDataNext id: 22number
deltaLinkOutgoingQualityNsrPQDataNext id: 22number
deltaSubchunkAdjustmentTotal deltaNSR adjustment based on subchunks. This is a page-level adjustment (subchunks are retrieved based on the page classification).QualityNsrPQDataNext id: 22number
ketoKeto score.QualityNsrPQDataNext id: 22list(QualityNsrVersionedFloatSignal)
linkIncomingQualityNsrPQDataNext id: 22number
linkOutgoingQualityNsrPQDataNext id: 22number
numOffdomainAnchorsThe total number of offdomain anchors seen by the NSR pipeline for this page.QualityNsrPQDataNext id: 22number
page2vecLqQualityNsrPQDataNext id: 22number
predictedDefaultNsrPredicted default NSR score computed in Goldmine via the NSR default predictor (go/default-nsr-predictor).QualityNsrPQDataNext id: 22list(QualityNsrVersionedFloatSignal)
rhubarbSite-URL delta signals based quality score computed in Goldmine via the Rhubarb model (go/rhubarb-dd).QualityNsrPQDataNext id: 22list(QualityNsrVersionedFloatSignal)
subchunkDataQualityNsrPQDataNext id: 22list(QualityNsrPQDataSubchunkData)
tofuURL-level tofu prediction.QualityNsrPQDataNext id: 22number
unversionedRhubarbThe delta score of the URL-level quality predictor.QualityNsrPQDataNext id: 22number
urlAutopilotScoreQualityNsrPQDataNext id: 22number
vlqURL-level score of the VLQ model.QualityNsrPQDataNext id: 22number
confidenceConfidence associated with the chunk.QualityNsrPQDataSubchunkDataData used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.number
deltaNsrSubchunk delta in nsr.QualityNsrPQDataSubchunkDataData used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.number
pageWeightWeight with which this document belong to this subchunk (greater than 0).QualityNsrPQDataSubchunkDataData used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.number
typeType of this chunk. Eg, ymyl_health, d2v, etc.QualityNsrPQDataSubchunkDataData used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.String
valueThe corresponding float value.QualityNsrVersionedFloatSignalA versioned float value. See VersionedFloatSignal functions in google3/quality/nsr/proto/proto_util.hnumber
versionIdUnique version id.QualityNsrVersionedFloatSignalA versioned float value. See VersionedFloatSignal functions in google3/quality/nsr/proto/proto_util.hString
valueThe corresponding int value.QualityNsrVersionedIntSignalA versioned int value. See VersionedIntSignal functions in google3/quality/nsr/proto/proto_util.hString
versionIdUnique version id.QualityNsrVersionedIntSignalA versioned int value. See VersionedIntSignal functions in google3/quality/nsr/proto/proto_util.hString
belowThresholdIntentsSame as above, but for intents below triggering threshold. It can be assumed that any intent in this list has trigger=false. Most intents do not have below-threshold annotations.QualityOrbitAsteroidBeltDocumentIntentScoresNext ID: 7list(String)
belowThresholdScoresQualityOrbitAsteroidBeltDocumentIntentScoresNext ID: 7list(integer)
intentsThe ‘intents’ and ‘scores’ fields are stored as parallel lists for compactness. The ‘scores’ field should not be accessed directly, but instead through the functions in document_intent_scores_utils.QualityOrbitAsteroidBeltDocumentIntentScoresNext ID: 7list(String)
scoresThe intent scores, scaled to integers between 0 and 100 for compactness.QualityOrbitAsteroidBeltDocumentIntentScoresNext ID: 7list(integer)
versionDEPRECATED. DO NOT USE IT FOR ANY REASON! contact orbit@ if necessary.QualityOrbitAsteroidBeltDocumentIntentScoresNext ID: 7integer
intentsThe unique identifier for an Asteroid Belt document intent is being reused hereQualityOrbitAsteroidBeltImageIntentScoresThese scores are for image scores *in the context of a landing page*, which is now a discouraged path of building image classifications. See go/orbit-for-images-v2 for an alternative.list(String)
scoresThe intent scores, scaled to integers between 0 and 100 for compactness.QualityOrbitAsteroidBeltImageIntentScoresThese scores are for image scores *in the context of a landing page*, which is now a discouraged path of building image classifications. See go/orbit-for-images-v2 for an alternative.list(integer)
imageIntentIntent of this proto instance.QualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.String
missingInputsQualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.list(String)
reachQualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.String
removeWhether this intent should be removed when backfilling new classifications to the index. When backfilling a new version of a classifier to production we have cases where we actually want to *remove* an intent that was present in production because the new version might have moved the intent to below logging threshold. This bit should be used to signal this case so that merging logic can remove the intent for the image. This should *never* be set in a production callsite, it is only intended for backfilling operations.QualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.boolean
scoreScore of the intent.QualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.number
triggerWhether the intent triggered with the default threshold or not.QualityOrbitOrbitImageIntentStores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.boolean
intentsIntents with non-trivial scores.QualityOrbitOrbitImageIntentsImage-only orbit intents (See: go/orbit-for-images-v2)list(QualityOrbitOrbitImageIntent)
versionRepresents the version. Filled in Amarna (main version controller).QualityOrbitOrbitImageIntentsImage-only orbit intents (See: go/orbit-for-images-v2)String
isVulgarWhether this snippet is a vulgar candidate.QualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8boolean
leadingTextTypeQualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8String
snippetHtmlThe rendered snippet html.QualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8String
snippetTypeQualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8String
sourceSource of the chosen snippet, decided in PORC. String value of quality.porc.TextSnippetCandidate.TextSnippetSource defined at google3/quality/porc/proto/text_snippet.protoQualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8String
tidbitsQualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8list(QualityPreviewChosenSnippetInfoTidbitInfo)
trailingEllipsisWhether this snippet has trailing ellipsis.QualityPreviewChosenSnippetInfoInformation for chosen snippet. Next ID: 8boolean
sectionNameSection name of current snippet.QualityPreviewChosenSnippetInfoTidbitInfoInformation to identify tidbits.String
separatorSeparator to put before this tidbit.QualityPreviewChosenSnippetInfoTidbitInfoInformation to identify tidbits.String
tidbitTextTidbit text for validation.QualityPreviewChosenSnippetInfoTidbitInfoInformation to identify tidbits.String
tokenBeginTidbit token range in the section.QualityPreviewChosenSnippetInfoTidbitInfoInformation to identify tidbits.String
tokenEndQualityPreviewChosenSnippetInfoTidbitInfoInformation to identify tidbits.String
brainFeaturesFeatures from SnippetFlow in Superroot.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetBrainFeatures
documentFeaturesQualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetDocumentFeatures
experimentalFeaturesFor experimental usage, not populated yet.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetExperimentalFeatures
finalScoreThe final score of this candidate.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================number
isMuppetSelectedSnippetIs this the candidate chosen by Muppet scorer.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================boolean
originalQueryTermCoverageFeaturesQuery term (original terms only) coverage features.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetQueryTermCoverageFeatures
qualityFeaturesQualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetQualityFeatures
queryFeaturesCore set of snippet features.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetQueryFeatures
queryTermCoverageFeaturesQuery term (including synonyms) coverage features.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetQueryTermCoverageFeatures
radishFeaturesRadish related information.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewSnippetRadishFeatures
snippetInfoInformation to identify current chosen snippet.QualityPreviewRanklabSnippetSnippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================QualityPreviewChosenSnippetInfo
perTypeRankRank of this title among titles of the same `data_source_type`.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
goldmineLocationFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceGeneratedTitleQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
sourceOffdomainAnchorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineReadabilityScoreQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
queryMatchThe number of (different) terms with a query match. It may include the match with any SQuery node (e.g., synonyms).QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
goldmineUrlMatchFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
percentBodyTitleTokensCoveredNumbers of body title tokens covered by this title, in range of [0, 1]. Not set if body title is considered “bad”.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineGeometryFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineOnPageDemotionFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineOtherBoostFeatureCountThe number of BoostFeatures present in AlternativeTitlesGeneator but not populated above.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
percentTokensCoveredByBodyTitleNumbers of tokens covered by body title, in range of [0, 1]. Not set if body title is considered “bad”.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
hasSiteInfoWhether a title contains site information.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineHeadingFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineSiteNameMarkupFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineSubHeadingQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineFinalScoreDeprecated: use `goldmine_page_score` instead.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
testRankThe ranking index of this candidate (starting from 0) in test.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
goldmineHeaderIsH1QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineSitenameFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineHasBoilerplateInTitleQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
isValidWhether a title is valid (i.e., not empty).QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineTitleTagFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineTrustFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceHeadingTagQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
sourceTransliteratedTitleQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
dupTokensNumbers of duplicated tokens. For example, duplicated tokens for a title “dog cat cat cat” is 2 (for 2 extra “cat”).QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
textTitle text to display. Populated for debugging purpose only, and won’t be used for model inferences. This represetns the exact display text in SERP, with modifications like truncations or site-title appending involved.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70String
goldmineSiteQueryFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineSalientTermFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineAnchorSupportOnlyQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceGeometryQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
forcedExperimentScoreA score assigned for candidates forced by experiments.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
baseRankThe ranking index of this candidate (starting from 0) in base.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70integer
baseGoldmineFinalScore`goldmine_final_score` value in base.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineIsBadTitleQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineIsTruncatedQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceLocalTitleQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineHasTitleNgramQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
isTruncatedWhether this title candidate is truncated or not.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
docLangDocument language for this title. It is used for model inference and hence flattened into RanklabTitle instead of RanklabDoc.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70String
testGoldmineFinalScore`goldmine_final_score` value in test.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
queryRelevanceDeprecated experimental features.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineOgTitleFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceTitleTag!ERROR! B10036 -> Formula Error: An unexpected error occurredQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
sourceOndomainAnchorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineIsHeadingTagQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
queryMatchFractionA number of matched query terms divided by the number of all terms in query. Synonyms or other terms that appear in squery but not in the raw query are excluded. Takes values in [0, 1].QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
perTypeQualityHow good or bad this title is as a `data_source_type` title type.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70String
goldmineAnchorFactor!ERROR! B10041 -> Formula Error: An unexpected error occurredQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineNavboostFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
sourceOnsiteAnchorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70boolean
goldmineBodyFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineIsTitleTagQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
widthFractionA rendered width of this title divided by the max allowed width for title. Takes values in [0, 1].QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
dataSourceTypeTitle source type.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70String
goldmineLocalTitleFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
docRelevanceQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineForeignQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldminePageScoreThe score for the `text` computed in Goldmine (AlternativeTitlesAnnotator).QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineAdjustedScoreThe score for `text` computed in Goldmine (AlternativeTitlesAnnotator) with additional scoring adjustments applied. Currently includes Blockbert scoring.QualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
goldmineBlockbertFactorQualityPreviewRanklabTitleA collection of data corresponding to a single title candidate. This will be used as: – a collection of signals to score and select titles in production – an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70number
isSnippetBrainBoldingTriggeredIs the bolding triggered.QualityPreviewSnippetBrainFeaturesSnippet brain scores.boolean
modelScoreThe score by SnippetBrain model.QualityPreviewSnippetBrainFeaturesSnippet brain scores.number
experimentalTitleSalientTermsScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
leadingtextDistanceScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
metaBoostScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
salientPositionBoostScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
salientTermsScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
schemaOrgDescriptionBoostScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
unstableTokensScoreQualityPreviewSnippetDocumentFeaturesDocument related features used in snippets scoring. Next ID: 10number
isLikelyHomepageQualityPreviewSnippetExperimentalFeaturesboolean
numQueryItemsQualityPreviewSnippetExperimentalFeaturesinteger
numTidbitsQualityPreviewSnippetExperimentalFeaturesinteger
numVisibleTokensQualityPreviewSnippetExperimentalFeaturesinteger
radishQualityPreviewSnippetExperimentalFeaturesQualityPreviewSnippetRadishFeatures
foreignMetaScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
hiddenRatioScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
numTidbitsScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
numVisibleTokensScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
outlinkScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
redundancyScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
sentenceStartScoreQualityPreviewSnippetQualityFeaturesQuality related features used in snippets scoring. Next ID: 10number
experimentalQueryTitleScoreQualityPreviewSnippetQueryFeaturesQuery related features used in snippets scoring. Next ID: 7number
passageembedScoreQualityPreviewSnippetQueryFeaturesQuery related features used in snippets scoring. Next ID: 7number
queryHasPassageembedEmbeddingsQualityPreviewSnippetQueryFeaturesQuery related features used in snippets scoring. Next ID: 7boolean
queryScoreQualityPreviewSnippetQueryFeaturesQuery related features used in snippets scoring. Next ID: 7number
radishScoreQualityPreviewSnippetQueryFeaturesQuery related features used in snippets scoring. Next ID: 7number
snippetQueryTermCoverageQualityPreviewSnippetQueryTermCoverageFeaturesSnippet query term coverage features.number
titleQueryTermCoverageQualityPreviewSnippetQueryTermCoverageFeaturesSnippet query term coverage features.number
titleSnippetQueryTermCoverageQualityPreviewSnippetQueryTermCoverageFeaturesSnippet query term coverage features.number
answerScoreAnswer score of the passage for this `navboost_query`.QualityPreviewSnippetRadishFeaturesnumber
navboostQueryNavboost query for this radish signal.QualityPreviewSnippetRadishFeaturesString
passageCoverageThe ratio of overlapping tokens between the radish passage and snippet candidate.QualityPreviewSnippetRadishFeaturesnumber
passageTypeInteger value of indexing::annotations::wa_passages::Passage::Type.QualityPreviewSnippetRadishFeaturesinteger
queryPassageIdxThe index of this passage under `navboost_query`.QualityPreviewSnippetRadishFeaturesinteger
similarityMethodHow the similarity score is computed. Integer value of mustang_repos_www_snippets::RadishSignalScoringInfo::SimilarityMethod.QualityPreviewSnippetRadishFeaturesinteger
similarityScoreSimilarity score between this `navboost_query` and the incoming query.QualityPreviewSnippetRadishFeaturesnumber
snippetCoverageQualityPreviewSnippetRadishFeaturesnumber
localeData for each locale.QualityProductProductSiteDataProtocol message for data related to product sites. This data is stored as signals data in docjoins.list(QualityProductProductSiteDataLocaleData)
boostFactorSite boosting multiplier.QualityProductProductSiteDataLocaleDataData for one locale.number
gobiSiteWhether this is a gobi site, ie, a site from a gobi domain that should be boosted for a category query with this gobi domain. For example, amazon.com is a gobi store domain for category query [hdtv] but some sites (like askville.amazon.com) from amazon.com should not be boosted.QualityProductProductSiteDataLocaleDataData for one locale.boolean
localeLocale for this data.QualityProductProductSiteDataLocaleDataData for one locale.String
cseIdThere were defined back in 2007, but were never used. optional string label = 2; optional uint64 user = 3; optional float score = 4;QualityProseCSEUrlInfoString
dataSourcesQualityQrewriteAccountProvenanceUsed to annotate the source of cross-account personal data. See go/cross-account-understanding.list(String)
googleAccountQualityQrewriteAccountProvenanceUsed to annotate the source of cross-account personal data. See go/cross-account-understanding.QualityQrewriteAccountProvenanceGoogleAccount
thirdPartyAccountNote google_account and third_party_account could both exist. For example, a user could share her Spotify account with other users registered on the same device.QualityQrewriteAccountProvenanceUsed to annotate the source of cross-account personal data. See go/cross-account-understanding.QualityQrewriteAccountProvenanceThirdPartyAccount
emailQualityQrewriteAccountProvenanceGoogleAccountThe Google account the annotated personal data belongs to.String
gaiaIdQualityQrewriteAccountProvenanceGoogleAccountThe Google account the annotated personal data belongs to.String
isDasherAccountQualityQrewriteAccountProvenanceGoogleAccountThe Google account the annotated personal data belongs to.boolean
isSecondaryAccountQualityQrewriteAccountProvenanceGoogleAccountThe Google account the annotated personal data belongs to.boolean
emailEmail address of the linked account (eg [email protected]).QualityQrewriteAccountProvenanceThirdPartyAccountThe 3P account the annotated personal data belongs to.String
thirdPartyProviderIdUnique identifier for the third party provider. Defined by Google via AoG.QualityQrewriteAccountProvenanceThirdPartyAccountThe 3P account the annotated personal data belongs to.String
matchSignalQualityQrewriteAlternativeNameInfoAlternative names with info like RecognitionAlternateSource indicating where is it from.AssistantVerticalsCommonContactMatchSignal
nameQualityQrewriteAlternativeNameInfoAlternative names with info like RecognitionAlternateSource indicating where is it from.String
sourceQualityQrewriteAlternativeNameInfoAlternative names with info like RecognitionAlternateSource indicating where is it from.String
calendarAliasQualityQrewriteCalendarReferenceQualityQrewriteQRewriteAccountAwareCalendarAliasWrapper
contactCalendarNameQualityQrewriteCalendarReferenceQualityQrewriteContactCalendarName
familyCalendarAliasQualityQrewriteCalendarReferenceQualityQrewriteFamilyCalendarAlias
primaryCalendarAliasQualityQrewriteCalendarReferenceQualityQrewritePrimaryCalendarAlias
contactQualityQrewriteContactCalendarNameNlpSemanticParsingModelsPersonPerson
familyCalendarIdQualityQrewriteFamilyCalendarAliasString
accountProvenanceTracks the account owner of this contact. See go/cross-account-understanding.QualityQrewritePersonalContactDataContact metadata Next Id: 36QualityQrewriteAccountProvenance
additionalContactMetadataOther metadata relating with the contact. This field is added so that the value can be copied to the corresponding field |additional_contact_metadata| in person.proto, that later will be logged to Assistant Interaction Event footprint from client side.QualityQrewritePersonalContactDataContact metadata Next Id: 36list(map)
commonNameAliasConfidencePopulated only if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.QualityQrewritePersonalContactDataContact metadata Next Id: 36number
conceptIdConcept id for relationships in query language, e.g. “Mother” in English, “Mère” in French. It’s only populated for source = RELATIONSHIP.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
conceptIdEnConcept id for relationships in English, e.g. “Mother” for all non-English locales. It’s only populated for source = RELATIONSHIP. It is used as the key to store relationship in memory (see http://go/assistant-relationship). For English, this field is not filled, and we will use concept_id field as the relationship key in memory.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
displayNameTODO(shuaiwang) these are kept here temporarily because aqua regression tests are still referring to them, migrating aqua regression tests to use the new person_data field depends on binary change (i.e. this proto change) so there’s a period we need to keep both.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
familyNameQualityQrewritePersonalContactDataContact metadata Next Id: 36String
ffracScoreThe ffrac score of the suggested contact from Starlight.QualityQrewritePersonalContactDataContact metadata Next Id: 36float
gaiaIdQualityQrewritePersonalContactDataContact metadata Next Id: 36String
givenNameQualityQrewritePersonalContactDataContact metadata Next Id: 36String
hasAddressForDeviceContactsWhether we have address info for this contact. IMPORTANT, READ BEFORE USING THIS FIELD: – This is a temporary solution to export this info for device contacts. – This could only be set for device contacts, contacts from other sources won’t have this bit set even if there’s address available inside person_data. – This will go away once Starlight supports device contacts, addresses will be available inside person_data the same way as Focus contacts. TODO(shuaiwang) remove after b/20412551QualityQrewritePersonalContactDataContact metadata Next Id: 36boolean
hasGplusProfileQualityQrewritePersonalContactDataContact metadata Next Id: 36boolean
isFromOnDeviceLookupIf the contact data is from on device lookup.QualityQrewritePersonalContactDataContact metadata Next Id: 36boolean
isTransliteratedMatchIndicate the contact matches the transliterated query.QualityQrewritePersonalContactDataContact metadata Next Id: 36boolean
isVisibleToGuestsRelationshipIf the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -> (John) And user says “call doctor”, then this value will be true.QualityQrewritePersonalContactDataContact metadata Next Id: 36boolean
lookupNameSourceQualityQrewritePersonalContactDataContact metadata Next Id: 36String
matchSignalPopulate only if AlternateSource is not NONE.QualityQrewritePersonalContactDataContact metadata Next Id: 36AssistantVerticalsCommonContactMatchSignal
matchedNameTypeLINT.ThenChange(//depot/google3/assistant/verticals/communication/\\ fulfillment/proto/contact_logging_enums.proto, //depot/google3/assistant/api/dialog_state/values/person.proto, //depot/google3/assistant/context/proto/person.proto)QualityQrewritePersonalContactDataContact metadata Next Id: 36String
matchedRecognitionAlternateNameAlternate name from recognition that has contact matched. Need this to make name correction history log consistent.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
personDataMetadata such as name, email, phone, etc.QualityQrewritePersonalContactDataContact metadata Next Id: 36AppsPeopleOzExternalMergedpeopleapiPerson
personalContactDataLogLog version of PersonalContactData. Holds e.g. FUZZY match results. It is populated in NamedContactFrame when fuzzy match is performed: http://google3/quality/dialog_manager/frames/contact/named_contact_frame.cc?l=255&rcl=331994299 Currently only fuzzy ngram match results are logged here.QualityQrewritePersonalContactDataContact metadata Next Id: 36AssistantLogsCommunicationPersonalContactDataLog
pkgPersonContains information about a Copley Person resolution (go/copley-people). This field is used to propagate metadata related to the resolved person, used for attribution and logging. Meaningful data (addresses, phone numbers) are copied into person_data.QualityQrewritePersonalContactDataContact metadata Next Id: 36NlpSemanticParsingQRefAnnotation
pkgReferenceTypeQualityQrewritePersonalContactDataContact metadata Next Id: 36String
recognitionAlternateScorePopulate only if AlternateSource is not NONE.QualityQrewritePersonalContactDataContact metadata Next Id: 36number
recognitionAlternateSourceIf not none, then it indicates the personal contact data is alternate and how the alternate is fulfilled.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
relationshipLexicalInfoLexical information for relationships in query language, e.g. “Mother” in English, “Mère” in French. It’s only populated for source = RELATIONSHIP.QualityQrewritePersonalContactDataContact metadata Next Id: 36CopleyLexicalMetadata
relationshipMemoryResolved relationship names and contact pointers from Assistant Memory. This field is populated into both relationship annotation (source = RELATIONSHIP) and Focus/device contacts retrieved by that contact name. The data from Assistant Memory comes from two different columns: ASSISTANT_SETTINGS and PWS_CONTACT_ANNOTATION. We support multiple people with same relationship (e.g. multiple brothers) by using a repeated relationship_memory field. Examples are at go/person-subgrammar-relationship.QualityQrewritePersonalContactDataContact metadata Next Id: 36list(QualityQrewriteRelationshipMemoryData)
sharedContactOwnerGaiaIdGaia ID of the user this contact belongs to. Only populates if contact is shared from another user. See go/shared-contacts-assistant. E.g. user A triggers the request and uses user B’s contact data (which is marked as visible to user A). This field will be populated with user B’s gaia id.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
sourceLINT.ThenChange(//depot/google3/assistant/verticals/communication/\\ fulfillment/proto/contact_logging_enums.proto, //depot/google3/assistant/api/dialog_state/values/person.proto, //depot/google3/assistant/context/proto/person.proto) Data source of the contact data.QualityQrewritePersonalContactDataContact metadata Next Id: 36String
contactPointerThe contact pointer. See http://go/assistant-contact-id.QualityQrewriteRelationshipMemoryDataRelationship->contact data provided by Assistant Memory.FocusBackendContactPointer
valueThe contact name copied from UserAttribute.value.QualityQrewriteRelationshipMemoryDataRelationship->contact data provided by Assistant Memory.String
additionalFixedPointEncodingsEach of the repeated elements in this field has the same scheme as ‘fixed_point_encoding’; See go/rankembed-astro-rule-set-ddQualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.list(String)
compressedDocumentEmbeddingEach uint64 encodes 8 8-bit values for the quantized document embeddingQualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding
fixedPointEncodingThis field replaces the above 3 “per-encoding-type-fields”, where the encoding type (and the embedding type) are part of the encoding, and is stored in the first byte. The remaining bytes are the same as the previous 3 fields, but shifted by 1 byte. – byte[0]: encoding type & embedding type – byte[1….]: similar to the above depending on the encoding type.QualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.String
scaledFixedPoint4Encoding– byte[0]: version – bytes[1…4]: scalar – bytes[5,…]: the values, one byte per 2 valuesQualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.String
scaledFixedPoint8Encoding– byte[0]: version – bytes[1…4]: scalar – bytes[5,…]: the values, one byte per valueQualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.String
scaledShiftedFixedPoint4Encoding– byte[0]: version – bytes[1…4]: scalar – bytes[5…8]: shift – bytes[9,…]: the values, one byte per 2 valuesQualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.String
versionAndImprovInfoFirst 7 bits encode the version, then each chunk of 5 bits encode the index of a potential improv query (lsb to msb) ——-|—–|—–|—–|—–|—– version| id1 | id2 | id3 | id4 | id5 where id1 is the index of the first improv query in the improv debug table. As of cl/270008220, this field only contains the version info. For backward compatibility, version still only uses the first 7 bits, and is still prepended by 5 1 bits.QualityRankembedMustangMustangRankEmbedInfoUsed as Mustang attachment DO NOT: – ACCESS THE PROTO FIELDS DIRECTLY – USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. – USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.integer
packedValueusing fixed64 instead of uint64 saves ~14% is storageQualityRankembedMustangMustangRankEmbedInfoCompressedEmbeddinglist(String)
valueQualityRankembedMustangMustangRankEmbedInfoCompressedEmbeddinglist(String)
indexStatusQualityRichsnippetsAppsProtosLaunchableAppPerDocDataA subset of LaunchableApplication, which is stored in the PerDocData proto (indexer/perdocdata/perdocdata.proto) and thus stored in the Search Mustang index. It is used to identify documents containing app links at serving time by SuperRoot. A subset of LaunchableApplication is used to save on storage requirements.String
packageIdFingerprintAndroid package id of the application associated with this document (example: ‘com.imdb.mobile’), encoded with the Fingerprint2011() function.QualityRichsnippetsAppsProtosLaunchableAppPerDocDataA subset of LaunchableApplication, which is stored in the PerDocData proto (indexer/perdocdata/perdocdata.proto) and thus stored in the Search Mustang index. It is used to identify documents containing app links at serving time by SuperRoot. A subset of LaunchableApplication is used to save on storage requirements.String
perAppInfoEncodedA subset of the data in the PerAppInfo message, encoded to save on space. See quality/calypso/utils/app_info_utils.h for encoding/decoding.QualityRichsnippetsAppsProtosLaunchableAppPerDocDataA subset of LaunchableApplication, which is stored in the PerDocData proto (indexer/perdocdata/perdocdata.proto) and thus stored in the Search Mustang index. It is used to identify documents containing app links at serving time by SuperRoot. A subset of LaunchableApplication is used to save on storage requirements.String
appQualityRichsnippetsAppsProtosLaunchAppInfoPerDocDatalist(QualityRichsnippetsAppsProtosLaunchableAppPerDocData)
country2-letter country format.QualitySalientCountriesSalientCountryThis is a measure of how salient this country is for the document.String
salienceHow salient this country is for the document. [0,1] range.QualitySalientCountriesSalientCountryThis is a measure of how salient this country is for the document.number
packedCountryPacked Country and salience optimized for index storageQualitySalientCountriesSalientCountrySetSet of SalientCountry for a document.list(integer)
packedSalienceQualitySalientCountriesSalientCountrySetSet of SalientCountry for a document.list(integer)
salientCountryQualitySalientCountriesSalientCountrySetSet of SalientCountry for a document.list(QualitySalientCountriesSalientCountry)
confidenceconfidence is a measurement of how much data we had to compute the SalientTermSet. Range: [0.0, 1.0]QualitySalientTermsDocDataDocData contains additional salient-term-set-level information that complements a SalientTermSet.number
headVolumeRatiohead_volume_ratio is the ratio of the sum of term frequency of the top K terms over the volume of all terms. Range: [0.0, 1.0]. K is defined by Accumulator2Params::head_size.QualitySalientTermsDocDataDocData contains additional salient-term-set-level information that complements a SalientTermSet.number
languagelanguage is the main language of this SalientTermSet.QualitySalientTermsDocDataDocData contains additional salient-term-set-level information that complements a SalientTermSet.String
signalDatasignal_data contains signal-specific (e.g., body, anchors, clicks) data for this SalientTermSet.QualitySalientTermsDocDataDocData contains additional salient-term-set-level information that complements a SalientTermSet.list(QualitySalientTermsSignalData)
virtualVolumevirtual_volume is a measurement of how much data we had to compute the SalientTermSet. Range: [0.0, +infinity)].QualitySalientTermsDocDataDocData contains additional salient-term-set-level information that complements a SalientTermSet.number
idfidf of the original_term. Used by Accumulator2. This field is only available in debug mode.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).number
labellabel can be two things depending on where this message is. When right under a SalientTermSet, it is the normalized term returned by quality_salient_terms::utils::NormalizeTerm() from salient_terms_utils.h. When under another SalientTerm message, it is the original term as found in a signal (see original_term field).QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).String
originalTermoriginal_term are the different ways we found this normalized term in the signals. They are in increasing idf order (the most common version first). An empty string means that this original term is the same as the label field in the parent SalientTerm message. NOTE: Please do not access this field directly. Use quality_salient_terms::utils::OriginalTermsIterator from salient_terms_utils.h instead.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).list(QualitySalientTermsSalientTerm)
saliencesalience is the importance of the term as a descriptor in [0, 1] (the higher the more important). This field takes precedence over weight field below. NOTE: Please do not access this field directly. Use quality_salient_terms::utils::GetSalience() from salient_terms_utils.h instead.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).number
signalTermsignal_term contains extra signal-specific (e.g., body, anchors, clicks) data for this term.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).list(QualitySalientTermsSignalTermData)
virtualTfvirtual_tf is the accumulated corrected term frequency from all the signals. This field is only available in debug mode.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).number
weightweight is the importance of the term as a descriptor in [0, 100] (the higher the more important). NOTE: Please do not access this field directly. Use quality_salient_terms::utils::GetSalience() from salient_terms_utils.h instead. DEPRECATED: prefer salience field above.QualitySalientTermsSalientTermSalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).integer
docDatadoc_data contain additional salient-term-set-level data.QualitySalientTermsSalientTermSetSalientTermSet is a collection of terms (unigrams and bigrams) with associated weights that can describe something. The “salient terms”.QualitySalientTermsDocData
salientTermsalient_term is the list of terms that are good descriptors, sorted in decreasing order of weight.QualitySalientTermsSalientTermSetSalientTermSet is a collection of terms (unigrams and bigrams) with associated weights that can describe something. The “salient terms”.list(QualitySalientTermsSalientTerm)
versionversion is the Salient Terms version used to create the SalientTermSet. This is specific to web documents salient terms.QualitySalientTermsSalientTermSetSalientTermSet is a collection of terms (unigrams and bigrams) with associated weights that can describe something. The “salient terms”.String
biasA fixed bias for this signal, the higher the stronger. This can be used to balance the weight of signals independently of the confidence we give it. This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
confidenceThe measurement of how much we trust this signal. Range: [0.0, 1.0] This field is available is both debug and non-debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
halfSalienceRaw saliences equal to half_salience will be equal to 0.5 normalized. Range: [0, volume]. This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
noiseCorrectionThe minimum TF for a term not to be considered noise. While the possible range of values for this field is [0, observed_volume], it is expected to be a somewhat small percentage of observed_volume (e.g. 5%). This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
observedConfidenceThe measurement of how much we trust this signal, calculated using the observed volume. Range: [0.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
observedVolumeThe amount of signal we observed for a document. Range: [0.0, +infinity) This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
rawVolumeThe amount of raw signal we observed for a document. Range: [0.0, +infinity) This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
sourcesource is the type of the signal of this SignalData.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.String
volumeThe amount of signal left after applying all corrections. Range: [0.0, +infinity) This field is only available in debug mode.QualitySalientTermsSignalDataSignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
bigramDiscountTfThe deduction of bigram counts from its unigram children. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
bigramnessHow much we trust this bigram. For bigrams only. Range: [0.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
centralityMeasures how topical this term is to a particular signal. A term like “lincoln” in the Abraham Lincoln’s Wikipedia page should have a centrality close to 1.0 while non-central terms like “florida” should have a centrality close to 0.0. Range: [0.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
correctedTfThe final term frequency for a particular term. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
expectedTfThe term frequency we were expecting for a term given its IDF. Range: [0, observed_volume] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
globalNpmiGlobal NPMI. For bigrams only. This is a measure of the quality of bigrams calculated using IDF. Range: [-1.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
idfThe IDF of the label of a particular term. For a canonical term, this is the mean IDF of its originals, weighted by their observed TF. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
isBigramWhether or not this term is a bigram. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.boolean
labelRaw string that identifies a particular term. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.String
localNpmiLocal NPMI (normalized pointwise mutual information). For bigrams only. This is a measure of the quality of bigrams calculated using observed TF. Range: [-1.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
observedTfThe observed term frequency in a particular signal. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
originalTermThe list of the original terms for a canonical. This is used in the pipeline and it is not present in the final output. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.list(QualitySalientTermsSignalTermData)
rawTfThe raw term frequency in a particular signal. This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
salienceThe measure of how important this term is in this signal. Range: [0.0, 1.0] This field is only available in debug mode.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.number
sourcesource is the type of the signal of this SignalTermData.QualitySalientTermsSignalTermDataSignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.String
itemQualitySherlockKnexAnnotationlist(QualitySherlockKnexAnnotationItem)
calibratedScorein [0, 1].QualitySherlockKnexAnnotationItemnumber
debugNameQualitySherlockKnexAnnotationItemString
equivalentMidin /m/ or /g/.QualitySherlockKnexAnnotationItemString
scorein [0, 1].QualitySherlockKnexAnnotationItemnumber
versionQualitySherlockKnexAnnotationIteminteger
datasetModelArticleScoreScore from the blockbert article classifier model. go/article-understanding-projectQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelBuyingGuideScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelForumListScoreFrom forum and qna confidence score * 100, http://go/sdu-ugc-page-introQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelForumSingleScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelInStoreOnlyScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelIndirectAvailabilityScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelMultiProductScoreFrom indexing.ml.PageType.confidence * 100 (DatasetModelAnnotation in cdoc) go/sdu-shopping-page-introQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelProductComparisonScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelProductReviewScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelProductTopnScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelQnaListScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelQnaSingleScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelSingleProductScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
datasetModelSoldOutScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
expiredShoppingPageScoreFrom indexing.badpages.CollapserInfo.expired_shopping_page_score * 100QualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
multiProductScoreFrom MagicPageTypeAnnotation.multiplicity.confidence_score * 100 Deprecated as of July 2020 when dataset_model_multi_product_score and dataset_model_single_product_score were added.QualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
productQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.list(QualityShoppingShoppingAttachmentProduct)
shoppingSiteScoreFrom ShoppingSiteClassifier.score * 100QualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
shoppingSiteScoreShopfabFrom ShoppingSiteClassifierShopfab.score * 100QualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
singleProductScoreQualityShoppingShoppingAttachmentThis proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We’re doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.integer
languageIdUse integers for fast scoring. Note: 26 is UNKNOWN_LANGUAGE_ID, 0 is UNKNOWN region, see i18n::languages::Language and StableInternalRegionconverter Use -1 as default for both.QualityShoppingShoppingAttachmentLocaleinteger
regionIdQualityShoppingShoppingAttachmentLocaleinteger
facetIdQualityShoppingShoppingAttachmentMokaFacetValueMoka product attribute facet (go/gx).String
measureValueQualityShoppingShoppingAttachmentMokaFacetValueMoka product attribute facet (go/gx).float
tagIdQualityShoppingShoppingAttachmentMokaFacetValueMoka product attribute facet (go/gx).String
conditionQualityShoppingShoppingAttachmentOfferString
controlTypeQualityShoppingShoppingAttachmentOfferString
fingerprintOfOfferUrlsfingerprint of original offer item_urland mobile_offer_url (if present) to be able to understand if offer data came from different url.QualityShoppingShoppingAttachmentOfferlist(String)
gtinValueGlobal trade item number (GTIN).QualityShoppingShoppingAttachmentOfferlist(String)
imageIdimage_id is sorted and distinct for efficient search during serving.QualityShoppingShoppingAttachmentOfferlist(String)
inferredImagesinferred_images are sorted by inferred_image_id for efficient search during serving.QualityShoppingShoppingAttachmentOfferlist(ShoppingWebentityShoppingAnnotationInferredImage)
isLensBuildableIs the offer Lens buildable. The corresponding field in Shopping Annotation is SurfaceSelection.QualityShoppingShoppingAttachmentOfferboolean
matchingTypeinformation about methods used to match offer with indexed url. See shopping_annotation.protoQualityShoppingShoppingAttachmentOfferString
merchantAccountIdaccount_id of the merchant in shopping systems.QualityShoppingShoppingAttachmentOfferString
merchantItemIdmerchant_item_id is meaningless without the merchant_account_id.QualityShoppingShoppingAttachmentOfferString
nonDisplayableBrandMerchantRelationshipdirect to consumer brand merchant relationshipQualityShoppingShoppingAttachmentOfferString
nonDisplayableCurrencyQualityShoppingShoppingAttachmentOfferString
nonDisplayableOrganicScoreMillisNormalized riskiness score for Organic destinations. It’s in range [1,1000] with 1 being the worst score and 1000 being the best.QualityShoppingShoppingAttachmentOfferinteger
nonDisplayableStaleAvailabilityThis is experimental, not filled in yet and not intended to be used. Please contact buyable-corpus@ before considering using this field.QualityShoppingShoppingAttachmentOfferShoppingWebentityShoppingAnnotationOfferAvailabilityInfo
offerDocidQualityShoppingShoppingAttachmentOfferString
refTypeQualityShoppingShoppingAttachmentOfferString
soriVersionIdQualityShoppingShoppingAttachmentOfferShoppingWebentityShoppingAnnotationSoriVersionId
fullTitleField full_title may contain duplicate info from title and list_title.QualityShoppingShoppingAttachmentPBlockNext ID: 18String
imageDocidOrdering for `image_docid`, and `image_info` are the same.QualityShoppingShoppingAttachmentPBlockNext ID: 18list(String)
imageInfoQualityShoppingShoppingAttachmentPBlockNext ID: 18list(QualityShoppingShoppingAttachmentPBlockImageInfo)
isFreeDeliveryQualityShoppingShoppingAttachmentPBlockNext ID: 18boolean
isFreeReturnQualityShoppingShoppingAttachmentPBlockNext ID: 18boolean
listTitleQualityShoppingShoppingAttachmentPBlockNext ID: 18String
maxPriceValueQualityShoppingShoppingAttachmentPBlockNext ID: 18number
minPriceValueQualityShoppingShoppingAttachmentPBlockNext ID: 18number
priceQualityShoppingShoppingAttachmentPBlockNext ID: 18String
priceCurrencyQualityShoppingShoppingAttachmentPBlockNext ID: 18String
priceValueQualityShoppingShoppingAttachmentPBlockNext ID: 18number
titleProduct info extracted by Product Blocks go/sdu-shopping-page-intro and go/product-block-extraction. Here is an example of a page with a ## list_title (Shoes) and 3 blocks with their own titles: | Shoes | | ———————| | * For Running | | ———————| | * Men’s Hiking | | ———————| ## | * Dress Shoes | The field full_title is what we constructed to best describe the product in the block. For example, for the above 3 blocks, their full_titles will contain info from list_title: “Shoes For Running”, “Shoes Men’s Hiking”, “Dress Shoes”. Note that the list_title is not repeated for the 3rd block Real sample pages: http://screen/6UaoBtwWsLfbSKg http://screen/BDHRgDonKG3KcXu, http://screen/53tLwNaX8mmYzDzQualityShoppingShoppingAttachmentPBlockNext ID: 18String
heightQualityShoppingShoppingAttachmentPBlockImageInfointeger
widthQualityShoppingShoppingAttachmentPBlockImageInfointeger
aggregateRatingQualityShoppingShoppingAttachmentProductShoppingWebentityShoppingAnnotationProductRating
brandEntityIdQualityShoppingShoppingAttachmentProductString
catalogIdQualityShoppingShoppingAttachmentProductString
globalProductClusterIdQualityShoppingShoppingAttachmentProductString
imagesQualityShoppingShoppingAttachmentProductlist(ShoppingWebentityShoppingAnnotationProductImage)
localeQualityShoppingShoppingAttachmentProductQualityShoppingShoppingAttachmentLocale
mokaFacetQualityShoppingShoppingAttachmentProductlist(QualityShoppingShoppingAttachmentMokaFacetValue)
nonDisplayableDescriptionQualityShoppingShoppingAttachmentProductString
nonDisplayableTitleQualityShoppingShoppingAttachmentProductString
offerQualityShoppingShoppingAttachmentProductQualityShoppingShoppingAttachmentOffer
outlinkDomainRelationshipWhether an outlink points to the same domain or off-domain. Only added if the relationship is known, and the Offer has ref_type of OUTLINK.QualityShoppingShoppingAttachmentProductString
pblockClient needs to make decision on which field to use when both non_displayable_title and pblock.final_title are present.QualityShoppingShoppingAttachmentProductQualityShoppingShoppingAttachmentPBlock
productBrowseonomyIdsProduct level Browseonomy ids from shopping_annotation.product.browseonomy.QualityShoppingShoppingAttachmentProductlist(integer)
productClusterMidQualityShoppingShoppingAttachmentProductString
relevanceEmbeddingRelevance embedding from ShoppingAnnotation.ProductQualityShoppingShoppingAttachmentProductlist(QualityRankembedMustangMustangRankEmbedInfo)
weakGlobalProductClusterIdMatched/Inferred weak product identity – set only if the global_product_cluster_id is missingQualityShoppingShoppingAttachmentProductString
docsQualitySitemapBreadcrumbTargetSitelink candidates that is generated from breadcrumbs.list(QualitySitemapBreadcrumbTargetDoc)
countThe number of web pages that contains the url in their breadcrumbs.QualitySitemapBreadcrumbTargetDocinteger
titleQualitySitemapBreadcrumbTargetDocString
urlQualitySitemapBreadcrumbTargetDocString
docsQualitySitemapCoClickTargetlist(QualitySitemapCoClickTargetDoc)
languageQualitySitemapCoClickTargetString
coClickByLocaleQualitySitemapCoClickTargetDoclist(QualitySitemapCoClickTargetDocCoClickByLocale)
titleQualitySitemapCoClickTargetDocString
urlQualitySitemapCoClickTargetDocString
coClicksQualitySitemapCoClickTargetDocCoClickByLocalenumber
coClicksCappedQualitySitemapCoClickTargetDocCoClickByLocalenumber
coClicksParentQualitySitemapCoClickTargetDocCoClickByLocalenumber
localeQualitySitemapCoClickTargetDocCoClickByLocaleString
annotationsQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(String)
chromeTransCountQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.String
chromeTransProbQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
chromeWeightQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
countryQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(String)
countryConfidenceQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(number)
impressionsQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.String
langConfidenceQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(number)
languageQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(String)
localCountryIdentifierQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(String)
longClicksQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.String
longCtrQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
navboostScoreQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
navmenuScoreQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
pagerankQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.integer
recentLongCtrQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
targetCdocLanguagesQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.list(integer)
titleScoreQualitySitemapScoringSignalsScoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.number
oslScoreScore for normal oneline sitelinkQualitySitemapSporcSignalsMESSAGE SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME.number
scrolltoScoreScore for scroll-to sitelinkQualitySitemapSporcSignalsMESSAGE SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME.number
tocScoreScore for table of contents sitelinkQualitySitemapSporcSignalsMESSAGE SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME.number
docidQualitySitemapSubresultInformation about a single sub-result.String
itemMetadataQualitySitemapSubresultInformation about a single sub-result.QualitySitemapThirdPartyCarouselsListItemMuppetMetadata
subresultQualitySitemapSubresultListA container for encapsulating a list of sub-results.list(QualitySitemapSubresult)
DEPRECATEDSnippetQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.list(String)
isGoodForMobileQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.boolean
isMobileN1dupQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.boolean
languagesThe languages of the document, taken from its cdoc.properties().languages()QualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.list(integer)
salientImageThe image data will be copied from the DocInfo response, and will be retrieved online, so this field should not be populated during indexing. This is a temporary field for experimentation.QualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.WWWResultInfoSubImageDocInfo
scoreQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.number
scoringSignalsQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.QualitySitemapScoringSignals
sectionTextsSection texts used for Page Anchors Preview (go/page-anchor-preview-dd).QualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.list(String)
snippetResponseThe snippet response for the target document for an empty query.QualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.GenericSnippetResponse
sourceAnchorQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.boolean
sporcSignalsFIELD SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME. Thus it should have no impact on cdoc/mdu.QualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.QualitySitemapSporcSignals
titleQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.String
twoLevelScoreQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.number
urlQualitySitemapTargetRepresents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See “Note on adding new fields”.String
DEPRECATEDCountryQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.integer
TargetQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.list(QualitySitemapTarget)
allTargetsNamedAnchorsIf all the targets in this group are named anchors on the source page.QualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.boolean
allTargetsNamedTopictagsScrolltoIf all the targets in this group are named topictags_scrollto on the source page.QualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.boolean
breadcrumbTargetQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.QualitySitemapBreadcrumbTarget
coClickTargetQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.list(QualitySitemapCoClickTarget)
countryCodeQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.String
labelQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.String
languageQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.integer
modifiedByHostcardHandlerQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.boolean
scoringSignalsQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.QualitySitemapScoringSignals
topUrlA list of top urls with highest two_level_score, i.e., chrome_trans_clicks.QualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.list(QualitySitemapTopURL)
twoLevelTargetQualitySitemapTargetGroupRepresents a set of targets. The group may have a label field to uniquely identify this target group among others – for instance, if these targets’ titles were generated using an alternative title algorithm, the label can be “newtitles”. See “Note on adding new fields”.list(QualitySitemapTwoLevelTarget)
urlFoundOnPageDEPRECATED. No longer populated, and not used anywhere.QualitySitemapThirdPartyCarouselsListItemMuppetMetadataA set of metadata about a list item that is passed on to Muppet from indexing.boolean
scoreQualitySitemapTopURLnumber
urlQualitySitemapTopURLString
firstLevelTargetQualitySitemapTwoLevelTargetQualitySitemapTarget
secondLevelTargetQualitySitemapTwoLevelTargetlist(QualitySitemapTarget)
beginBolded range [begin, end)QualitySnippetsTruncationSnippetBoldedRangeA bolded range in printed snippet lines.QualitySnippetsTruncationSnippetBoldedRangePosition
endQualitySnippetsTruncationSnippetBoldedRangeA bolded range in printed snippet lines.QualitySnippetsTruncationSnippetBoldedRangePosition
textOnly populated for debugging.QualitySnippetsTruncationSnippetBoldedRangeA bolded range in printed snippet lines.String
typeQualitySnippetsTruncationSnippetBoldedRangeA bolded range in printed snippet lines.String
byteOffsetQualitySnippetsTruncationSnippetBoldedRangePositioninteger
indexQualitySnippetsTruncationSnippetBoldedRangePositioninteger
petacatScoresQualityTimebasedDateUnreliabilityUnreliable dates signals per URL. go/unreliable-dates-ddlist(QualityTimebasedPetacatDateUnreliability)
unreliableDatesScoreIf scores are missing, the date is reliable by default. max(petacat.unreliable_dates_score)QualityTimebasedDateUnreliabilityUnreliable dates signals per URL. go/unreliable-dates-ddnumber
unreliableDatesScoreExposureAdjustedmax(petacat.unreliable_dates_score * petacat.date_exposure_score)QualityTimebasedDateUnreliabilityUnreliable dates signals per URL. go/unreliable-dates-ddnumber
adjustmentInfoThis is stored only for debugging purposes. Please consult dates@ team before making a dependency on this field.QualityTimebasedLastSignificantUpdateQualityTimebasedLastSignificantUpdateAdjustments
dateLastSignificantUpdate as UNIX timestamp in seconds. This is the new signal (go/lsu-dd) from LSU Selector V2 (once that is enabled, see b/171879888 for status), falling back to the legacy V1 signal if the HIGH_PRECISION signal does not exist. Please use the ‘source’ field to determine where the value comes from.QualityTimebasedLastSignificantUpdateString
dateUnreliabilityInfoQualityTimebasedLastSignificantUpdateQualityTimebasedDateUnreliability
sourceThe source the signal comes from.QualityTimebasedLastSignificantUpdateString
adjustmentSourceIf the selected LSU has been adjusted, i.e. the maximum passage timestamp, firstseen or contentage were assigned to LSU, the adjustment source is stored here.QualityTimebasedLastSignificantUpdateAdjustmentsString
isUpperboundTimestampPreciseThe timestamp is precise when it’s derived from existing (>March 2022) passage timestamp.QualityTimebasedLastSignificantUpdateAdjustmentsboolean
unboundedTimestampInSecondsThe timestamp that was picked up by the component indicated in the LastSignificantUpdateSource but was dropped due to exceeding the upper bound. Set only if it is not equal to final LSU.QualityTimebasedLastSignificantUpdateAdjustmentsString
unboundedTimestampSourceThe source that produced the unbounded timestamp.QualityTimebasedLastSignificantUpdateAdjustmentsString
upperboundTimestampInSecondsThe upperbound value derived from passage timestamps. If present, the LSU date should never exceed this value. Design doc: go/lsu-max-passage-timestampQualityTimebasedLastSignificantUpdateAdjustmentsString
isForumPageSet to true if this page is classified as a forum page.QualityTimebasedPageTypeboolean
isPageWithFreshRepeatedDatesSet to true if this page has a fresh repeated date sequence.QualityTimebasedPageTypeboolean
isQnaPageSet to true if this page is classified as a question answers page.QualityTimebasedPageTypeboolean
contentageReliabilityQualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
dateExposureQualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
dateExposureScoreThis is date_exposure after sigmoid transformation.QualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
dateVsContentageDistributionSkewAuxiliary scores. The unreliable_dates_score is a product of these scores excl. date_exposure. The definition for each of the scores you can find at go/unreliable-dates-ddQualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
isForumQnaSocialMediaProbabilityQualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
petacatIdgo/verticals4QualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesinteger
unreliableDatesScoreThis is a final score excl. date exposure component.QualityTimebasedPetacatDateUnreliabilityUnreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytesnumber
bylineDateThe following field is set only when the byline date is different from the “date” field above. Currently this happens when the byline date is within the 24 hours of the crawl time, or close but not exactly the same as blog post date due to time zone. The syntactic date is never later than the crawl time. NOTE: If this field is set, use_as_byline_date will be meaningless, and better to be cleared.QualityTimebasedSyntacticDateNext ID: 21String
dateThe number of seconds since epoch (Jan 1, 1970). This can be negative to indicate a publication date that is before 1970. For example, the ones from NY Times archive: “http://select.nytimes.com/gst/abstract.html?res=F10B13FB3D5A10728FDDAF089” “4DD405B8588F1D3&scp=91&sq=world+war+II&st=p”QualityTimebasedSyntacticDateNext ID: 21String
daterangeQualityTimebasedSyntacticDateNext ID: 21QualityTimebasedSyntacticDateDateRange
debugInfoQualityTimebasedSyntacticDateNext ID: 21String
fromExplicitTimeZoneIf set to true, the source of the date has explicit time zone specification. Note: This is only used internally and should not be populated in docjoins.QualityTimebasedSyntacticDateNext ID: 21boolean
infoUsed to store extra information about the syntactic date. For now only two bits are set. Please refer to the encoding/decoding functions provided in: quality/timebased/syntacticdate/util.h Bit 1 = High confidence byline. This bit is set if the syntactic date has a byline date and this date is considered to be high confidence. Bit 2 = High confidence byline without content age. This bit is set if the syntactic date has a byline date and this date is considered to be high confidence without support from content age.QualityTimebasedSyntacticDateNext ID: 21integer
positionQualityTimebasedSyntacticDateNext ID: 21QualityTimebasedSyntacticDatePosition
precisionMarkThe precision mark should be of type PRECISION_MARK.QualityTimebasedSyntacticDateNext ID: 21integer
syntacticDateNotForRestrictIf this is true, do not use syntactic date in date restricts.QualityTimebasedSyntacticDateNext ID: 21boolean
timeZoneOffsetSecondsIndicates the time zone offset in seconds applied to derive `date’ in UTC. Example: Annotation: “1pm PST” (UTC-8) => -8 * 3600 = -28800 Note: This is only used internally and should not be populated in docjoins.QualityTimebasedSyntacticDateNext ID: 21String
trustSyntacticDateInRankingThis bit is set if we believe that the syntactic date is really high confidence, but does not qualify as a byline date.QualityTimebasedSyntacticDateNext ID: 21boolean
useAsBylineDateWhether this date is good for display as the snippet byline date.QualityTimebasedSyntacticDateNext ID: 21boolean
useInTimeZoneGuessingModeThis bit is set if the syntactic date is good to be used in site-level timezone guessing statistics calculation. (The date should be absolute date having a timestamp with hour and minute level information. It can come with or without time zone information, which is indicated in from_explicit_time_zone field defined below.)QualityTimebasedSyntacticDateNext ID: 21boolean
useRangeInsteadOfDateForRestrictIf true, the DateRange is used as date restrict, if false, the date is used as date restrict. Has no effect if syntactic_date_not_for_restrict is true.QualityTimebasedSyntacticDateNext ID: 21boolean
endQualityTimebasedSyntacticDateDateRangeIf the single date (plus the precision mark) is still not good enough, we will use the following fields for a date range. In this case, the fields above may all be empty.String
startQualityTimebasedSyntacticDateDateRangeIf the single date (plus the precision mark) is still not good enough, we will use the following fields for a date range. In this case, the fields above may all be empty.String
beginQualityTimebasedSyntacticDatePositionThe following positions are the byte offset in doc body, which is consistent with the date annotations. (See google3/repository/annotations/proto/annotations.proto) These are given when we want to use the date as a byline date, so the snippet generating code will know the positions.integer
endQualityTimebasedSyntacticDatePositionThe following positions are the byte offset in doc body, which is consistent with the date annotations. (See google3/repository/annotations/proto/annotations.proto) These are given when we want to use the date as a byline date, so the snippet generating code will know the positions.integer
i18nQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.list(QualityTravelGoodSitesDataI18n)
isAggrQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.boolean
isAttractionOfficialQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.boolean
isEntityQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.boolean
isHotelOfficialQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.boolean
normalizationFactorFactor that determines how local anchor credit is scaled before being added to global anchors.QualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.number
signalQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.list(QualityTravelGoodSitesDataSignal)
siteQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.String
totalScoreSite quality score, which determines the site type.QualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.number
typeQualityTravelGoodSitesDataProtocol message for data related to good travel sites. This data is stored as signals data in docjoins.String
localeQualityTravelGoodSitesDataI18nString
typeQualityTravelGoodSitesDataI18nString
nameQualityTravelGoodSitesDataSignalRaw signals that determine the site quality score.String
valueQualityTravelGoodSitesDataSignalRaw signals that determine the site quality score.number
languageAudio language of video classified by Automatic Language Identification. It corresponds to the first language (the highest confidence) in ALIResults.lang_results.QualityVidyaVideoLanguageVideoLanguageAudio-based language information about a Watch Page. For more information: https://g3doc.corp.google.com/video/timedtext/g3doc/ali.mdString
speechClassType of detected speech.QualityVidyaVideoLanguageVideoLanguageAudio-based language information about a Watch Page. For more information: https://g3doc.corp.google.com/video/timedtext/g3doc/ali.mdString
clusterIdThe cluster_id represents the id of the set entity that WebRef provides.QualityViewsExtractionClusterInfoStores cluster scoring information for an entity Next Id: 6String
clusterSetScoreCluster set qref confidence score.QualityViewsExtractionClusterInfoStores cluster scoring information for an entity Next Id: 6number
clusterSiblingMidThe mids of cluster members that are part of the same cluster. Note that cluster members may end up having their own interpretation (EntityInfo which includes a ClusterInfo) or not (eg because they do not explain the full query, and so aqua does not output an interpretation for them). The latter case (a cluster member is output only as part of this field), is equivalent to its score being 0.QualityViewsExtractionClusterInfoStores cluster scoring information for an entity Next Id: 6list(String)
scoreThe score represents the score of the entity within the cluster.QualityViewsExtractionClusterInfoStores cluster scoring information for an entity Next Id: 6number
subClusterQualityViewsExtractionClusterInfoStores cluster scoring information for an entity Next Id: 6list(QualityViewsExtractionClusterInfo)
videoTranscriptAnnotationsQualityWebanswersTranscriptAnnotationsWraps other annotations that are run over auto-generated video captions.list(QualityWebanswersVideoTranscriptAnnotations)
amarnaDocidShould precisely match the amarna_docid in ContentBasedVideoMetadata.QualityWebanswersVideoTranscriptAnnotationsString
asrRepairThe results of ASR transcript quality analysis.QualityWebanswersVideoTranscriptAnnotationsIndexingVideosAsrTranscriptRepairAnnotation
langThe language of the transcript as recorded in Amarna.QualityWebanswersVideoTranscriptAnnotationsString
punctuatedTranscriptQualityWebanswersVideoTranscriptAnnotationsString
saftDocumentQualityWebanswersVideoTranscriptAnnotationsNlpSaftDocument
saftSentenceBoundaryQualityWebanswersVideoTranscriptAnnotationsSentenceBoundaryAnnotations
timingInfoTiming information that maps sentence boundaries in the punctuated transcript with timing offsets for the start and end of those sentences.QualityWebanswersVideoTranscriptAnnotationsQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotations
transcriptSourceQualityWebanswersVideoTranscriptAnnotationsString
webrefEntitiesQualityWebanswersVideoTranscriptAnnotationsRepositoryWebrefWebrefEntities
durationMsQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsYouTube caption timing information for http://go/video-answers.integer
instancesQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsYouTube caption timing information for http://go/video-answers.list(QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstance)
uploaderNameQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsYouTube caption timing information for http://go/video-answers.String
beginByte offsets in HTML. begin is inclusive and end is exclusive.QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstanceByte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.integer
endQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstanceByte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.integer
videoBeginMsQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstanceByte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.integer
videoEndMsQualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstanceByte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.integer
createdDateThis is the number of days since January 1st 1995 that this domain was last created. This should always fit in 15 bits.RegistrationInfoDomain registration information for the document. NEXT ID TO USE: 3integer
expiredDateThis is the number of days since January 1st 1995 that this domain last expired. This should always fit in 15 bits. Jan 1st 1995 was chosen by the history project as a special epoch date. Both the registrationinfo dates and the linkage dates are measured in days since this epoch.RegistrationInfoDomain registration information for the document. NEXT ID TO USE: 3integer
clusterListToken information of the embedding vector if available.ReneEmbeddingMessage to represent an embedding vector with clusters.ReneEmbeddingClusterList
compressedValueCompressed value of the embedding. For example, different versions of starburst signals use different compressor to generate the value.ReneEmbeddingMessage to represent an embedding vector with clusters.String
denseFeatureFloatValuesOptional feature map output from the model. Note: this is not applicable to some models.ReneEmbeddingMessage to represent an embedding vector with clusters.list(number)
floatValuesValues of the embedding vector.ReneEmbeddingMessage to represent an embedding vector with clusters.list(number)
floatValuesBeforeProjectionOptional embedding vector prior to projection. Note: this is not applicable to some models.ReneEmbeddingMessage to represent an embedding vector with clusters.list(number)
idId of the cluster.ReneEmbeddingClusterMessage to represent a cluster of the embedding space.integer
squaredDistanceSquared distance of the current embedding to the cluster center.ReneEmbeddingClusterMessage to represent a cluster of the embedding space.number
clustersClusters.ReneEmbeddingClusterListMessage to represent a list of clusters.list(ReneEmbeddingCluster)
addressStores parent/container information containing city, province & country.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.GeostoreAddressProto
componentScoresThe raw scores used to calculate the normalized_score. Note that not all these scores may be exposed to the users.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.list(RepositoryAnnotationsGeoTopicalityScore)
confidenceA score [0, 1] indicating the confidence.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.number
denseCityIs this a dense city (e.g., population > 100k)?RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.boolean
establishmentTypeSub type for POI types like ESTABLISHMENT_POI, ESTABLISHMENT_GROUNDS & ESTABLISHMENT_BUILDINGRepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.integer
latE7Latitude and Longitude of the location.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.integer
lngE7RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.integer
locationNameName of the Geographic location. This is the normalized name.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.String
normalizedScoreA score [0, 1] indicating the likelihood of the location being the GeoTopicality.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.number
oysterIdOyster Feature ID of the location.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.GeostoreFeatureIdProto
oysterTypeOyster Feature TypeRepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.integer
sumContainedPoiNormalizedScoresThe sum of the normalized scores of POIs contained within a particular locality.RepositoryAnnotationsGeoTopicGeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.number
geotopicsThe geotopics are ordered by normalized_score in descending order.RepositoryAnnotationsGeoTopicalitylist(RepositoryAnnotationsGeoTopic)
rawScoreRepositoryAnnotationsGeoTopicalityScorenumber
typeRepositoryAnnotationsGeoTopicalityScoreString
deprecatedMagnitudeDeprecated: use snippet_score insteadRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.number
deprecatedPolarityDeprecated: use snippet_score insteadRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.number
endRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.integer
isTruncatedRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.boolean
phraseTypeRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.String
snippetScoreRepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.integer
snippetTextThis protobuffer is serving double duty as both a Mustang attachment and the response proto that gets returned by Mustang in the WWWSnippetResponse’s info MessageSet. When stored as an attachment, this field will always be empty. However, when returned with the WWWSnippetResponse, Mustang will print and store the actual sentiment snippet’s text here.RepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.String
startbegin and end are token offsets.RepositoryAnnotationsMustangSentimentSnippetAnnotationsA conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.integer
crumbEach crumb represents one link of the breadcrumb chain.RepositoryAnnotationsRdfaBreadcrumbslist(RepositoryAnnotationsRdfaCrumb)
urlThe URL of the document from which this breadcrumb trail was extracted.RepositoryAnnotationsRdfaBreadcrumbsString
titleThe text that represented this crumb in the document.RepositoryAnnotationsRdfaCrumbThe information contained in a single crumb.String
urlThe URL linked from this crumb.RepositoryAnnotationsRdfaCrumbThe information contained in a single crumb.String
ratingRatings and reviews Either for this version only or for all versions to be displayed.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
operatingSystemsSee google3/quality/richsnippets/schema/data/operating_systems_rules.txt for possible values.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
inAppPurchaseWhether the app offers in-app purchase.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
screenUrlThumbnailRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
rankDataRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankData
nameRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
iconUrlHrefIcon and ScreenshotsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
totalRatingRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53number
liveOpDetailsUnified proto for android LiveOps and iOS LiveEvents.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53QualityCalypsoAppsUniversalAuLiveOpsDetailInfo
popularScoreRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53number
applicationUrlFields for internal useRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
langLocalelocale for the localized data, such as name, description and screenshotsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
vendorUrlRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
platformTagsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
extractedIconColorsTop 10 of extracted icon colors. r = (rgb >> 16) & 0xff; g = (rgb >> 8) & 0xff; b = rgb & 0xff;RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(integer)
isDefaultLangLocaleIndicates if the localized data comes from default locale. This is needed because the default localized data does not specify its locale. If this is true, lang_locale may not be the correct locale and should be ignored.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
descriptionRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
extractedIconColorTop 1 of extracted icon colors. We keep this field for backward compatibility.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53integer
reviewCountRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
supportsChromecastWhether this App supports Google Cast.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
reviewAuthorRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
physicalDeviceTagsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
screenUrlHrefTODO(b/260128276) deprecate this field in favor of image_data.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
sizebytes or numeric with MB or GBRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
pricePriceRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
numDownloadsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
supportsAndroidTvWhether this App supports Android TV. Note that some App supports more than one platforms. So we would use boolean for a platform.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
hasEditorsChoiceBadgeWhether the app has editors choice tagRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
vendorCanonicalUrlRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
versionRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
countriesSupportedThese are currently used only for Google Play.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
imageDataCopied from google3/contentads/shared/boulder/mobile-app-data-image-data.proto.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53QualityCalypsoAppsUniversalImageData
genreRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
vendorVendorRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
optionalResultWhether this App is optional result for Grid UI.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53boolean
currencyRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
ratingCountRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
iconUrlThumbnailRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
countryPricesRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPrice)
subcategoryRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
appTypeDataRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeData
marketplaceMarket Android or itunesRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
devConsoleIdDeveloper console ID of the app if it exists. The ID is available for an app registered to Google Developers Console, not Play Developer Console.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
lastUpdatedRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
categoryApplication information.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
releaseDateRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
originalRatingRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53String
localizedTrustedGenomeRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenome
totalRatingCountRating_count including all versions of this application.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53integer
breadcrumbsRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53RepositoryAnnotationsRdfaBreadcrumbs
filteringTagTags to be indexed for filtering, e.g. “ft_popular_score_gt_1m”.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationThis structure holds data for application information for rich snippets Next ID: 53list(String)
playStoreAppTypeTop level app category type (GAME or APPLICATION). Copied from playwright.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeDataString
countryCodeRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPriceString
currencyCodeISO 4217 currency code.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPriceString
pricePrice string converted from double value in a standard currency unit, like ‘199.35’ or ‘1400’.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPriceString
languageThe chosen languageRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenomeString
localizedTgThe TG tags matching the locale of the doc, if availableRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenomeVendingConsumerProtoTrustedGenomeAnnotation
appStoreLinkRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankString
categoryIdRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankString
categoryNameRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankString
chartTypeRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankString
rankRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankString
playwrightCategoryIdCopied from the category_id field from Playwright docs. It helps decide which category to show in app ranking info.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankDatalist(String)
rankRepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankDatalist(RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRank)
entityScoreRepositoryWebrefAggregatedEntityNameScoresRepresents the aggregated score of the entities for a given name, aggregated over all sources. Next available tag: 3.list(RepositoryWebrefEntityNameScore)
indexThe set of indices in the Anchors::anchor() array that belong to the collapsed anchors.RepositoryWebrefAnchorIndicesIdentifies a set of anchors in the CompositeDoc. Typically these anchors were collapsed by WebRef into a single anchor and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).list(integer)
collectionHridThe collection hrid for the category.RepositoryWebrefAnnotatedCategoryInfoInformation about a category annotation on a name.String
midThe mid of the entity representing the category.RepositoryWebrefAnnotatedCategoryInfoInformation about a category annotation on a name.String
descriptionOnly use for debugging, this should not be displayed to user or used for any kind of logic/processing.RepositoryWebrefAnnotationDebugInfoDebug info about the concept annotations. Note that it might not be present in the output.String
docLevelRelevanceRatingsRepositoryWebrefAnnotationRatingsHuman ratings of webref annotations (document-level ratings, mention-level ratings, etc.).RepositoryWebrefDocLevelRelevanceRatings
avgOpenWorldThe average score for the open world for: – all ranges of this segment_type; – all capitalized ranges of this segment_type; – all uncapitalized ranges of this segment_type.RepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.number
avgOpenWorldCapRepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.number
avgOpenWorldUncapRepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.number
numRangesWithCandidatesThe number of ranges with candidates that made it past primary pruning for: – all ranges of this segment_type; – all capitalized ranges of this segment_type; – all uncapitalized ranges of this segment_type.RepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.String
numRangesWithCandidatesCapRepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.String
numRangesWithCandidatesUncapRepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.String
tokenTypeThe segment type.RepositoryWebrefAnnotationStatsPerTypeAnnotation statistics for each token type. Next available tag: 8.String
fingerprintRepositoryWebrefAnnotatorCheckpointFprintHolds annotator checkpoints which record the state of the annotations. This is useful for tracking down the source of diffs, in particular for non-determinism.String
labelRepositoryWebrefAnnotatorCheckpointFprintHolds annotator checkpoints which record the state of the annotations. This is useful for tracking down the source of diffs, in particular for non-determinism.String
numCandidateMentionsRepositoryWebrefAnnotatorProfileA message to collect annotator performance data.integer
numEntitiesRepositoryWebrefAnnotatorProfileA message to collect annotator performance data.integer
numMentionsRepositoryWebrefAnnotatorProfileA message to collect annotator performance data.integer
numTokensRepositoryWebrefAnnotatorProfileA message to collect annotator performance data.integer
processorTimingsRootRoot/total of the timings from all the processors that worked on the given document or query.RepositoryWebrefAnnotatorProfileA message to collect annotator performance data.RepositoryWebrefProcessorTiming
bookEditionIsbnUse varint encoding to save space.RepositoryWebrefBookEditionMetadataBook editions metadata for a book entity. This metadata is a pair of “/book/book_edition” mid and its ISBN number.String
bookEditionMidRepositoryWebrefBookEditionMetadataBook editions metadata for a book entity. This metadata is a pair of “/book/book_edition” mid and its ISBN number.String
scoreRatioRepositoryWebrefBootstrappingScorenumber
browsyTopicExperimental scores to be used by Discover.RepositoryWebrefCategoryAnnotationHigh level category annotations for documents and queries.RepositoryWebrefCategoryAnnotationBrowsyTopic
debugStringTitle of the category. Eg “Politics”, “Technology”.RepositoryWebrefCategoryAnnotationHigh level category annotations for documents and queries.String
hitcatSources asserting the category. In the future we may have one calibrated confidence score.RepositoryWebrefCategoryAnnotationHigh level category annotations for documents and queries.RepositoryWebrefCategoryAnnotationHitCatSource
midMid representation of the category. Eg “/m/05qt0”. WARNING: In UDR this field is not populated, use document_entity.entity.mid instead of document_entity.category.mid.RepositoryWebrefCategoryAnnotationHigh level category annotations for documents and queries.String
shoppingQprime asserting this category.RepositoryWebrefCategoryAnnotationHigh level category annotations for documents and queries.RepositoryWebrefCategoryAnnotationShoppingSignals
confidenceRepositoryWebrefCategoryAnnotationBrowsyTopicExperimental scores for browsy topics, see * go/example-docs-with-implicit-fashion-styles * go/browsy-entitiesnumber
confidenceConfidence of the category in the range [0.0, 1.0). If a page has the category “NBA” with high confidence we also expect it to have the “Basketball” with high confidence. Categories with a confidence lower than 0.05 are omitted. This can be interpreted as a confidence of 0, i.e. a strong signal that the category is not relevant for the page. For some categories this score is calibrated per-category to estimate the true precision. E.g., 70% of documents retrieved within the confidence range [0.7 – eps, 0.7 + eps] will be relevant when eps is close to 0.RepositoryWebrefCategoryAnnotationHitCatSourceThe HitCat page classifier. See go/hitcat2 If you use any HitCat score, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates.number
cumulativeConfidenceCalibrated cumulative confidence guaranteeing maxmial recall for a precision target. E.g., At least 90% of documents retrieved with cumulative_confidence >= 0.9 will be relevant. This score is always calibrated per-category to estimate the true cumulative precision and is not set for uncalibrated categories.RepositoryWebrefCategoryAnnotationHitCatSourceThe HitCat page classifier. See go/hitcat2 If you use any HitCat score, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates.number
experimentalConfidenceNote: For testing the next version. May change at any time. Experimental confidence of the category in the range (0.0, 1.0).RepositoryWebrefCategoryAnnotationHitCatSourceThe HitCat page classifier. See go/hitcat2 If you use any HitCat score, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates.number
isShoppingAnnotationWhether QPrime asserts that particular category.RepositoryWebrefCategoryAnnotationShoppingSignalsThe QPrime query classifier signals.boolean
allTypesContains all types relevant for this entity, along with their provenances and confidences. This field basically replicates information above in a unified way, so that Refcon scroing can make better use of it. If present, Refcon scoring will use all_types, and ignore other fields like freebase_type. Note: there is some basic conflict resolution applied when all_types are computed (implemented in type-extractor.cc, IsLikelyConflictingFreebase).RepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefFreebaseType)
freebaseTypeRepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefFreebaseType)
kgCollectionRepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefKGCollection)
oysterTypeRepositoryWebrefCategoryInfoAll informations about category types of the entity.RepositoryWebrefOysterType
salientCategoryverticals4 categories that cooccur with this entity, aggregated over D2E. See where we read from CompactDocClassification in http://google3/repository/webref/preprocessing/fatcat-categories.cc.RepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefFatcatCategory)
wikipediaCategoryRepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefWikipediaCategory)
wpCategoryWPCat CategotyResult classification.RepositoryWebrefCategoryInfoAll informations about category types of the entity.list(RepositoryWebrefFreebaseType)
isSetIf true, this entity is a synthetic entity created to represent a “set” in a cluster, i.e. to represent a set of entities (its children in the cluster graph) when we cannot disambiguate among them. This is similar to a KG Collection, but this is not in KG.RepositoryWebrefClusterMetadataMetadata about clusters. See go/webref-variants for details. Next available tag: 6.boolean
ruleInstanceExplanation of where this cluster, and this entity, come from. All entities in a cluster have this, not just entities that have been created because of the cluster.RepositoryWebrefClusterMetadataMetadata about clusters. See go/webref-variants for details. Next available tag: 6.RepositoryWebrefClusterProtoRuleInstance
idId of this rule; this is used to generate ids for the synthetic entities created for a cluster. Required.RepositoryWebrefClusterProtoMidListRuleA rule that defines a Cluster based on a list of mids. It creates a single Set, and makes it the parent of each of the mids in the list.String
midThe mids of the entities that will be made into a cluster.RepositoryWebrefClusterProtoMidListRuleA rule that defines a Cluster based on a list of mids. It creates a single Set, and makes it the parent of each of the mids in the list.list(String)
roleRepositoryWebrefClusterProtoMidListRuleInstanceAn instance of a “mid list” rule. Each “mid list” rule defines exactly one cluster.String
ruleThe rule that this is an instance of. Required.RepositoryWebrefClusterProtoMidListRuleInstanceAn instance of a “mid list” rule. Each “mid list” rule defines exactly one cluster.RepositoryWebrefClusterProtoMidListRule
relationThe topic_property_name for the link that defines the relation, e.g. “/tv/tv_series_episode/series”. Can start with a “!” to indicate that this link is reversed during extraction and we want the reversed case. Required.RepositoryWebrefClusterProtoRelationRuleA rule that defines a Cluster based on a relation. Given a relation (a link type) R, then: For each entity B that has incoming links of type R This defines an instance of this rule, with argument=B We create a Set S We make B a child of S For each entity A that has a link R to B, we make A a child of S Next available tag: 6String
roleRepositoryWebrefClusterProtoRelationRuleInstanceAn instance of a “relation” rule. Each “relation” rule defines a number of clusters, one for each entity B that that has incoming links of a certain type R; all entities with an outgoing link to B of type R are part of that cluster.String
ruleThe rule that this is an instance of. Required.RepositoryWebrefClusterProtoRelationRuleInstanceAn instance of a “relation” rule. Each “relation” rule defines a number of clusters, one for each entity B that that has incoming links of a certain type R; all entities with an outgoing link to B of type R are part of that cluster.RepositoryWebrefClusterProtoRelationRule
targetThe one entity that the links of type R point to. Required.RepositoryWebrefClusterProtoRelationRuleInstanceAn instance of a “relation” rule. Each “relation” rule defines a number of clusters, one for each entity B that that has incoming links of a certain type R; all entities with an outgoing link to B of type R are part of that cluster.RepositoryWebrefWebrefEntityId
midListExactly one of these *RuleInstance fields needs to be present for clusters which have not been merged; it selects the specific kind of rule instance. For merged clusters both fields may be present.RepositoryWebrefClusterProtoRuleInstanceWhen we apply a rule to define a particular cluster, we have a RuleInstance. Some kinds of rules for clusters define more than one cluster. In those rules we say things like “for each entity X with this property, we create a cluster where…”; each particular cluster that we create is the result of an *instance* of that rule, where the argument X has been bound to a particular entity (note that this also applies to rules that define only one cluster; in that case, there are no arguments). An entity that is part of a cluster plays a “role” in such a cluster. This message describes such an instantiation of a rule with a role and with concrete values for the arguments.RepositoryWebrefClusterProtoMidListRuleInstance
relationRepositoryWebrefClusterProtoRuleInstanceWhen we apply a rule to define a particular cluster, we have a RuleInstance. Some kinds of rules for clusters define more than one cluster. In those rules we say things like “for each entity X with this property, we create a cluster where…”; each particular cluster that we create is the result of an *instance* of that rule, where the argument X has been bound to a particular entity (note that this also applies to rules that define only one cluster; in that case, there are no arguments). An entity that is part of a cluster plays a “role” in such a cluster. This message describes such an instantiation of a rule with a role and with concrete values for the arguments.list(RepositoryWebrefClusterProtoRelationRuleInstance)
predicateEncodedMidRepositoryWebrefCompactFlatPropertyValueFlattened version of possibly nested compound values. This means that the `value` in here is *never* a `compound_value` and all predicate MIDs on the nested path are collapsed into the repeated `predicate_encoded_mid` field. When `predicate_encoded_mid` contains only one predicate, this is equivalent to a CompactKgPropertyValue.list(String)
propertyNameThe property corresponding to predicte_encoded_mid above. This is populated in some non-serving tables.RepositoryWebrefCompactFlatPropertyValueFlattened version of possibly nested compound values. This means that the `value` in here is *never* a `compound_value` and all predicate MIDs on the nested path are collapsed into the repeated `predicate_encoded_mid` field. When `predicate_encoded_mid` contains only one predicate, this is equivalent to a CompactKgPropertyValue.String
valueRepositoryWebrefCompactFlatPropertyValueFlattened version of possibly nested compound values. This means that the `value` in here is *never* a `compound_value` and all predicate MIDs on the nested path are collapsed into the repeated `predicate_encoded_mid` field. When `predicate_encoded_mid` contains only one predicate, this is equivalent to a CompactKgPropertyValue.list(RepositoryWebrefCompactKgValue)
encodedMidRepositoryWebrefCompactKgPropertyValueAnalog to freebase::PropertyValueString
hridRepositoryWebrefCompactKgPropertyValueAnalog to freebase::PropertyValueString
valueRepositoryWebrefCompactKgPropertyValueAnalog to freebase::PropertyValuelist(RepositoryWebrefCompactKgValue)
valueStatusRepositoryWebrefCompactKgPropertyValueAnalog to freebase::PropertyValueString
midMid of the topic; only filled in if no values.RepositoryWebrefCompactKgTopicAnalog to freebase::TopicString
propertyValueRepositoryWebrefCompactKgTopicAnalog to freebase::Topiclist(RepositoryWebrefCompactKgPropertyValue)
boolValuePresent when value is bool.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12boolean
compoundValueCompound values are those that contain either a number of simple valued facets (such as a latitude/longitude pair), or “mediator” topics representing multi-dimensional relationships between topics. See metaweb/data/topictable/topic.proto for more details.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12RepositoryWebrefCompactKgTopic
datetimeValuePresent when value is datetime.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
enumValuePresent when value is enum.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
floatValuePresent when value is float.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12float
idValuePresent when value is an id.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
intValuePresent when value is int.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
serializedProtoValuePresent when value is a serialized protocol buffer.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
textValuePresent when value is text.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
uriValuePresent when value is URI.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12String
uriValueFprint3232-bit fprint of uri. Can be used instead of `uri_value` to save space. See `GetNormalizedUriFprint32()`.RepositoryWebrefCompactKgValueAnalog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12integer
debugEntityOptionally the freebase_mid of the WebrefEntity which the Component identifies via entity_index. This is purely to help humans diagnose the WebrefEntities structure, may not always be present and should not be used by production code. Use QueryJoinToMeaningStructConverter to compose a proper value in place of the component reference.RepositoryWebrefComponentReferenceThe ArgumentValue reference to Mention.CompoundMention.Component. Next available tag number: 4String
funcallNameThe WebrefEntity referenced by `index` is equivalent to this function call in this context, but not universally such that we don’t want to recursively expand its MRF. Use this for example if an entity corresponds to a category in an Intersect: CellPhones() & RelatedTo(/m/foo), where /m/cell_phones is equivalent to CellPhones() (and may or may not have an annotated span), but we don’t want to generally assert that /m/cell_phones == CellPhones(). This cannot be an actual FunctionCall to avoid a circular dependency.RepositoryWebrefComponentReferenceThe ArgumentValue reference to Mention.CompoundMention.Component. Next available tag number: 4String
indexThe index of the Component of the CompoundMention which has the mrf_index of this MRF expression in WebrefEntity. Required.RepositoryWebrefComponentReferenceThe ArgumentValue reference to Mention.CompoundMention.Component. Next available tag number: 4integer
nameTypeMaskBitfield of ConceptNameMetadata::NameType bits.RepositoryWebrefConceptNameMetadataMetadata proto to be stored in concept tables. Note: Name table only stores name_type_mask for better performance. Remember to change NameToConceptEntry if you add a field to this proto. Note: in the annotator output only URL and PHONE_NUMBER are populated.String
connectednessRepresents how much the entity is connected/related to the other entities in the document. This signal partially influences the topicality score, but it is not totally aligned with it: an entity can be very related to the rest of the document, but not central for understanding it. Likewise, an entity can be central to understand a document, but not very related to the rest of the document. The value is in [0, 1].RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17number
docScoreHow well the document scores for the entity. The score is unnormalized, and serves as a relative ranking signal between different documents for an entity.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17number
isAuthorTrue if the entity is the author of the document. This was mainly developed and tuned for news articles (e.g. /m/02x27qn on “www.vogue.com/article/flint-town-netflix”) but is also popluated for other content (e.g. scientific articles). Important: the semantics of this field may change in the future or it might be removed and replaced with a different API. If you want to use this field, please reach out to ke-authors@ first.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17boolean
isPublisherTrue if the entity is the publisher of the page (e.g. CNN on “http://www.cnn.com/foo/bar”).RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17boolean
isReferencePageSet to true iff the entity matches the full URL of the document, meaning that it is a reference page or related page of the entity.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17boolean
normalizedTopicalityRepresentation of the topicality score that is normalized in [0, 1] and which sum over all entities in the document is 1. It represents the “proportion” of the document that talks about the entity. This score is less human interpretable as the bucketized topicality score (EntityAnnotations.topicality_score), but is more suited for some usages like aggregations.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17number
profileUrlContains the link to the author’s profile url on the platform.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17String
referencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor (that is turned off by default). This field is not populated, except for special reference page extraction runs.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17RepositoryWebrefReferencePageScores
relevanceScoreRelevance score generated by a Machine Learning entity classifier. This signal is similar to topicality, but machine learning based and supported by EntitySignals, not Webref. See http://go/entityclassifier for details on the classifier.RepositoryWebrefDetailedEntityScoresDetailed scores about the topicality of an entity. Next available tag: 17number
resultEntityScoreHow much support this mention received from the results for PostRef. This is populated only if explicitly requested and different from 0.RepositoryWebrefDetailedMentionScoresnumber
displayNamePer language display name from reliable sources.RepositoryWebrefDisplayInfoInformation that can be used to display the entity (e.g. title, image…).list(RepositoryWebrefDisplayName)
canonicalNameAn encylopedia style topic name (e.g. “Dog”, not “Dogs”). Corresponds to Freebase /type/object/name and similar sources.RepositoryWebrefDisplayNamePer language display name from reliable sources (e.g. Freebase, Wikipedia). The name can be ambiguous (e.g. “Springfield” rather than “Springfield, Idaho”), and is thus to be used in a context which provides sufficient disambiguation. See: http://go/entity-names WARNING: This data is DEPRECATED and any user-visible entity names need to be fetched from TopicServer. Note that any display names included in this proto are merely a pass-through from KG and have no freshness guarantees.String
languageThe language of this name. See http://goto/iii for all the details on the language identifiers.RepositoryWebrefDisplayNamePer language display name from reliable sources (e.g. Freebase, Wikipedia). The name can be ambiguous (e.g. “Springfield” rather than “Springfield, Idaho”), and is thus to be used in a context which provides sufficient disambiguation. See: http://go/entity-names WARNING: This data is DEPRECATED and any user-visible entity names need to be fetched from TopicServer. Note that any display names included in this proto are merely a pass-through from KG and have no freshness guarantees.String
subjectNameA name as it would be used for a news topic, an interest, the subject of a story. E.g. in list of things (“Related topics: Smartphones, computers, accidents”. “Interests: Dogs”). *Fall back:* If the field is not populated, fall back to the “canonical_name” field. This field is usually not populated since (a) in most cases the subject form name is the same as the canonical name, and (b) data coverage of subject-form names is currently much lower than data coverage of canonical names. Note: In some languages (e.g. French) the difference between canonical names and subject names is larger than in English (not just plural vs. singular), but still strictly grammatical (including an article, capitalization, plural vs. singular). Corresponds to Freebase /freebase/linguistic_hint/subject_form.RepositoryWebrefDisplayNamePer language display name from reliable sources (e.g. Freebase, Wikipedia). The name can be ambiguous (e.g. “Springfield” rather than “Springfield, Idaho”), and is thus to be used in a context which provides sufficient disambiguation. See: http://go/entity-names WARNING: This data is DEPRECATED and any user-visible entity names need to be fetched from TopicServer. Note that any display names included in this proto are merely a pass-through from KG and have no freshness guarantees.String
perDocRelevanceRatingsRepositoryWebrefDocLevelRelevanceRatingsList of PerDocRelevanceRatings for Precision@5 evals done via ewok (template 2282).list(RepositoryWebrefPerDocRelevanceRatings)
crawlTimeThe timestamp of when the document was crawled (if known). Copied from CompositeDoc.Content.CrawlTime.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
docFpFingerprint of the document. We compute and set this fingerprint when creating the pagesets that we use for evals. Otherwise, this field is not normally set. We use the field to make sure that the human ratings that we have are generated for the same version of the document, otherwise they might be invalid. We do not compute the fingerprint on the fly (e.g. as a fingerprint of the proto buffer serialization of the cdoc) because protocol buffer serialization is not stable.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
docIdDocId of the annotated document as read from cdoc.doc().docid().RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
forwardingUrlsUrls that forward to this url. Needed for url -> topical entity entries.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15RepositoryWebrefForwardingUrls
isDisambiguationPageSet to true if the document is a known disambiguation page, e.g. https://en.wikipedia.org/wiki/Orange.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15boolean
languageThe document language, as read from doc().content().language(). This is go/language-enum value.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
numIncomingAnchorsThe (weighted) number of incoming anchors (links from other documents).RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15number
salientTermsThe salient terms for this document. Only set if –webref_doc_metadata_copy_salient_terms is true. Same motivation as the title field above.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15QualitySalientTermsSalientTermSet
titleThe title of the document. Only set if –webref_doc_metadata_set_title is true. The idea is that we can use this to more easily learn things like: title contains “restaurants” -> more likely to be a list page.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
totalClicksThe total clicks on this document, taken from navboost data.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15number
urlThe url of the document.RepositoryWebrefDocumentMetadataInformation about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15String
entityDataThe actual domain specific data. For example it can be freebase.Topic, repository_wikipedia.WikiJoin, ocean.WorkMetadata, geostore.Feature.RepositoryWebrefDomainSpecificRepresentationRepresents a domain specific entity data.Proto2BridgeMessageSet
nonMidPropertiesContains selected properties (from KG) whose values are not other entities (in which case they would be represented in link_info) but scalar values, possibly reachable through (multiple) CVTs.RepositoryWebrefEnricherDebugDataTop level proto for enricher specific debug data that is only displayed in the Webref demo and should not be used for anything production-related. Next id: 4.list(RepositoryWebrefCompactFlatPropertyValue)
referencePageThis field contains reference pages for this entity. A reference page is a page that is highly topical for this entity, which can be used to mine additional information about this entity. Example reference pages for Apple Inc. would be the composite docs for “http://en.wikipedia.org/wiki/Apple_Inc.” and http://www.apple.com. For actors or movies, you can also have the imdb page. Also see: http://go/refx-pages.RepositoryWebrefEnricherDebugDataTop level proto for enricher specific debug data that is only displayed in the Webref demo and should not be used for anything production-related. Next id: 4.list(RepositoryWebrefSimplifiedCompositeDoc)
relatedPageThis field contains mined related pages for the entity. A related page is a page that is moderately topical for this entity (More details: http://shortn/_KCE0GfQlpJ). This is mainly used to mine additional information for entities which do not have reference pages Unlike reference pages, a single doc can be a related page for multiple mids.RepositoryWebrefEnricherDebugDataTop level proto for enricher specific debug data that is only displayed in the Webref demo and should not be used for anything production-related. Next id: 4.list(RepositoryWebrefSimplifiedCompositeDoc)
confidenceScoreThe overall confidence that the entity is annotated somewhere in the document or query. For WebRef it is computed as a function of the mention confidences weighted by the importance of each mention, where for documents a mention is of greater importance if it occurs in the title, h1 or anchors. For QRef it is just the maximum of the confidence over all mentions. NOTE: You probably want to use the mention-level segment_mentions.mention.confidence_score field instead of this one.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]number
debugInfoRepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]RepositoryWebrefAnnotationDebugInfo
detailedEntityScoresAdditional information about how the entity relates to the page, for example whether it is a business entity which published the page.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]RepositoryWebrefDetailedEntityScores
explainedRangeInfoAll ranges explained by the entity or any other entity it implies. Used in the context of partial query interpretation (go/partial-understanding).RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]RepositoryWebrefExplainedRangeInfo
imageMentionThis is an experimental output for go/multiref. Don’t use it without consulting the Webref teamRepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]list(RepositoryWebrefImageMention)
isImplicitAn entity is marked as implicit if there is no explicit mention of the entity in the content of the page. For instance, all mentions of the entity are in query, url and/or anchors; or the entity has only implicit content mentions.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]boolean
isResolutionTrue if the entity is an MDVC summary entity, i.e. it might not be mentioned directly on the query, but it is the product of resolving a set of explicit annotations. E.g. “2014 FIFA World Cup” can be the summary for the query: [soccer world cup in brazil] even though none of the names of the entity is mentioned on the query. Summary nodes can also be synthetic, i.e. have a /t/ mid, as they represent the intersection between a set of regular annotations. For more information, see http://go/mdvc-output.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]boolean
segmentMentionsAll mentions of a given concept grouped by segments. For Webref, there are many different kinds of segment, such as content, title and anchors; while for QRef, there is only one segment called CONTENT. For QRef this field contains the primary output of the annotator, and for WebRef it together with topicality_score does.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]list(RepositoryWebrefSegmentMentions)
topicalityRankRank of the entity when sorted by topicality score.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]integer
topicalityScoreThe WebRef topicality score of the entity for this document. This score indicates how related is the entity to the overall topic of the document. See https://goto.google.com/topicality-score for details. This field is not present in QRef output. Note that the topicality and the confidence score are orthogonal measures. It is possible that the annotator is absolutely sure that an entity is mentioned in a given range in the document, but this entity may be unrelated to the overall topic of the page (e.g. the entity “RSS” is mentioned in the footer of appleinsider.com). In this case the mention has a very high confidence score, but very low topicality score.RepositoryWebrefEntityAnnotationsAll annotations for a given concept (in one document collection). Available tags: [10-15], [19-]number
descriptionA human-readable description of the entity. This can range from brief, machine-generated notes to lengthy human-written paragraphs from Wikipedia.RepositoryWebrefEntityDebugInfoProvides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.String
languageThe language (III LanguageCode) of the `title` and `description` fields.RepositoryWebrefEntityDebugInfoProvides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.String
scoreInternal score to merge debug info. should not set in final entityjoins.RepositoryWebrefEntityDebugInfoProvides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.float
titleA short human-readable name/title of the entity, similar to what is displayed at the top of a Hume page. Suitable to be displayed in a list.RepositoryWebrefEntityDebugInfoProvides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.String
urlLink to a page with more information about the entity (internal Hume page, external Wikipedia page, etc.).RepositoryWebrefEntityDebugInfoProvides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.String
annotatedEntityIdThe id of this entity, prefer accessing through webref-entities-util.h functions.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.RepositoryWebrefWebrefEntityId
cdocThis field contains reference pages for this entity. A reference page is a page that is highly topical for this entity, which can be used to mine additional information about this entity. Example reference pages for Apple Inc. would be the composite docs for “http://en.wikipedia.org/wiki/Apple_Inc.” and http://www.apple.com. For actors or movies, you can also have the imdb page. Also see: http://go/refx-pages.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefSimplifiedCompositeDoc)
contextNameInfoThe context names (with scores) of this entity. The difference to regular names (aka name_info) is that context names are not used for finding mentions in a document as they consist of names somehow related to the entity (e.g. name “fisherman s wharf” for the entity “Gary Danko”). Used for reconciling freebase and oyster.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefGlobalNameInfo)
debugInfoDebug information about the entity.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefEntityDebugInfo)
enricherAnnotatorProfileOptional profiling data from the enricher that enriched this entity (and produced this EntityJoin as debug output).RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.RepositoryWebrefAnnotatorProfile
enricherDebugDataContains debug data produced by enricher and only used for debug purpose (e.g. demo).RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.RepositoryWebrefEnricherDebugData
extraDataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Despite its name, this field often contains quite important information.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.RepositoryWebrefExtraMetadata
humanRatingsHuman ratings (e.g. ratings from EWOK). This is typically only populated in the evaluation pipelines (e.g. P@5).RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.RepositoryWebrefHumanRatings
linkInfoContains all links (with scores) that Webref knows for this entity. Links are relationships between entities. The data in this field is very important for the quality of the model.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefGlobalLinkInfo)
nameInfoContains all names (with scores) that Webref knows for this entity. The data in this field is very important for the quality of the model.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefGlobalNameInfo)
refconNameInfoContains names and names metadata used by Refcon.RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefRefconRefconNameInfo)
representationAn entity can have metadata from various data sources. Generally speaking all sources will be / should be reconciled into a single KG Topic entry. However, in some cases we pull in additional chunks of metadata from these sources; these are stored in this field. For example a local business could have a KG entry (topic proto), wikipedia entry (WikiJoin) and a MapFacts entry (Feature proto).RepositoryWebrefEntityJoinNext available tag: 35. Represents all the information that we have for a given entity.list(RepositoryWebrefDomainSpecificRepresentation)
aggregateFlagsThe aggregate kind flags for the link.RepositoryWebrefEntityLinkMetadataMetadata about the nature of the link.RepositoryWebrefLinkKindFlags
kindInfoInformation about all the link kinds associated with the link.RepositoryWebrefEntityLinkMetadataMetadata about the nature of the link.list(RepositoryWebrefLinkKindInfo)
kgPropertyKG-property if the SourceType is associated with a KG-property (TOPIC_PROPERTY, NEW_TOPIC_PROPERTY).RepositoryWebrefEntityLinkSourceAll link data for a given source.String
scoreScore in [0, \\infty) that represents how relatively likely it is to see that entity cooccurring with the main entity (in the entity join). A value of 1.0 means that the two entities are basically independent. The higher the more likely (relatively to the individual entity probabilities) they are to cooccur.RepositoryWebrefEntityLinkSourceAll link data for a given source.number
typeRepositoryWebrefEntityLinkSourceAll link data for a given source.String
languageRepositoryWebrefEntityNameRatingsStores all human ratings collected for a given entity name.String
nameRepositoryWebrefEntityNameRatingsStores all human ratings collected for a given entity name.String
ratingsEvery entity name receives one or a few ratings from human raters.RepositoryWebrefEntityNameRatingsStores all human ratings collected for a given entity name.list(RepositoryWebrefEntityNameRatingsEntityNameRating)
tagsMultiple tags can be assigned to a rated entity name. The tags can be used when computing metrics in the Name Eval, so that different metrics are computed separately for different sets of examples that have the same tag.RepositoryWebrefEntityNameRatingsStores all human ratings collected for a given entity name.list(String)
commentComment left by the rater to justify the rating decision.RepositoryWebrefEntityNameRatingsEntityNameRatingString
labelRepositoryWebrefEntityNameRatingsEntityNameRatingString
sourceRepositoryWebrefEntityNameRatingsEntityNameRatingString
bootstrappingPreviousIterationIf the EntityNameScore is part of a bootstrapped model, then this field contains the score_ratio from the previous model (“Model 0”). If Model 0 does not have a corresponding entry, because it did not know about this name for this entity, then bootstrapping_previous_iteration is left empty.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.RepositoryWebrefBootstrappingScore
confidenceConfidence that this name is a trusted name of the entity. A reasonable threshold for name trust is 0.6. A name can be trusted and still have very low score_ratio, esp. if it is ambiguous (e.g. ‘mercury’) and/or not the dominant interpretation (e.g. “siberian husky” -> /m/06krnsr (a book)).RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.number
debugInfoDebug information about the entity.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.list(RepositoryWebrefEntityDebugInfo)
debugVariantSignalsSource and score data, this is internal to refx (e.g. for demo/debug).RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.list(RepositoryWebrefPreprocessingNameVariantSignals)
extendedScoreRatioStores region specific score ratios for the entity when it is significantly different from the language version above.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.list(RepositoryWebrefExtendedEntityNameScore)
includeInModelInclude this name in the name lookup table.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
internalBootstrapIsOpenWorldTransient field, only used in bootstrap pipeline.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
internalIsClusterParentRepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
isClusterGlobalSet to true iff the concept is cluster parent and the name can be a name for any child of the cluster. (e.g. ‘starbucks’ is cluster_global for the [Starbucks] chain cluster).RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
isDroppedDocumented at: google3/repository/webref/enricher/core/data/scored_entity_name.hRepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
isMatchlessResultContextOnly for context names: Whether this EntityNameScore represents an entity that was dominant in the search results but was not annotated by QRef during learning. Matchless result contexts are useful for bootstrapping, where different model iterations may have different names and thus context scores from Model 0 that are inconsistent with the names from Model 1.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
isPrunedDocumented at: google3/repository/webref/enricher/core/data/scored_entity_name.hRepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
midThe id of the entity.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.String
nameMetadataMetadata about this name aggregated from name signals.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.RepositoryWebrefPreprocessingNameEntityMetadata
rangeMetadataMetadata of segment range, which is annotated by this entity.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.list(RepositoryWebrefRangeMetadata)
scoreThe absolute score of that entity. score = artificial_score + volume_based_scoreRepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.number
scoreRatioRatio between this entity score and the total score over all entities. This is including the “open world” information if it was estimated.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.number
useAsNameCandidateWhen this field is true, we consider this context name as candidate in Enricher’s names pipeline.RepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.boolean
volumeBasedScoreAbsolute score that comes from quantitative sources such as navboost clicks, anchors, etc. artificial_score = score – volume_based_scoreRepositoryWebrefEntityNameScoreRepresents a score for an entity. Next available tag: 39.number
entityScoreAll the entity-name scores from that source. Keyed by the EntityNameScore.entity_id field.RepositoryWebrefEntityNameSourceRepresents the data for a given source of names, including all entity scores. Notice that a source of name can be just a signal like a multiplier. Next available tag: 8.list(RepositoryWebrefEntityNameScore)
typeDescribes where the data comes from.RepositoryWebrefEntityNameSourceRepresents the data for a given source of names, including all entity scores. Notice that a source of name can be just a signal like a multiplier. Next available tag: 8.String
alphaEntityIdfThis field is only for debugging and link weight experiments. It stores the entity’s idf from the alpha model. Alpha idfs are used for link weight computations and available during model omega building via enricher_current_entity_idf_for_link_direction.RepositoryWebrefEntityScoresKeeps a set of scores about an entity. Next available tag: 20.number
commonNgramProbProbability that the entity is a common ngram (e.g. from dictionary).RepositoryWebrefEntityScoresKeeps a set of scores about an entity. Next available tag: 20.number
entityIdfThe final (model omega) idf of an entity. Equals log2(1 / probability of the entity to appear in a document). This probability is currently estimated from its names (i.e. it is a sum of the name frequency weighted by P(entity | name)).RepositoryWebrefEntityScoresKeeps a set of scores about an entity. Next available tag: 20.number
nameCapitalizationProbThe following field is deprecated and should eventually be removed. It uses data and rules that have not been refreshed for ~10y and KG has changed a lot in the meantime.RepositoryWebrefEntityScoresKeeps a set of scores about an entity. Next available tag: 20.number
explainedRangeAll ranges explained by the entity.RepositoryWebrefExplainedRangeInfoInformation about all ranges explained by the entity or any other entity it implies. For example, the Zurich entity may explain both tokens “Zurich” and “Switzerland” in [FIFA Zurich Switzerland], the first directly, the other via implication. Only used in the context of query annotation.list(RepositoryWebrefExplainedRangeInfoExplainedRange)
geoQueryCoverageRepositoryWebrefExplainedRangeInfoInformation about all ranges explained by the entity or any other entity it implies. For example, the Zurich entity may explain both tokens “Zurich” and “Switzerland” in [FIFA Zurich Switzerland], the first directly, the other via implication. Only used in the context of query annotation.String
mentionSegmentMention describing the occurrence of the token in the document.RepositoryWebrefExplainedRangeInfoExplainedRangeA range of the annotated document explained by an entity.RepositoryWebrefSegmentMention
domainThe domain name of the website, e.g. “play.google.com”.RepositoryWebrefExtendedEntityNameScoreUsed to store region-specific score ratio per entity. Next available tag: 4.String
regionThe region in the III standard (http://go/iii). Eg. “US”, “GB”RepositoryWebrefExtendedEntityNameScoreUsed to store region-specific score ratio per entity. Next available tag: 4.String
scoreRatioScore ratio for the entity, same as the EntityNameScore score ratio.RepositoryWebrefExtendedEntityNameScoreUsed to store region-specific score ratio per entity. Next available tag: 4.number
bookEditionMetadataFor a book entity, store its book editions metadata. Used by Juggernaut to do /book/book_edition recon, see ariane/265006. This field is used by Juggernaut only.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.list(RepositoryWebrefBookEditionMetadata)
categoryInfoInformation about category types of the entity.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefCategoryInfo
clusterMetadataMetadata about clusters.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefClusterMetadata
displayInfoInformation for displaying the entity in applications.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefDisplayInfo
entityScoresAdditional scores for the entity.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefEntityScores
equivalentEntityIdAn entity in KG that represents the same (or equivalent) entity in the real world. In particular, this is used for mid-forwarding: when de-duping entities in KG, the old ids represent the exact same entity as the one they were merged with. So when we see one id in the query and the other in a document, they are treated as the same entity.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.list(RepositoryWebrefWebrefEntityId)
geoMetadataGeo-specific entity metadata.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefGeoMetadataProto
kcAttributeMetadataMetadata related to KC attributes and Question & Answer triggering.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefKCAttributeMetadata
latentEntitiesA list of entities that are latent given this entity. For example, “Lionel Messi” can have the latent entity “FC Barcelona”. The latent entity links are materialized in an offline pipeline using r/w/scripts/latent_entities/latent-entities.pq. For more information, see go/latent-entities.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefLatentEntities
mdvcMetadataMetadata about MDVC.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefMdvcMetadata
otherMetadataOther metadata.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.Proto2BridgeMessageSet
primaryRecordingThe primary recording mid of a recording cluster entity. Used by Juggernaut to do /music/recording recon, see b/139901317. The primary recording is unique to a recording cluster. This field is used by Juggernaut only.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.String
productMetadataProducts-specific entity metadata. Only available in QrefMetadata output.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.RepositoryWebrefProductMetadata
specialEntityType# LINT.ThenChange( //depot/google3/repository/webref/evaluation/query/metrics/util.cc)RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.String
specialWordRepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.list(MapsQualitySpecialWordsProto)
supportTransferRulesMetadata about support transfer rules defined for this entity.RepositoryWebrefExtraMetadataAdditional metadata about the entity, that can be derived from the “raw data” (composite doc, domain specific data…), or come from other sources. Next available tag is 35.list(RepositoryWebrefSupportTransferRule)
idThe category ID from verticals4. See go/verticals4 and where we read them in http://google3/repository/webref/preprocessing/fatcat-categories.ccRepositoryWebrefFatcatCategoryinteger
scoreThe relative weight of the category within a distribution.RepositoryWebrefFatcatCategorynumber
forwardingUrlUrls that forward to this url. Used for url -> topical entity entries.RepositoryWebrefForwardingUrlsSubmessage for forwarding urls in DocumentMetadata.list(String)
languagei18.languages.Language enum defined in i18n/languages/proto/languages.proto UNKNOWN_LANGUAGERepositoryWebrefFprintModifierProto#NAME?integer
namespaceTypeRepositoryWebrefFprintModifierProto#NAME?String
provenanceOptional – for inferred types the principal source of information.RepositoryWebrefFreebaseTypeThe Freebase type information.list(String)
scoreOptional score. Not present in KG directly but e.g. in WPCat.RepositoryWebrefFreebaseTypeThe Freebase type information.number
typeFprintFingerprint of type hrid http://cs/google3/repository/webref/universal/base/kg-schema.h;rcl=543911652;l=51RepositoryWebrefFreebaseTypeThe Freebase type information.String
typeNamee.g.: “/business/industry”, “/book/book_subject”, “/people/person”… HRID of the type. May be missing for optimisation reasons in Refcon, but is present for Qref/Webref. At least one of type_name or type_fprint will be present at all timesRepositoryWebrefFreebaseTypeThe Freebase type information.String
indexThe segment index.RepositoryWebrefGenericIndicesIdentifies the segment index for Webref SegmentTypes not covered by other *Indices messages.integer
addressStores parent/container information containing city, province & country.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.GeostoreAddressProto
addressSynonymsThis field is only provided through the online qref interface (QrefMetadata). This is a fairly simple extraction from the /geo/type/feature/address_proto_blob triple.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.list(RepositoryWebrefGeoMetadataProtoAddressSynonym)
areaKm2Area in km^2 of the feature if the feature has polygon. Only set by qrefmetadata.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.float
boundThe tight bounds of this feature. Note that these are different from the FeatureProto.bound field.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.GeostoreRectProto
countryCodeCountry code of the country of the entity. Only available in qref-metadata.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.String
locationThe geographic location (center) and geometry of this entity. See geostore.FeatureProto for more details.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.GeostorePointProto
nameThe best name from Oyster for this entity. Is only included for some types of entities, and is a trimmed version of the proto (some fields are cleared).RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.GeostoreNameProto
oysterIdThe oyster id of the entityRepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.GeostoreFeatureIdProto
stableIntegerCountryCodeNumerical country code, converted with i18n/identifiers/stableinternalregionconverter.h. It is the same as country_code, but it is available in the annotator model (and takes less space).RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.integer
timezoneTimezone if the feature is contained inside one.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.String
wpLocationInformation about the geographic location (center) extracted from the wikijoins.RepositoryWebrefGeoMetadataProtoGeo-specific information about the entity. Next available tag: 34.list(RepositoryWebrefWikipediaGeocode)
languageRepositoryWebrefGeoMetadataProtoAddressSynonymTerms from AddressComponent proto that we can use as address synonyms. At the time of annotation we have the entire AddressProto, however we can’t use it all due to size. So only store relevant pieces of components (defined in superroot/impls/localweb/s2_synoyms.h).String
nameRepositoryWebrefGeoMetadataProtoAddressSynonymTerms from AddressComponent proto that we can use as address synonyms. At the time of annotation we have the entire AddressProto, however we can’t use it all due to size. So only store relevant pieces of components (defined in superroot/impls/localweb/s2_synoyms.h).String
typeThe type of the geocoded address. e.g. Road, Lake, Ocean, building. This comes from TypeCategory field in geostore/base/proto/feature.protoRepositoryWebrefGeoMetadataProtoAddressSynonymTerms from AddressComponent proto that we can use as address synonyms. At the time of annotation we have the entire AddressProto, however we can’t use it all due to size. So only store relevant pieces of components (defined in superroot/impls/localweb/s2_synoyms.h).integer
debugTitleA short human-readable name/title of the entity, similar to what is displayed at the top of a Hume page. Do not use for any production purpose as it does not provide guarantees for stability or policy checks (access requirements).RepositoryWebrefGlobalLinkInfoGroups together the LinkInfo for all locales.String
isBoostedPrimaryWeightLinkWhether this is a BoostedPrimaryWeight link. For these links in some cases a higher weight is used for primary scoring.RepositoryWebrefGlobalLinkInfoGroups together the LinkInfo for all locales.boolean
targetMidThe mid of the linked entity.RepositoryWebrefGlobalLinkInfoGroups together the LinkInfo for all locales.String
variantInfoThe information about this link for each locale.RepositoryWebrefGlobalLinkInfoGroups together the LinkInfo for all locales.list(RepositoryWebrefLinkInfo)
normalizedNameThe normalized name.RepositoryWebrefGlobalNameInfoGroups together the NameInfo for all variants of a given name. The variants of a name have the same normalized string, but they have a different original string and/or a different language/region. Example: For the name “apple”, there may be variants such as “apple|en”, “apple|en|US”, “apple|de”, “Apple|en”…String
variantInfoAll the variants of this name together with associated information such as score, sources, etc.RepositoryWebrefGlobalNameInfoGroups together the NameInfo for all variants of a given name. The variants of a name have the same normalized string, but they have a different original string and/or a different language/region. Example: For the name “apple”, there may be variants such as “apple|en”, “apple|en|US”, “apple|de”, “Apple|en”…list(RepositoryWebrefNameInfo)
annotationRatingsRepositoryWebrefHumanRatingsRepositoryWebrefAnnotationRatings
confidenceScoreRepositoryWebrefImageMentionnumber
imageDocidhttps://source.corp.google.com/piper///depot/google3/image/search/imagedoc.proto;bpv=1;bpt=1;rcl=592258038;l=275 cdoc -> doc_images -> canonical_docid corresponds to the Image Doc IDRepositoryWebrefImageMentionString
canonicalDocidThe (canonical) image docid of the ImageData this image query is part of. Useful for identifying the ImageData even after doc_images are updated in between Webref annotation runs. Use docid only when canonical_docid == 0.RepositoryWebrefImageQueryIndicesIdentifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.String
docidRepositoryWebrefImageQueryIndicesIdentifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.String
imageIndexWARNING: The doc_images in docjoins are subject to updates including non-deterministic reordering of doc_images and their image_nb_data extensions. This means that without re-running WebrefAnnotator one cannot rely on the accuracy or even consistency of either image_index or query_index when parsing a cdoc from docjoins. In those situations one ought to rely on canonical_docid (or docid when canonical_docid is absent viz. 0). The index of the source image in CompositeDoc::doc_images.RepositoryWebrefImageQueryIndicesIdentifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.integer
queryIndexQueries index in ImageData::image_data_navboost.RepositoryWebrefImageQueryIndicesIdentifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.RepositoryWebrefQueryIndices
indexIndex within the proto. Several indices are necessary in case of nested repeated fields. The data can be accessed as follows: TOPICS: topic_annotations.kg_schema_topic(index(0)) .property_value(index(1)) .value(index(2)); TRIPLES: reconcile_request.triple(index(0));RepositoryWebrefJuggernautIndicesIdentifies the source of Spore segments in the CompositeDoc.list(integer)
typeRepositoryWebrefJuggernautIndicesIdentifies the source of Spore segments in the CompositeDoc.String
equivalentAttributeIdEquivalent kc attribute id for the given entity if applicable. E.g. for Daughter (/m/029wnx) this will be ‘kc:/people/person:daughter’.RepositoryWebrefKCAttributeMetadataMetadata related to KC attributes and Question & Answer triggering. Next available tag: 2.String
debugIdA human friendly identifier (collection hrid). NOTE: The field name is a misnomer, this is the preferred field to use in production.RepositoryWebrefKGCollectionSee go/kg-collectionsString
idIdentifier of the collection, usually a MID (/m/xyz or /g/zyw). NOTE: In most cases, this is not the id that should be used, debug_id is the preferred identifier. The main reason is the this is not a stable id (mid for collection sometimes shift around).RepositoryWebrefKGCollectionSee go/kg-collectionsString
latentEntityLatent entities with associated metadata including source of the relationship. This is pruned (“compacted”) from the concept table and will never reach the annotator.RepositoryWebrefLatentEntitiesA list of entities that are latent given this entity. For example, “Lionel Messi” can have the latent entity “FC Barcelona”. See go/refx-latent-entities for detailed description.list(RepositoryWebrefLatentEntity)
broaderImportanceThe relatedness score of the two entities corresponding to each source above.RepositoryWebrefLatentEntityMetadata about a latent entity and its relationship to a given child. See go/hits.list(number)
midThe mid of the latent entity.RepositoryWebrefLatentEntityMetadata about a latent entity and its relationship to a given child. See go/hits.String
sourcesThe sources this generalization relationship is coming from.RepositoryWebrefLatentEntityMetadata about a latent entity and its relationship to a given child. See go/hits.list(String)
lexicalRangeRepositoryWebrefLexicalAnnotationLexicalAnnotation is public lightweight serving structure for both WordGraph features and LWT annotations to expose lexical information downstream from RefX, e.g. in LooseParser.list(RepositoryWebrefLexicalRange)
beginOffsetBegin byte offset relative to the full original query.RepositoryWebrefLexicalRangeA single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.integer
categoryRepositoryWebrefLexicalRangeA single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.String
directionDirection defines the relation between the measurable aspect and the facet.RepositoryWebrefLexicalRangeA single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.String
endOffsetEnd byte offset relative to the full original query.RepositoryWebrefLexicalRangeA single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.integer
facetMidThe mid of the facet associated with ASPECT category.RepositoryWebrefLexicalRangeA single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.String
additionalBeginOffsetThe byte offset of the beging of the additional lightweight token match. e.g. the prefix pattern of the circumfix.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.integer
additionalEndOffsetThe byte offset of the end of the additional lightweight token match. e.g. the suffix pattern of the circumfix.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.integer
beginOffsetThe byte offset of the begin of the lightweight token match within each range. The default value of -1 (std::string::npos) means that there’s no affix or adposition detected.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.integer
endOffsetThe byte offset of the end of the lightweight token match within each range. The default value of 0 means that there’s no affix or adposition detected.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.integer
patternIdMatched pattern Id which will be used to retrieve back pattern features. Pattern id is only populated for Enricher model.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.String
sourceEntityIndexThe index of the source entity in the resulting WebrefEntities or WebrefEntitiesWrapper, to which the lightweight token rule is applied. This field is only populated at the end of Qref scorer when we are sure which source entity should output.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.integer
typeThe type of the lightweight token match, which provides the semantic information.RepositoryWebrefLightweightTokensMatchedLightweightTokenNecessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: “zurichben” language: Hungarian retrieved_entity: /m/08966 (with name “zurich”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: “egyesult allamokott” language: Hungarian retrieved_entity: /m/09c7w0 (with name “egyesult allamok”) will get: MatchedLightweightToken: LightweightTokenType: “LOCATIVE” begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule “*e:*as” to transform “tannlegas” to “tannlege”. The matched byte range is [7, 9) on “as”, therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on “e”. Also, keep in mind these are byte offsets, not codepoints.String
matchedLightweightTokenRepositoryWebrefLightweightTokensPerMentionLightweightTokenCollects all lightweight token patterns for each CandidateMention or Mention.list(RepositoryWebrefLightweightTokensMatchedLightweightToken)
matchedLightweightTokenRepositoryWebrefLightweightTokensPerNameLightweightTokenCollects all lightweight token patterns for each NameToConceptEntry.list(RepositoryWebrefLightweightTokensMatchedLightweightToken)
aggregatedScoreThe score aggregated from all sources.RepositoryWebrefLinkInfoRepresents all information we have about a specific/localized link. Next available tag: 11.number
isPreferredDirectionThe EntityJoin keeps bi-directional links, but for some applications we only need them in one direction. This value indicates whether this is the preferred direction to keep. (We usually prefer keeping the link from the less common to the more common entity for performance reasons). For categorical links the preferred direction is from child to parent.RepositoryWebrefLinkInfoRepresents all information we have about a specific/localized link. Next available tag: 11.boolean
metadataThe metadata associated with the link.RepositoryWebrefLinkInfoRepresents all information we have about a specific/localized link. Next available tag: 11.RepositoryWebrefEntityLinkMetadata
sourceThe per-source scores.RepositoryWebrefLinkInfoRepresents all information we have about a specific/localized link. Next available tag: 11.list(RepositoryWebrefEntityLinkSource)
clusterRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
geoContainmentRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
implicationRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
latentEntityRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
mdvcRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
propertyRepositoryWebrefLinkKindFlagsA bitmap of bool values associated with a link kind. Next available tag: 12String
flagsThe flags associated with the link kind.RepositoryWebrefLinkKindInfoInformation about one of the types of a linked entity.RepositoryWebrefLinkKindFlags
topicPropertyNameIf the link was extracted from a property, the name of the property. Can start with an exclamation mark “!” to indicate that the inverse relationship is specified. (e.g. “!/tv/tv_series_episode/series” is the inverse of “tv/tv_program/episodes”).RepositoryWebrefLinkKindInfoInformation about one of the types of a linked entity.String
domainThe domain name from which results come, e.g. “play.google.com”.RepositoryWebrefLocalizedStringNext available tag: 8.String
fprintModifierFprintModifier describing the formatting of the string. If fprint_modifier is set, then original_string, language and region should not be set.RepositoryWebrefLocalizedStringNext available tag: 8.RepositoryWebrefFprintModifierProto
languageThe language in the III standard (http://go/iii)RepositoryWebrefLocalizedStringNext available tag: 8.String
normalizedStringRepositoryWebrefLocalizedStringNext available tag: 8.String
originalStringRepositoryWebrefLocalizedStringNext available tag: 8.String
regionThe region in the III standard (http://go/iii)RepositoryWebrefLocalizedStringNext available tag: 8.String
sourceTypeWhich querybase pipeline the data comes from.RepositoryWebrefLocalizedStringNext available tag: 8.String
dimensionUndergoing migration into the PerVertical message. Avoid using it. Concept ids of MDVC dimensions of this concept.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.list(String)
expandedOutputConceptIdUndergoing migration into the PerVertical message. Avoid using it. List of encoded mids to be expanded in WebRef/QRef output whenever this entity gets annotated. Will be populated in the annotators once static data is deprecated. b/78866814.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.list(String)
generalizationUndergoing migration into the PerVertical message. Avoid using it. Concept ids of MDVC generalizations of this concept.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.list(String)
isSyntheticTrue iff the topic is synthetically created during by MDVC extraction.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.boolean
perVerticalData, specific to particular verticals.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.list(RepositoryWebrefMdvcMetadataPerVertical)
resolutionPriorityUndergoing migration into the PerVertical message. Avoid using it. Resolution priority for this entity. In case a query has many possible resolutions, only the ones with the highest resolution priority are annotated.RepositoryWebrefMdvcMetadataMetadata about MDVC (go/mdvc). Next available tag: 18.integer
compatibleIdsConcept ids compatible with this topic: specializations and/or ones having this concept as a dimension. Always includes the topic itself.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19list(String)
dimensionIdsConcept ids of the dimension values of this topic.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19list(String)
expandedOutputIdsConcept ids to annotate whenever this entity is annotated.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19list(String)
generalizationIdsConcept ids of the generalizations of this topic.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19list(String)
isCoreTrue if the topic is considered a “core topic” for the vertical.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19boolean
isDimensionIf true, the entity is a dimension for some entities in the vertical.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19boolean
isGeneralizationIf true, the entity is a generalization for some entities in the vertical.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19boolean
resolutionPriorityResolution priority for this entity. If there are many possible resolutions to a MDVC understanding, only the ones with the highest priority are annotated.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19integer
verticalNameName of the vertical this message is about.RepositoryWebrefMdvcMetadataPerVerticalPer-vertical part. Next available tag: 19String
addedByCloseAnswersWhether this mention was created by CloseAnswers on Postref. This bit is populated into corresponding intent_query through Aqua.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40boolean
additionalExplainedRangeIf the mention’s range is discontinuous, additional ranges that are a part of the mention but are not included in the begin/end range above.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40list(RepositoryWebrefMentionAdditionalExplainedRange)
beginThe [begin, end) byte offset, compatible with the Goldmine DocState representation. – For CONTENT, TITLE, META_CONTENT_TAG and IMG_ALT_TAG segments, the offsets are relative to the beginning of the document content. – For ANCHOR, QUERY, URL, IMAGE_QUERY, CONTEXT_ENTITY, CONTEXT_QUERY, SPORE_GRAPH, INSTANT_QUERY and VIDEO_TRANSCRIPT segments, the offsets are relative to the beginning of the corresponding (sub-)segment or text from doc attachment. The (indexing.annotations.goldmine) options are marks for Goldmine AnnotationsFinder to locate begin and end offsets in order to extract themRepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40integer
beginTokenIndexThe [begin end) token offsets in the Goldmine DocState. They follow similar rules as “begin” and “end” above, but for tokens rather than byte offsets. These fields are currently only populated by the query annotator.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40integer
compoundMentionFor a compound mention, the references to the entity and mention of the components. Each compound_mention claims one or more ‘mrf’ fields from the WebrefEntity owning this mention. Use QueryJoinToMeaningStructConverter to expand compound mentions into complete MRF.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40list(RepositoryWebrefMentionCompoundMention)
confidenceScoreA probabilistic score describing how certain the annotator is that this exact range in the document or query refers to the entity. Probability that a mention is correct corresponds to confidence score roughly as follows: 0.3 -> 75% 0.5 -> 87% 0.7 -> 89% 0.9 -> 94% 1.0 -> 98% However if you consider all mentions with a score above 0.3, then most of these will have scores close to 1, so the overall precision of these mentions is around 95%.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40number
debugInfoDebug information.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefMentionDebugInfo
detailedMentionScoresAdditional detailed scores about this mention.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefDetailedMentionScores
endRepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40integer
endTokenIndexRepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40integer
evalInfoInformation used by the evaluation tools to mark mentions annotations as correct/incorrect. This will never be annotated in production (would be nice if was, though :-)).RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefMentionEvalInfo
interpretationNumberDEPRECATED and not populated anymore.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40list(integer)
isImplicitTrue if the entity is mentioned implicitly. Note that a mention can be implicit *and* have a non-empty range, for example if the entity is Sports, and this is inferred from the mention of “gym”.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40boolean
lexicalAnnotationProvides a Wordgraph lexical signals for the mentioned range so it can be use in LooseParsing. Please don’t use this field before consulting wordgraph-team.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefLexicalAnnotation
lowConfidenceQref & Postref only: Set to true for candidates part of qref candidate output for which there was no mention in qref. Internal to qref and LooseParsing. Do not use outside of these systems.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40boolean
matchingTextRefcon-only: Annotated span in Refcon-normalized textual format, corresponding to the [begin end) offset interval in the CDoc. It will only be populated for CDocs originated from Docjoin extraction.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40String
nameMetadataMetadata attached to the name.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefConceptNameMetadata
perMentionLightweightTokenProvides concised access to all matched MatchedLightweightToken.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefLightweightTokensPerMentionLightweightToken
personalizationContextOutputsAdditional personalization output scores about this mention.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefPersonalizationContextOutputs
priorProbabilityThe prior probability of the entity for this mention.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40number
referenceScoreWhether the mention is a reference (e.g. it could be resolved to an entity coming from personal data) or not, currently only used for personal resolutions. Scores from 0 (not a reference) to 1 (reference). Use at your own risk as they are subject to change, advised to talk to refx-personal first.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40number
resolutionScoreWhether the mention is a resolution or not, currently only used for personal resolutions. Scores from 0 (not a resolution) to 1 (resolution). Use at your own risk as they are subject to change, advised to talk to refx-personal first.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40number
stuffAssorted things that can be added to a Mention.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40Proto2BridgeMessageSet
subsegmentIndexIdentifies the sub-segment where the annotation occurs. See SubSegmentIndex for details. Not present in QRef, also deprecated for URL segment types.RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40RepositoryWebrefSubSegmentIndex
trustedNameConfidenceConfidence that this name is a trusted name of the entity. This is set only in case the confidence is higher than an internal threshold (see ConceptProbability).RepositoryWebrefMentionMultiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40number
beginLike begin/end, begin_token_index/end_token_index above.RepositoryWebrefMentionAdditionalExplainedRangeAdditional ranges covered by the mention. Next available tag: 5integer
beginTokenIndexRepositoryWebrefMentionAdditionalExplainedRangeAdditional ranges covered by the mention. Next available tag: 5integer
endRepositoryWebrefMentionAdditionalExplainedRangeAdditional ranges covered by the mention. Next available tag: 5integer
endTokenIndexRepositoryWebrefMentionAdditionalExplainedRangeAdditional ranges covered by the mention. Next available tag: 5integer
entityIndexThe indices to identify the entity within the WebrefEntities.entities, the segment within its EntityAnnotations.segment_mentions, and the mention within that segment. entity_index is always guaranteed to be set, but segment_mentions_index and mention_index are omitted if the component reference is implicit.RepositoryWebrefMentionComponentReference to a component of a compound mention. Next available tag: 5integer
isHeadComponentThe source of the compound has designated this component as the head. Only one of the components can be a head, but it’s possible none are.RepositoryWebrefMentionComponentReference to a component of a compound mention. Next available tag: 5boolean
mentionIndexRepositoryWebrefMentionComponentReference to a component of a compound mention. Next available tag: 5integer
segmentMentionsIndexRepositoryWebrefMentionComponentReference to a component of a compound mention. Next available tag: 5integer
componentReferences to the component mentions which the MRF needs to be fully expanded. It is guaranteed that for a given set of components there exists only a single CompoundMention, i.e. the CompoundMentions are deduped to be unique so each set of components is present only once. The ArgumentValue of the WebrefEntity.mrf refer to these components via ComponentReference; it is guaranteed there are as many components as the MRF expression refers to.RepositoryWebrefMentionCompoundMentionA single compound mention. Next available tag: 3list(RepositoryWebrefMentionComponent)
mrfIndexThe WebrefEntity.mrf indices which this compound applies to. There can be at most one CompoundMention which claims an MRF index, but it is possible there are MRF expressions which are not claimed by any CompoundMention.RepositoryWebrefMentionCompoundMentionA single compound mention. Next available tag: 3list(integer)
cleanTextA clean version of text. This is mostly used for compatibility with other Goldmine annotators.RepositoryWebrefMentionDebugInfoString
infoStringOptional debug information.RepositoryWebrefMentionDebugInfolist(String)
snippetA snippet of the parsed text (html tags removed) in the page around this mention. Useful for human evaluation of the quality of the annotations. Outputted by WebrefAnnotator if –webref_output_mention_snippet_size is set to a value greater than 0.RepositoryWebrefMentionDebugInfoString
textOriginal UTF-8 document text occurring in the range [begin, end).RepositoryWebrefMentionDebugInfoString
atmWeightWeight of the mention used in the ATM score.RepositoryWebrefMentionEvalInfonumber
ratingThe aggregate numerical rating of this mention. 0.0 means completely incorrect, and 1.0 completely correct.RepositoryWebrefMentionEvalInfonumber
beginByte offsets of the mention.RepositoryWebrefMentionRatingsPer document mention ratings. Next id: 10integer
endRepositoryWebrefMentionRatingsPer document mention ratings. Next id: 10integer
mentionMatchRepositoryWebrefMentionRatingsPer document mention ratings. Next id: 10list(String)
singleMentionRatingRepositoryWebrefMentionRatingsPer document mention ratings. Next id: 10list(RepositoryWebrefMentionRatingsSingleMentionRating)
isCorrectRangeSet for mentions got from the new topicality template. True if the raters checked this range as being a good range for the entity. If the range is not correct we demote the mention score. This field is only used in template version V1. From template version V2 and forward it is now set via phrase_refer.RepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11boolean
mentionMatchRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11String
mentionRelevantRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11String
phraseReferRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11String
raterCanUnderstandTopicWhether rater can understand the topic.RepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11boolean
ratingSourceThe source of the rating, possibly a golden set external to EWOK.RepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11String
resultCountRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11integer
taskDataRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11RepositoryWebrefTaskData
topicMentionedInResultRepositoryWebrefMentionRatingsSingleMentionRatingNext available tag: 11list(String)
indexRepositoryWebrefMetaTagIndicesIdentifies the source of the Meta Content Tag segment in the Cdoc https://www.w3schools.com/tags/tag_meta.aspinteger
metaNameRepositoryWebrefMetaTagIndicesIdentifies the source of the Meta Content Tag segment in the Cdoc https://www.w3schools.com/tags/tag_meta.aspString
candidatesList of per-candidate signals derived from annotation of this query.RepositoryWebrefNameDebugInfoCollects signals from one query used for prior learning.list(RepositoryWebrefNameDebugInfoCandidateInfo)
queryQuery with region (language is set in parent NameInfo).RepositoryWebrefNameDebugInfoCollects signals from one query used for prior learning.RepositoryWebrefLocalizedString
weightQuery weight used in learning.RepositoryWebrefNameDebugInfoCollects signals from one query used for prior learning.number
isMatchlessResultContextWhether the entity is purely from strong result entities, and is matchless in query annotation.RepositoryWebrefNameDebugInfoCandidateInfoCollects signals from one query and one candidate. Next available tag: 9boolean
midMid of the candidate entity or empty string for the full world.RepositoryWebrefNameDebugInfoCandidateInfoCollects signals from one query and one candidate. Next available tag: 9String
nameDebug name of the entity (not usually populated).RepositoryWebrefNameDebugInfoCandidateInfoCollects signals from one query and one candidate. Next available tag: 9String
resultEntityScoreRepositoryWebrefNameDebugInfoCandidateInfoCollects signals from one query and one candidate. Next available tag: 9number
aggregatedScoresThe score aggregated from all sources.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).RepositoryWebrefAggregatedEntityNameScores
annotatedCategoryInformation on categories annotated on the range.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).list(RepositoryWebrefAnnotatedCategoryInfo)
debugDetailsDEBUG ONLY: stores a list of queries with per-candidate scores about signals used for prior learning.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).list(RepositoryWebrefNameDebugInfo)
includeInModelField which decides if this NameInfo should be included in model creation.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).boolean
nameThe specific name to which this information applies.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).RepositoryWebrefLocalizedString
ngramDataN-gram data (e.g. n-gram IDF).RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).RepositoryWebrefUniversalNgramData
perNameLightweightTokenLightweight token semantic metadata for inflected name.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).RepositoryWebrefLightweightTokensPerNameLightweightToken
scoresThe name-specific scores. These scores only depend on the name and are independent of the entity.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).RepositoryWebrefNameScores
sourceThe per-source scores.RepositoryWebrefNameInfoRepresents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).list(RepositoryWebrefEntityNameSource)
completeWorldVolumeApproximates volume of this name including entities we don’t have in our set. This is useful to estimate the size of the “open world”. For example, this field can be equal to the total number of clicks for the query. Note that for now, we ignore the number of clicks but just use the idf if available.RepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
contextFringeScoreThe fringe score in [0, 1] for this context name. This is only populated for full-query context names.RepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
contextWeightThe amount of evidence available for this context name.RepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
idfScoreThe idf of this name.RepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
openWorldVolumeModifier‘Raw’ open world is computed based on ngram count data. For some names however, we modify the open world based on entities associated with them. This field contains the additive open world modifier. open_world_volume = raw open world + open_world_volume_modifierRepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
totalScoreThe total score of that name/source. It describes how much data we have for that name/source. It can for example be the sum of all the entity scores for this name.RepositoryWebrefNameScoresRepresents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.number
mentionThe entities that were annotated on the contextRepositoryWebrefNgramContextAn N-gram context encountered on the document.list(RepositoryWebrefNgramMention)
textThe context (original) text.RepositoryWebrefNgramContextAn N-gram context encountered on the document.String
weightThe weight of the context on the document; depends on how many times we saw the string in the document.RepositoryWebrefNgramContextAn N-gram context encountered on the document.number
midThe entity the mention was referring to.RepositoryWebrefNgramMentionA mention that has been matched in the context (or a substring of it).String
scoreThe average score the mention was given across all occurrences of the n-gram.RepositoryWebrefNgramMentionA mention that has been matched in the context (or a substring of it).number
featureTypeThe Oyster feature type, which provides a rough categorization. This is a value of the enum geostore.FeatureProto.TypeCategory.RepositoryWebrefOysterTypeOyster type information.integer
contentRelevantRepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
displayStringHow this rating is displayed in the evals, pre-computed from the other fields.RepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
furballUrlThe url of the ewok task that resulted in this rating. Example: https://furball.corp.google.com/project/view-item?itemId=1&projectId=2RepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
itemIdRepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
pageIsAboutChainIf the topic is about a business chain, whether theRepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
projectIdMetadata for task-level ratings. Not filled for aggregated doc-level ratings.RepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
raterCanUnderstandTopicWhether rater can understand the topic.RepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.boolean
taskDetailsRepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.RepositoryWebrefTaskDetails
taskIdRepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
topicIsChainWhether the topic is about a business chain.RepositoryWebrefPerDocRelevanceRatingPer document ratings relevance ratings. Next id: 21.String
docFp– In topicality ratings this is Fingerprint2011() of the normalized cdoc. – In query-mention ratings this is a hash of the QueryJoin. – In doc-content-mention ratings this is a hash of a QueryJoin in which the mention rating task has been embedded. –RepositoryWebrefPerDocRelevanceRatingsAggregates ratings by url/doc_fp.String
entityNameRatingRepositoryWebrefPerDocRelevanceRatingsAggregates ratings by url/doc_fp.list(RepositoryWebrefEntityNameRatings)
mentionRatingRepositoryWebrefPerDocRelevanceRatingsAggregates ratings by url/doc_fp.list(RepositoryWebrefMentionRatings)
taskLevelRatingRepositoryWebrefPerDocRelevanceRatingsAggregates ratings by url/doc_fp.list(RepositoryWebrefPerDocRelevanceRating)
url– In topicality ratings this is the url of the document. – In query-mention ratings this is the query in format “en:US:query text”. – In doc-content-mention ratings this is %x:%s where %x is the hex doc_fp of the cdoc (TODO(b/139799592) or sometimes the doc_fp below), and %s is the text of the eval range. – In entity-name ratings this is the MID of the entity.RepositoryWebrefPerDocRelevanceRatingsAggregates ratings by url/doc_fp.String
scoreScore corresponding to some kind of biasing strength which was applied. The exact semantics of this score is subject to further changes. Don’t make assumptions about specific values or ranges. Values > 0 represents that a boost was applied. Values < 0 represents that a penalty was appled.RepositoryWebrefPersonalizationContextOutputKey-Value-like message to store values associated with a personalization type. Next id: 3number
typeRepositoryWebrefPersonalizationContextOutputKey-Value-like message to store values associated with a personalization type. Next id: 3String
outputsDetailed output scores per personalization type.RepositoryWebrefPersonalizationContextOutputsDetails about personalization and contextual scoring decisions from Personalized Query Understanding (go/pqu). This message represents information about what kind of biasing was applied, including what type of data were used and how strongly. Intended to be used by client code for fine-tuning necessary ranking or triggering logic if it’s not possible to rely on the aggregated annotation confidence alone. To minimize unwanted dependencies and incorrect usage of the data this proto has restricted visibility. Please reach out to [email protected] if you want to have access. Next id: 2list(RepositoryWebrefPersonalizationContextOutput)
isBypassedNameThere is a limit of entities per name for which we can keep name signals and score. This flag is set to true for names that by-passed per-name-scoring, as there were too many entities for the name.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isCompoundNameThis name is a generated compound name to pass primary pruning.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isCompoundRetrievalKeyIndicates special compound retrieval keys, like “Compound $mid1 $mid2”RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isDictionaryTermThis is set to true if the entity corresponds to a dictionary term.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isEventRetrievalKeyIf true, this name is an event retrieval key.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isGeneratedNameThis name is generated from other names.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isGeneratedStreetnameThis name is a generated street name.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isHierarchyPropagatedThis name is added by name propagation in hierarchy.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isIsbnThis name is an ISBN.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isLyricsContentThis name comes from recording lyrics content.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isPhoneNumberThis name is a phone number.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isRefconNameThis name is used for refcon.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isReferenceNameThis name is a reference name, only for internal usage, this name should not go into matching table without support of other signals.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isRefpageUrlThis name is the URL of a reference page.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isReverseUniquePropertyNameThis name is generated from a reverse unique property of the entity.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isStrongIdentifierThis name is a strong identifier for this entity.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isSynonymOrFuzzyMatchSet if the name is coming from synonyms.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isTrustedAllcapsNameIf true, this name is a trusted name if it is in ALLCAPS.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
isUnnormalizedNameIf true, do not do tokenization when compute fprint hash for this name.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
notGeneratedNameThis name is clearly not generated(aka. at least one source of this name is not generated). This field is added for simplifying generated name tag while merging. Do not use this metadata directly.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
originalNamesOriginal versions of the name (before normalization). Used as query for the entity by Explicit Entity Search.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.RepositoryWebrefPreprocessingOriginalNames
suppressTokenizationWhether or not to suppress tokenization on this name.RepositoryWebrefPreprocessingNameEntityMetadataMetadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref’s/QRef’s output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.boolean
priorScoreAn unnormalized measure of how much evidence we have that this name variant refers to the key entity. Should be comparable to all scores from the same source for: – other entities having the same name variant – the open world score computed for this name variantRepositoryWebrefPreprocessingNameEntityScoresAbstract, source independent scores. Next available tag: 7float
volumeBasedScorePrior score come from source that is quantifiable. artificial_score = prior_score – volume_based_score.RepositoryWebrefPreprocessingNameEntityScoresAbstract, source independent scores. Next available tag: 7float
scoresCommon prior_score/trust proto This field is shared by all sources providing this kind of data, the information has to be considered in context with the source.RepositoryWebrefPreprocessingNameVariantSignalsNext available tag: 33.RepositoryWebrefPreprocessingNameEntityScores
sourceThe source of this NameVariantSignals protoRepositoryWebrefPreprocessingNameVariantSignalsNext available tag: 33.String
countThe total number of original names that a normalized name has (all versions from all different sources).RepositoryWebrefPreprocessingOriginalNamesinteger
nameRepositoryWebrefPreprocessingOriginalNameslist(RepositoryWebrefPreprocessingOriginalNamesOriginalName)
countThe total number of different sources from where this version of the original name comes from.RepositoryWebrefPreprocessingOriginalNamesOriginalNameinteger
scoreScore estimating how good this original name is: – some sources are considered more authoritative than others (e.g. KG) – a name found in more sources is better.RepositoryWebrefPreprocessingOriginalNamesOriginalNamefloat
sourceThe sources this name comes from.RepositoryWebrefPreprocessingOriginalNamesOriginalNamelist(integer)
textOne original name version.RepositoryWebrefPreprocessingOriginalNamesOriginalNameString
sourceThe sources the url was suggested by.RepositoryWebrefPreprocessingUrlMatchingMetadataProto with metadata related to why a particular cdoc was selected for an entityjoin.list(RepositoryWebrefPreprocessingUrlSourceInfo)
originalUrlRepositoryWebrefPreprocessingUrlSourceInfoInformation about where the url comes from.String
sourceRepositoryWebrefPreprocessingUrlSourceInfoInformation about where the url comes from.String
nameRepositoryWebrefProcessorCounterA single processor counter stored as a pair of the counter name and the value.String
valueRepositoryWebrefProcessorCounterA single processor counter stored as a pair of the counter name and the value.integer
cpuInstructionsCpu instructions spent.RepositoryWebrefProcessorTimingProcessor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.String
nameA string identifying the processor timing context.RepositoryWebrefProcessorTimingProcessor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.String
processorCountersDocument counters defined by processors. A processor can add and increment counters with NestedPerfCounter::IncrementCounterBy. See go/webref-annotator-metrics.RepositoryWebrefProcessorTimingProcessor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.list(RepositoryWebrefProcessorCounter)
processorTimingsNested measurements, see NestedPerfCounter::ScopedPerfCounter.RepositoryWebrefProcessorTimingProcessor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.list(RepositoryWebrefProcessorTiming)
wallTimeNsWall time (in nanoseconds).RepositoryWebrefProcessorTimingProcessor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.String
productLineIdShopping product line ids (typically moka product line tag) of this entity. Represents shopping product lines, such as iPhone or Canon EOS. Typically, we expect only one id. But keeping repeated, in case we want to merge or aggregate product lines. Using int64, as tag_id in commerce/datastore/processors/moka/proto/moka_annotations.proto.RepositoryWebrefProductMetadataProducts-specific information about the entity. Only available in QrefMetadata output. Next available tag: 16.list(String)
shoppingIdsAll ShoppingIds for this MID that need to be copied to IntentQuery (FunctionCall) if this MID is used in intent generation. See go/iql-shopping-ids for details.RepositoryWebrefProductMetadataProducts-specific information about the entity. Only available in QrefMetadata output. Next available tag: 16.KnowledgeAnswersIntentQueryShoppingIds
variantClusterIdAll unique variant cluster ids (shopping’s GPCs) of this entity.RepositoryWebrefProductMetadataProducts-specific information about the entity. Only available in QrefMetadata output. Next available tag: 16.list(String)
featuresIndexThe set of indices in the NavBoostQuery::features() array that belong to the collapsed features.RepositoryWebrefQueryIndicesIdentifies a set of NavBoost queries in the CompositeDoc. Typically these queries were collapsed by WebRef into a single query and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).list(integer)
queriesIndexThe index of the query in NavBoostDocument::queries() array.RepositoryWebrefQueryIndicesIdentifies a set of NavBoost queries in the CompositeDoc. Typically these queries were collapsed by WebRef into a single query and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).integer
segmentMentionsThe actual mentions. Note SegmentMentions contains some fields specific to entity annotation, and those are typically not populated here.RepositoryWebrefRangeAnnotationsThe fields hold “non-entity” annotations of text.list(RepositoryWebrefSegmentMentions)
typeThe type of ranges contained in this message.RepositoryWebrefRangeAnnotationsThe fields hold “non-entity” annotations of text.String
beginOffsetStart index of range (within the segment) being annotated.RepositoryWebrefRangeMetadataMetadata keeper for an annotated range of a segment. Next available tag: 3.integer
tokenCountNumber of tokens in the range being annotated.RepositoryWebrefRangeMetadataMetadata keeper for an annotated range of a segment. Next available tag: 3.integer
mentionSpanPer token mention spans.RepositoryWebrefRefconDocumentMentionSpansEncapsulates the textual mention spans extracted from a document, split per token.list(RepositoryWebrefRefconMentionSpans)
segmentSegment types in which the mention appears. Now deprecated, because we only care about CONTENT segments.RepositoryWebrefRefconMentionSpansDescribes a mention annotated by Webref in the given document.list(String)
shortTokenFingerprinted tokens which form the mention span. We are using 32-bit instead of usual 64bit fingerprints – this greatly reduces the memory footprint while still keeping the chance of collision reasonably low for our specific use case (1 in 4 billion).RepositoryWebrefRefconMentionSpansDescribes a mention annotated by Webref in the given document.list(integer)
tokenFingerprinted tokens which form the mention span.RepositoryWebrefRefconMentionSpansDescribes a mention annotated by Webref in the given document.list(String)
aggregatedQueryCountTotal query count for the document from all the query terms. Can be used to estimate the popularity of the document.RepositoryWebrefRefconQueryStatsContains high level search query statistics of the document.float
queryStatsRepositoryWebrefRefconRefconDocumentMetadataEncapsulates additional CDoc metadata needed by Refcon.RepositoryWebrefRefconQueryStats
confidenceRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.number
idfScoreRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.number
isGeneratedNameRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.boolean
isI18nNameRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.boolean
isStrongIdentifierRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.boolean
isTranslatedNameRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.boolean
languageLanguages of the name, unknown language is not kept. TODO(b/145976266) Don’t use the deprecated language enum.RepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.list(integer)
namePriorName prior to use. We read this from the prior for the “unknown” language.RepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.number
normalizedNameThe normalized name.RepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.String
originalNameFilled only if different than normalized_name.RepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.String
scoreRepositoryWebrefRefconRefconNameInfoRefcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.number
bookScoreStores score for later offline voting to choose reference pages. If zero, it’s not a good book reference page.RepositoryWebrefReferencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor.number
referencePageScoreReference page score used to select the reference page owner.RepositoryWebrefReferencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor.number
selectedTrue if the entity is selected as the reference page owner.RepositoryWebrefReferencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor.boolean
singleTopicnessA score in [0, 1] which indicates the single topicness of the entity.RepositoryWebrefReferencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor.number
singleTopicnessV2This should have the same semantic as single_topicness, and should replace it in the long term.RepositoryWebrefReferencePageScoresSignals used for mining new reference pages, set by the reference-page-scorer processor.number
mentionRepositoryWebrefSegmentMentionA single Mention within a segment as defined by SegmentMentions.SegmentTypeRepositoryWebrefMention
segmentTypeRepositoryWebrefSegmentMentionA single Mention within a segment as defined by SegmentMentions.SegmentTypeString
mentionA list of all the places the entity in question was annotated within this segment. The (indexing.annotations.goldmine) option is for Goldmine AnnotationsFinder to include Mention only when segment_type=”CONTENT”RepositoryWebrefSegmentMentionsAnnotations of a single docjoin segment. A CDoc has several distinct data types which we call “segments” (see SegmentType for complete list). SegmentMentions contains all the mentions for a given (document, segment) pair. For queries there is only a single CONTENT segment.list(RepositoryWebrefMention)
segmentTypeRepositoryWebrefSegmentMentionsAnnotations of a single docjoin segment. A CDoc has several distinct data types which we call “segments” (see SegmentType for complete list). SegmentMentions contains all the mentions for a given (document, segment) pair. For queries there is only a single CONTENT segment.String
confidenceIndicates how confident we are this extracted range is relevant to a document (document to be infered from context).RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …number
endEnd date extracted from the entity along end_source_property.RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …String
endSourcePropertyKG-property that links the entity to the end date.RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …String
sourceEntityMidEntity from which this range was extracted.RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …String
startStart date extracted from the entity along start_source_property.RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …String
startSourcePropertyKG-property that links the entity to the start date.RepositoryWebrefSemanticDateRangeA date range for an entity. E.g. lifespan of a person, release date of a movie, …String
anchorIndicesThe set of (equivalent from WebRef point of view) anchors used to produce this segment.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.RepositoryWebrefAnchorIndices
anchorTextThe anchor text. Note that the normalized text is not populated.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.RepositoryWebrefLocalizedString
countThe number of times we see this anchor text.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.String
countFromOffdomainCount, score, normalized score, and volume of offdomain anchors.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.String
countFromOnsiteCount, score, normalized score, and volume of onsite anchors.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.String
normalizedScoreThe normalized score, which is computed from the score and the total_volume.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
normalizedScoreFromOffdomainRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
normalizedScoreFromOnsiteRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreThe sum/aggregate of the anchor scores that have the same text.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromFragmentThe sum/aggregate of the anchor scores that direct to a fragment and have the same text.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromOffdomainRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromOffdomainFragmentRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromOnsiteRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromOnsiteFragmentRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
scoreFromRedirectThe sum/aggregate of the anchor scores that direct to a different wiki title and have the same text. NOTE: url direct to a fragment score is not included in this value.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
totalVolumeThe total score volume used for normalization.RepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
totalVolumeFromOffdomainRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
totalVolumeFromOnsiteRepositoryWebrefSimplifiedAnchorRepresents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text “mountain view”, then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don’t separate onsite anchors), the count is 30 (10 + 20) and we don’t have values in the .._offdomain and .._onsite fields.number
anchorRepositoryWebrefSimplifiedAnchorslist(RepositoryWebrefSimplifiedAnchor)
anchorsThe composite doc anchors trimmed and transformed in a smaller data structure and aggregated (if they have the exact same text).RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.RepositoryWebrefSimplifiedAnchors
cdocContainerIMPORTANT: do not access this field directly, use the simplified-cdoc-access library functions to get the composite doc out of this proto.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.Proto2BridgeMessageSet
documentMentionSpansThe composite doc spans which were annotated with entities by Webref.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.RepositoryWebrefRefconDocumentMentionSpans
forwardingDupsForwarding dups generated by merging existing forwarding dups within cdoc_container and URLs from ReferencePageCandidateList. Populated only before writing to online CDocs Spanner table and used for keeping an index on non canonical URLs in table. [!] Do not use unless fetching CDocs from Enricher’s online Spanner CDocs database knowledge-enricher-cdocs-spanner.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.list(RepositoryWebrefSimplifiedForwardingDup)
matchingMetadataMetadata related to why this doc was matched to its owning entity.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.RepositoryWebrefPreprocessingUrlMatchingMetadata
pageContentRepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.list(String)
refconDocumentMetadataAdditional document metadata needed by Refcon.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.RepositoryWebrefRefconRefconDocumentMetadata
sourceSnapshotTypeRepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.String
urlThe URL, populated independently of whether we have a CompositeDoc proto. If the cdoc exists, the url is the same as CompositeDoc.doc.url.RepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.String
webrefOutlinkInfosRepositoryWebrefSimplifiedCompositeDocRepresents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.RepositoryWebrefWebrefOutlinkInfos
urlRepositoryWebrefSimplifiedForwardingDupString
anchorIndexPointer to the exact set of anchors in the cdoc.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefAnchorIndices
genericIndexPointer to the Webref-internal Segment indices. Can’t be mapped back to the CDoc.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefGenericIndices
imageQueryIndexPointer to the exact set of image navboost queries in the cdoc.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefImageQueryIndices
jgnIndexPointer to the proto in the cdoc and index within the proto for Spore.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefJuggernautIndices
metaTagIndexInforms about the ‘name’ attribute of the referenced tag.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefMetaTagIndices
queryIndexPointer to the exact set of queries in the cdoc.RepositoryWebrefSubSegmentIndexLINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.RepositoryWebrefQueryIndices
allowWildcardIntentsIf set to true, allow STBR targets to trigger intents like ShowEntity that do not have explicit lists of allowed collections, accepting entities with any collections instead. This setting together with target_collection define what intents are allowed to be triggered by the STBR target. Be careful with setting this option to ‘true’, as in the case of our example the query [france] would result in the knowledge panel for the monarch. Louis XIV might’ve wanted such a behaviour, but you are probably not him.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeboolean
domainName of Aqua grammar domain this STBR rule is restricted to. If the domain is set to anything other than “default”, the STBR rule is only going to result in an annotation for the STBR target inside of the Aqua domain of the corresponding name. If there is no such Aqua domain, the rule is going to be ignored. The default value of string “default” for domain makes it possible for the STBR rule to be used inside Loose Parser.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeString
isReverseLinkWhether this rule points from an STBR target to its STBR source. This field is an internal implementation detail that is not configurable by customers. Inside QRewrite we have to keep track of relations between entities. Among other things it is useful to remember which STBR target a given STBR source came from. For that purpose we attach an STBR proto to the STBR target, reversing the rule, i.e, putting STBR source’s mid as the target etc. For this reversed rule we set is_reverse_link to true.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeboolean
mentionsOnlySTBR doesn’t just create annotations for STBR targets. It also can modify search result support (useful in PostRef) in order for web pages supporting the STBR source to also support the STBR target. Otherwise in PostRef annotations for STBR targets are going to be demoted, resulting in the STBR rule potentially not affecting anything. Regarding treatment of this result support, STBR has 3 possible modes that for historical reasons are represented as 2 booleans – mentions_only and support_share. No more than one of these bools is supposed to be set to ‘true’ for a rule. Setting both to ‘true’ at once would lead to undefined behaviour. These 3 modes are: 1. (default) All the support gets assigned to the STBR target. The STBR source is left with no support. To be extra sure, interpretations that still managed to get triggered by STBR source are suppressed later unless STBR target has no interpretations of its own. In other words this is “we are pretty sure that if France is mentioned in a query that might be talking about a person, we want to treat the query as if it is about Louis XIV”. This mode would result in a query [age of france] being treated as [age of louis xiv], while [population of france] still being about the country unless [population of louis xiv] matches some intents. For this mode both mentions_only and support_share should be set to ‘false’. 2. Support is shared between STBR source ans STBR target. That allows both STBR source and STBR target to trigger some intents with KScorer later deciding which intent is better. In other words, this is “when it is not clear whether a query is about France of Louis XIV, provide KScorer with both options and let it decide”. For this mode mentions_only should be set to ‘false’ and support_share should be set to ‘true’. 3. While annotations for the STBR target are created, no support is given to those annotations. This is more like “we are mostly sure that a mention of France is about the country, but just for a rare case it is about the monarch, we would like to have Louis XIV annotated”. For this mode mentions_only should be set to ‘true’ and support_share should be set to ‘false’.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeboolean
supportShareRepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeboolean
targetMid of the STBR target, e.g. “/m/04pwg” for Louis XIV.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeString
targetCollectionCollection that is going to be assigned to the target when the annotation for the target is created. This setting together with allow_wildcard_intents define what intents are allowed to be triggered by the STBR target. At the moment those annotations get created, we can not afford to fetch information about the STBR target from Topic Server, but the target mid by itself doesn’t mean much for the Search stack. Setting up the collection for that annotated mid allows us to provide at least some information to the stack on how to treat the mid. This collection together with domain and allow_wildcard_intents fields (see below) defines what intents can be triggered by annotations created for this STBR target. Intents that accept only entities of specific collections can only be triggered if the value of this field matches one of the allowed collections for that intent. In our example, KGCollection.debug_id might be “/collection/people” if we care about context of the monarch as a person, e.g. if we would like to understand queries like [how many children does france have] as [how many childred does lous xiv have]. Or, if we would like to be more restrictive and to only apply the rule to contexts that only make sense for monarch, e.g. [how long did france reign], we might decide to use more specific “/collection/monarchs” instead.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeRepositoryWebrefKGCollection
userCountryThe user country this rule is for. Rules only take effect if the country is not set, set to an empty string or matches the country that is detected for the user – like the country user issued the query from. E.g. “US” for the United States.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeString
userLanguageUser language this rule is for. Rules only take effect if the language is not set, set to an empty string or matches the language that is detected for the user’s query. E.g. set it to “en” if you want the STBR rule to only work for users working from computers with English being set as the main language. Keep it unset if you want the rule not to depend on local language settings of user’s computer.RepositoryWebrefSupportTransferRuleEach SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of “in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)”. To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying “I am the state”. In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChangeString
isReadableSignals about quality of data that was shown to raters. If document/query and concept description are readable.RepositoryWebrefTaskDataboolean
itemIdRepositoryWebrefTaskDataString
projectIdRepositoryWebrefTaskDataString
taskDetailsRepositoryWebrefTaskDataRepositoryWebrefTaskDetails
taskIdRepositoryWebrefTaskDataString
experimentIdThe id of the experiment in case we are dealing with a refx data experiment. Should only be set in case of data experiments to gather topicality ratings, in order to allow separating these ratings from regular ratings.RepositoryWebrefTaskDetailsInformation about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6String
lastSubmitTimestampRepositoryWebrefTaskDetailsInformation about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6String
topicDescriptionRepositoryWebrefTaskDetailsInformation about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6String
topicNameRepositoryWebrefTaskDetailsInformation about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6String
topicUrlRepositoryWebrefTaskDetailsInformation about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6String
confidenceScoreTriple annotation confidence_score (value between 0 and 1). Higher values correspond to higher confidence.RepositoryWebrefTripleAnnotationnumber
isImpliedThe information in this triple is implied by other triple(s) in the document.RepositoryWebrefTripleAnnotationboolean
kgVerifiedSet to true if this triple is present in the webref model as either a link or property value. This implies that the information is in the Knowledge Graph. Note that it can happen that a triple is in KG but not present in the webref model.RepositoryWebrefTripleAnnotationboolean
mentionsOccurrences of the triple on the documentRepositoryWebrefTripleAnnotationlist(RepositoryWebrefTripleMention)
predMidThe mid of the predicate kg-property(-ies). In order, in the case of multihop links.RepositoryWebrefTripleAnnotationlist(String)
stuffGeneric container to hold additional data such as signals, debug data etc. Data that can be stored in this field and their TypeIds: repository_webref::evaluation::ECMDebug (TypeId 192627933), defined in repository/webref/evaluation/triple_annotations/triple-diff.proto Debugging data to be used in WebIt’s ECM report.RepositoryWebrefTripleAnnotationProto2BridgeMessageSet
tripleRepositoryWebrefTripleAnnotationKnowledgeGraphTriple
annotationsRepositoryWebrefTripleAnnotationsRepresents a collection of triples annotated by Webref/Webit. Included in WebrefEntitieslist(RepositoryWebrefTripleAnnotation)
predMentionDocument mention of the predicateRepositoryWebrefTripleMentionRepositoryWebrefSegmentMention
scopeBeginThe [begin, end) byte offset of the document scope where this triple was annotated. This corresponds to a table row or a text sentence where the triple was identified. The sub_mention can be outside the scope when the subject is inferred from the table title.RepositoryWebrefTripleMentioninteger
scopeEndRepositoryWebrefTripleMentioninteger
scopeFprintFingerprint2011 of space-joined SAFT tokens in the scope.RepositoryWebrefTripleMentionString
stuffGeneric container to hold additional data such as triple scoped signals. Data that can be stored in this field and their TypeIds: repository_webref::universal::webit::ScopeSignals (TypeId 192754198), defined in repository/webref/universal/processors/understanding/webit.protoRepositoryWebrefTripleMentionProto2BridgeMessageSet
subMentionDocument mention of the subjectRepositoryWebrefTripleMentionRepositoryWebrefSegmentMention
valueMentionDocument mention of the valueRepositoryWebrefTripleMentionRepositoryWebrefSegmentMention
idfIDF of the n-gram.RepositoryWebrefUniversalNgramDataThis proto is filled with n-gram data during model building.number
pluralProbProbability that the n-gram is a plural form of a word. This information is extracted from SAFT annotations of queries. See HasPluralProperty().RepositoryWebrefUniversalNgramDataThis proto is filled with n-gram data during model building.number
docWeightThe relative weight of the document, used when aggregating information from multiple documents.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.number
ngramContextExtracted n-grams context scores (in cdoc language, weighted by doc_weight) output if webref_populate_annotation_ngrams is enabled.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.list(RepositoryWebrefNgramContext)
numCandidatesThe total number of candidates.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.String
numConceptsWithCandidatesThe total number of concepts with at least 1 candidate.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.String
numConceptsWithMentionsThe total number of concepts with at least 1 mention.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.String
numRangesWithCandidatesThe total number of RangeData objects with at least one candidate.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.String
statsPerTypeStatistics for each token type.RepositoryWebrefWebrefAnnotationStatsDetailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.list(RepositoryWebrefAnnotationStatsPerType)
featureTypeOyster Feature Type.RepositoryWebrefWebrefAttachmentMetadataAnnotation metadata for an individual entity.String
indexIndicates which entity this message belongs to: encoded_mid[index].RepositoryWebrefWebrefAttachmentMetadataAnnotation metadata for an individual entity.integer
latE7Latitude and longitude of the location. Same format as geostore.PointProto.RepositoryWebrefWebrefAttachmentMetadataAnnotation metadata for an individual entity.integer
lngE7RepositoryWebrefWebrefAttachmentMetadataAnnotation metadata for an individual entity.integer
oysterIdOyster Feature ID of the location.RepositoryWebrefWebrefAttachmentMetadataAnnotation metadata for an individual entity.GeostoreFeatureIdProto
documentMetadataInformation about the document copied from the docjoin. This will never be populated when WebrefEntities appears inside a CompositeDoc, but may we used when it stands alone.RepositoryWebrefWebrefDocumentInfoAll information that applies globally to the document. Next available tag: 11RepositoryWebrefDocumentMetadata
extensionsOptional extensions (e.g. taxonomic classifications).RepositoryWebrefWebrefDocumentInfoAll information that applies globally to the document. Next available tag: 11Proto2BridgeMessageSet
webrefParsedContentSentenceThe content (CONTENT section 0) as parsed by WebrefParser. Only used by //r/w/postprocessing/idf/idf-pipeline for document ngram idf computation. Populated when the annotator is run with webref_populate_parsed_content Each webref_parsed_content_sentence represents one sentence of the context where saft annotations were used to determine the sentence boundaries. See r/w/universal/processors/saft/saft-sentence-helper.h for details.RepositoryWebrefWebrefDocumentInfoAll information that applies globally to the document. Next available tag: 11list(String)
annotationStatsDetailed annotation statistics that can, e.g., be used to tune the WebRef scoring logic based on existing (Model-0) annotations.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.RepositoryWebrefWebrefAnnotationStats
annotatorCheckpointFingerprintsFingerprints checkpointing annotator stages, can be used to track the source of diffs.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.list(RepositoryWebrefAnnotatorCheckpointFprint)
categoryCategories of the document or query. This replaces the category_score found under EntityAnnotations.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.list(RepositoryWebrefCategoryAnnotation)
dateRangeDates ranges that are most relevant to the document. E.g. on a document about Dune the 2021 movie, this might hold the release date of that movie.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.list(RepositoryWebrefSemanticDateRange)
documentInfoInformation that applies globally to the document. The exclude_field option is for Goldmine AnnotationsFinder to exclude document_info from retrieving annotation entitiesRepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.RepositoryWebrefWebrefDocumentInfo
entityThe annotated entities, with associated confidence scores and metadata. This is the primary output of WebRef/QRef. In case of Webref output, entities are sorted by decreasing topicality score.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.list(RepositoryWebrefWebrefEntity)
rangeAnnotationsThese messages contain non-entity annotations of ranges in the document. This might be used to hold part-of-speech annotations, stopword annotations, and other range based information. The exclude_field option is for Goldmine AnnotationsFinder to exclude ranged_annotations from retrieving annotation entitiesRepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.list(RepositoryWebrefRangeAnnotations)
statusThe status message returned by the annotator. Might not be populated on success.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.RepositoryWebrefWebrefStatus
stuffA generic container to hold extra result data.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.Proto2BridgeMessageSet
tripleAnnotationsTriples inferred from the document When the annotator recognizes phrases, lists or tables associated with a property or relationship for an entity it generates triples that encode that information. This generated data is only substantiated by the document vs KG data which has been verified from multiple sources and/or human curators.RepositoryWebrefWebrefEntitiesRepresents a collection of entities returned by the WebRef service. Next available tag: 14.RepositoryWebrefTripleAnnotations
annotatedRelationshipInformation about links (e.g. implications) between the annotated entities.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7list(RepositoryWebrefWebrefEntityRelationship)
annotationsAll annotations of this entity on the given document.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7RepositoryWebrefEntityAnnotations
collectionsInformation about the collections of this entity.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7RepositoryWebrefWebrefEntityCollections
entityJoinMetadata and raw signals used by the annotator. Intended for internal use. Steer clear of adding new dependencies on fields in this proto, especially external dependencies. If you are a Refx client and would like to consume entity metadata, consider querying TopicServer instead.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7RepositoryWebrefEntityJoin
idAn identifier (usually a MID) for the entity. Consider using GetWebrefEntityMid() in the adjacent webref-entities-util.h to read this.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7RepositoryWebrefWebrefEntityId
mrfMRF equivalent representations of this entity as a compound, one for each unique MRF representation. Populated for compounds. Each MRF expression contains a minimum FunctionCall structure wrapped in a nameless Argument without signals and range data. This is not meant to be directly usable as MRF, use QueryJoinToMeaningStructConverter to expand it into a usable form. References to entities are made as component_reference ArgumentValue. Each compound Mention of this entity (not all of its mentions need be compounds, some may be plain entity mentions) have one or more compound_value fields claiming these MRF expressions via their mrf_index. The compound_value has nested components, one for each unique component_reference.index in the MRF expression. The processing expectation is that each ArgumentValue which has a component_reference has its contents discarded and replaced with the MRF for the target entity and mention named by the compound_value.component. If the target is not a compound, the ArgumentValue becomes a simple mid value and the signals are taken from the entity and the mention. If the target is a compound itself, the expansion continues recursively. If the target is a compound with multiple MRFs, a cartesian product of recursive expansions may need to be produced. Along with the component_reference we also emit an example value, but this is purely for human consumption so it’s easier to understand what the full compound is like. The processing expectation remains that the ArgumentValue containing a component_reference is completely discarded and rebuilt with the reference target value. If the target has more than one MRF expression, it’s not specified which one will be used as an example, except that the choice is guaranteed to be deterministic from run to run.RepositoryWebrefWebrefEntityAll information about a single entity available to WebRef. Next available tag: 7list(KnowledgeAnswersIntentQueryArgument)
collectionRepositoryWebrefWebrefEntityCollectionslist(RepositoryWebrefKGCollection)
conceptIdThe MID in integer format. Nowadays, this field contains the equivalent representation of `freebase_mid`, i.e. what metaweb::ParseId() returns.RepositoryWebrefWebrefEntityIdThe identifier of a WebrefEntity (see webref-entities.proto). IMPORTANT: Please consider reading this proto through GetWebrefEntityMid() in webref-entities-util.h, because this proto may: a) contain both freebase_mid and concept_id (this is frequently the case to avoid breaking downstream clients), b) only contain freebase_mid or only contain concept_id (as the other one is technically redundant), c) contain neither of them or be missing entirely (potentially in future).String
freebaseMidThe MID in the same format that is returned by metaweb::MidToString(), e.g. “/m/02mjmr” or “/g/11b6vyscgb” or “/t/24bjj59_jbj9f”.RepositoryWebrefWebrefEntityIdThe identifier of a WebrefEntity (see webref-entities.proto). IMPORTANT: Please consider reading this proto through GetWebrefEntityMid() in webref-entities-util.h, because this proto may: a) contain both freebase_mid and concept_id (this is frequently the case to avoid breaking downstream clients), b) only contain freebase_mid or only contain concept_id (as the other one is technically redundant), c) contain neither of them or be missing entirely (potentially in future).String
entityIndexThe index of the entry in WebrefEntities.entity that the entity carrying this field is linked to. This field must be set.RepositoryWebrefWebrefEntityRelationshipInformation regarding links between annotated entities. Next available tag: 5integer
linkMetadataInformation about the link.RepositoryWebrefWebrefEntityRelationshipInformation regarding links between annotated entities. Next available tag: 5RepositoryWebrefEntityLinkMetadata
linkWeightThe weight of the link.RepositoryWebrefWebrefEntityRelationshipInformation regarding links between annotated entities. Next available tag: 5number
categoryConfidenceE2The confidence of the category. In the range [0, 100].RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
categoryEncodedMidSee go/category-annotations-api about the story behind various types of category annotations that are provided using the catmid token and category_encoded_mid fields below. Some of these annotation types are experimental, so please contact related-entities@ if you consider using this data. For production uses, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates and info about deprecations. To convert it to the string form use metaweb::MidToString(encoded_mid) defined in metaweb/util/mid/mid.h The uint64-encoded MIDs of HitCat categories. See google3/repository/webref/hits/hitcat/category.textproto for the complete list of HitCat categories. Should have the same number of elements as the category_confidence_e2 field.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(String)
confidenceE2The confidence scores of all entities in the encoded_mid array. For space reasons this is also represented as a fixed-point integer with two decimal precision. Convert it to confidence_score using the following formula: float confidence_score = confidence_e2 / 100.0f Should have the same number of elements as the encoded_mid field.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
encodedMidThe int64-encoded MIDs of the entities in the document sorted by topicality score. To convert it to the string form use metaweb::MidToString(encoded_mid) defined in metaweb/util/mid/mid.h Should have the same number of elements as the topicality_e2 field.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(String)
entityMetadataPer-entity metadata. Not packed (not every entity has metadata). If you’d like to add per-document metadata, see document_metadata instead.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(RepositoryWebrefWebrefAttachmentMetadata)
iqlAttachmentA sub-proto to encode IQL expressions. To be used by Pianno page-level intents and Webref Compounds.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25KnowledgeAnswersIntentQueryIndexingIQLAttachment
isAuthorIndexThe indices of all the reference entities in encoded_mid that are authors of the page. Not packed as in most cases when populated, it contains 1 element.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
isPublisherIndexThe indices of all the reference entities in encoded_mid that are publishers of the page (e.g. /m/cnn on “http://www.cnn.com/foo/bar”). Not packed as in most cases when populated, it contains 1 element.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
referencePageIndexOnly populated when the document is a reference page for an entity. Contains the indices of all reference entities in the encoded_mid and topicality_e2 arrays. Not packed as in most cases when populated, it contains 1 element.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
topicalityE2The topicality scores of all entities in the encoded_mid array. For space reasons this is represented as a fixed-point integer with two decimal points precision. Convert it to topicality_score using the following formula: float topicality_score = topicality_e2 / 100.f Should have the same number of elements as the encoded_mid field.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
unboundIntentMidThe uint64-encoded MID of the unbound intents generated by Pianno. An unbound intent is the annotation of an intent without slots arguments (e.g. Age) declared in Intent Catalog. See go/pianno-asteroid-belt-migration for details. We only keep the top unbound intents with the highest orbit scores. Should have the same number of elements as unbound_intent_score_e2.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(String)
unboundIntentScoreE2The confidence of the unbound intent. represented as a fixed-point integer with two decimal precision. In the range [0, 100]. Should have the same number of elements as unbound_intent_mid.RepositoryWebrefWebrefMustangAttachment*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: – To consume the topical entities (+properties, incl. hitcat, browsy, …) go/udr/migrate-wma provides a migration with minimal changes. – To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25list(integer)
byteLengthThe length in bytes of such a link (including internal spaces); e.g. if the link text is “click here” then the length is 10.RepositoryWebrefWebrefOutlinkInfoInformation about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7list(String)
byteOffsetThe byte offset of the start of a link with this target URL, in the content of the annotated document.RepositoryWebrefWebrefOutlinkInfoInformation about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7list(String)
isNofollowWhether this is a nofollow link (https://en.wikipedia.org/wiki/Nofollow). If the page has multiple links to the same url, all of them must be nofollow to set this field.RepositoryWebrefWebrefOutlinkInfoInformation about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7boolean
topicalityWeightThe topicality_weight for each link with this target URL.RepositoryWebrefWebrefOutlinkInfoInformation about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7list(number)
urlThe target URL of the link.RepositoryWebrefWebrefOutlinkInfoInformation about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7String
outlinkInfoInformation about each target URL referred to in the document’s outlinks. If a given URL has multiple links, they are grouped in a single WebrefLinkInfo.RepositoryWebrefWebrefOutlinkInfosInformation about the outlinks of an annotated document. Next available tag: 3list(RepositoryWebrefWebrefOutlinkInfo)
dataEpochThe epoch of the Webref static data (the name-filter.data file). As of Dec 2020 in prod Goldmine (in webref_daily_full_model_static_data) this value is over from the alpha model static data, since this is where most of the parts come from. I.e. the value does not correspond to the actual model being used.RepositoryWebrefWebrefStatusString
utilStatusError that occurred during the annotation. This field is only populated by QRef (i.e. under QueryJoin.status) and never by WebRef (i.e. under WebrefEntities.status) anymore, which instead reports errors (and soon also taints) through standard Goldmine mechanisms.RepositoryWebrefWebrefStatusUtilStatusProto
versionThe version number of the annotator (the cl the binary was built from). Must be enabled via a command line flag. See also the Goldmine’s indexing::annotations::AnnotationMeta proto.RepositoryWebrefWebrefStatusinteger
categoryNameRepositoryWebrefWikipediaCategoryInformation about a Wikipedia category (typically at the bottom of the page).String
locationThe location as extracted from the wikijoins.RepositoryWebrefWikipediaGeocodeGeocodes extracted from the wikijoins.GeostorePointProto
sourceUrlThe source contains the url field from the wikijoins.RepositoryWebrefWikipediaGeocodeGeocodes extracted from the wikijoins.String
disjunctionIddisjunction_id / is_positive *MUST* have the same length. They specify a set of disjunctions that make up this conjunction. The conjunction will be active iff *all* of the positive disjunctions are active and *all* of the negative disjunctions are inactive.ResearchScamCoscamConjunction////////////////////////////////////////////////////////////////////////////// Conjunction: a single AND clause that contains multiple disjunctions.list(String)
isPositiveResearchScamCoscamConjunction////////////////////////////////////////////////////////////////////////////// Conjunction: a single AND clause that contains multiple disjunctions.list(boolean)
keykey – a uint64 key that uniquely identifies this disjunction.ResearchScamCoscamDisjunction////////////////////////////////////////////////////////////////////////////// Disjunction: a single OR clause that contains multiple group:token tuples.String
tokenGroupsgroups – the group:token tuples that make up this disjunction. The disjunction will be active if *any* off the group:token tuples are present in a request.ResearchScamCoscamDisjunction////////////////////////////////////////////////////////////////////////////// Disjunction: a single OR clause that contains multiple group:token tuples.list(ResearchScamCoscamTokenGroup)
disjunctionsdisjunctions is the set of OR clauses thatResearchScamCoscamEasyConjunctionEach EasyConjunction represents an AND-of-ORs block.list(ResearchScamCoscamEasyDisjunction)
isPositiveIf is_positive is set to false, then the entire disjunction is negated, and will be true only if none of its members is true.ResearchScamCoscamEasyDisjunctionEach EasyDisjunction represents one OR clause.boolean
tokenGroupstoken_groups – the group:token tuples that make up this disjunction. The disjunction will be active if *any* off the group:token tuples are present in a request.ResearchScamCoscamEasyDisjunctionEach EasyDisjunction represents one OR clause.list(ResearchScamCoscamTokenGroup)
conjunctionsconjunctions is the set of AND-of-ORs blocks.ResearchScamCoscamEasyRestrictDefinitionEach EasyRestrictDefinition represents an OR-of-ANDs-of-ORs block.list(ResearchScamCoscamEasyConjunction)
conjunctionsconjunctions – each conjunction is an AND-of-ORs; if any of these conjunctions match, then the entire restrict matches.ResearchScamCoscamRestrictDefinition////////////////////////////////////////////////////////////////////////////// RestrictDefinition: the set of conjunctions and disjunctions that define a single OR-of-ANDs-of-ORs restrict definition.list(ResearchScamCoscamConjunction)
disjunctionsdisjunctions – each disjunction is an OR clause.ResearchScamCoscamRestrictDefinition////////////////////////////////////////////////////////////////////////////// RestrictDefinition: the set of conjunctions and disjunctions that define a single OR-of-ANDs-of-ORs restrict definition.list(ResearchScamCoscamDisjunction)
subsKeysubs_key – ignore. Only used for testing.ResearchScamCoscamRestrictDefinition////////////////////////////////////////////////////////////////////////////// RestrictDefinition: the set of conjunctions and disjunctions that define a single OR-of-ANDs-of-ORs restrict definition.String
tokenGroupstoken_groups – group:token tuples, collated by group.ResearchScamCoscamRestrictTokensV2////////////////////////////////////////////////////////////////////////////// RestrictTokensV2: a set of group:token tuples, collated by group.list(ResearchScamCoscamTokenGroup)
debugTokenStringsdebug_token_strings – (optional) strings that should be used for human-friendly printing. NOT used by the matching engine!ResearchScamCoscamTokenGrouplist(String)
namename – the name of the token group.ResearchScamCoscamTokenGroupString
tokenstokens – a list of tokens, stored by their Fingerprint2011 hash.ResearchScamCoscamTokenGrouplist(String)
namespaceThe name of this namespaceyResearchScamCustomRestrictNamespaceThe custom restrict namespace proto. Note that custom restrict don’t have to be symmetric. That is, this proto is always needed in the query, but only optionally in database datapoints, as some custom restrict implementations may use alternative data sources, instead of |GenericFeatureVector.restrict_tokens.v3.custom_namespaces| field.String
classLabelThe class label of this datapoint. This should be populated if ScaM is being used for nearest-neighbor-based classification.ResearchScamGenericFeatureVector!ERROR! D11155 -> Formula Error: An unexpected error occurredString
crowdingResearchScamGenericFeatureVector!ERROR! D11156 -> Formula Error: An unexpected error occurredResearchScamGenericFeatureVectorCrowding
dataIdStrOptional point id that can contain an arbitrary (unrestricted in content) value except when the data is provided via SSTable (sharded or not). In the case of SSTable the data_id_str must be set for _all_ points in all shards or the SSTable keys will be used as the values for the data_id_str of the respective points. In either SSTable case–data_id_str provided explicitly or via the key–the values must be unique across all shards.ResearchScamGenericFeatureVector!ERROR! D11157 -> Formula Error: An unexpected error occurredString
expirationTimestampA timestamp after which this datapoint is considered no longer valid and is eligible for deletion. The exact meaning varies with application/configuration.ResearchScamGenericFeatureVector!ERROR! D11158 -> Formula Error: An unexpected error occurredDateTime
featureDim– Optionally explicitly specifies the dimensionality of this vector. For dense vectors, this is ignored and, dimensionality is inferred from the number of values specified, and must be identical to this, or unspecified. For sparse vectors, the default value is correct for most users, and allows use of 64-bit hash values for feature indices. If you’re using sparse vectors with a limited range of dimension indices and want to do K-Means clustering with them, you may want to specify this explicitly.ResearchScamGenericFeatureVector!ERROR! D11159 -> Formula Error: An unexpected error occurredString
featureIndex– for SPARSE vectors, specifies indices of the nonzero dimensions whose values are specified by the , , or field. This field is not used when specifying dense vectors.ResearchScamGenericFeatureVector!ERROR! D11160 -> Formula Error: An unexpected error occurredlist(String)
featureTypeDescribes the type of feature values.ResearchScamGenericFeatureVector!ERROR! D11161 -> Formula Error: An unexpected error occurredString
featureValueDoubleResearchScamGenericFeatureVector!ERROR! D11162 -> Formula Error: An unexpected error occurredlist(float)
featureValueFloatActual feature vector. Only one of the following should be populated. This list has to be kept in sync with FeatureType enum. NOTES: Binary features are stored as ones or zeroes in feature_value_int64. Floating point values (feature_value_float, feature_value_double) may not be NaN.ResearchScamGenericFeatureVector!ERROR! D11163 -> Formula Error: An unexpected error occurredlist(number)
featureValueInt64ResearchScamGenericFeatureVector!ERROR! D11164 -> Formula Error: An unexpected error occurredlist(String)
featureValueStringResearchScamGenericFeatureVector!ERROR! D11165 -> Formula Error: An unexpected error occurredString
fixedPointMetadataResearchScamGenericFeatureVector!ERROR! D11166 -> Formula Error: An unexpected error occurredResearchScamGenericFeatureVectorFixedPointMetadata
internalOnlyIsSecondaryPartitioncopybara:strip_begin INTERNAL USE ONLY! The ScaM Team reserves the right to remove this field and reuse its proto tag without notice. DO NOT USE outside of build_shards_pipeline! This field is used inside build_shards_pipeline to indicate whether this GFV is residing in its secondary (vs. primary) partition. copybara:strip_endResearchScamGenericFeatureVector!ERROR! D11167 -> Formula Error: An unexpected error occurredboolean
normTypeDescribes if data has been normalized and the type.ResearchScamGenericFeatureVector!ERROR! D11168 -> Formula Error: An unexpected error occurredString
queryMetadatacopybara:strip_begin A field that contains metadata information when the datapoint is acting as a query. copybara:strip_endResearchScamGenericFeatureVector!ERROR! D11169 -> Formula Error: An unexpected error occurredResearchScamQueryMetadata
restrictTokenscopybara:strip_end_and_replace reserved 15;ResearchScamGenericFeatureVector!ERROR! D11170 -> Formula Error: An unexpected error occurredResearchScamGenericFeatureVectorRestrictTokens
tokensResearchScamGenericFeatureVector!ERROR! D11171 -> Formula Error: An unexpected error occurredlist(integer)
userinfoThis field allows application-specific metadata to be stored in a GFV. This information may be used by custom binaries or in pre- or postprocessing outside of ScaM. Use cases include but are not limited to: * Dataset IDs, if multiple datasets are multiplexed into one physical file or network location. * An alternative, possibly more human-readable representation of the data represented by this GFV, for e.g. debugging purposes. * Outputting the contents of this field verbatim to the metadata field of the NearestNeighbors.Neighbor proto.ResearchScamGenericFeatureVector!ERROR! D11172 -> Formula Error: An unexpected error occurredString
weightDEPRECATED fields. Ignored by ScaM binaries. Do not use.ResearchScamGenericFeatureVector!ERROR! D11173 -> Formula Error: An unexpected error occurrednumber
crowdingAttributeThe value of the crowding attribute for this document. The maximum number of neighbors to return per crowding attribute value (per_crowding_attribute_num_neighbors) is configured per-query. This field is ignored if per_crowding_attribute_num_neighbors is larger than the total number of neighbors to return for a given query.ResearchScamGenericFeatureVectorCrowdingThis subproto contains configuration for crowding. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k’ of the k neighbors returned have the same value of crowding_attribute.String
squaredL2NormThe squared L2 norm of the original (pre-fixed-point transformation) GFV. Used for computing squared L2 distance.ResearchScamGenericFeatureVectorFixedPointMetadataMetadata that may be populated if this GFV was transformed into fixed-point from a floating-point GFV.number
blacklistTokenResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9list(String)
definitionDEPRECATEDResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9ResearchScamCoscamRestrictDefinition
easyDefinitionDEPRECATEDResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9ResearchScamCoscamEasyRestrictDefinition
tokenMembershipB) Token Definitions (V1 Restricts) In “forward” mode: defined on database points In “reverse” mode: defined on queriesResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9list(String)
tokensDEPRECATEDResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9ResearchScamCoscamRestrictTokensV2
v3Only ONE of the following sections should be used: A) V3 restricts. Defined in //research/scam/proto/restricts.protoResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9ResearchScamV3Restrict
v3CompatibleNamespaceIf this field is not empty, when query is in V1 restricts while database is in V3 restricts, SCaM will update V1 query to V3 automatically instead of sending error messages. When updating query from V1 to V3, SCaM server will use this field to fillin the ‘namespace’ field.ResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9String
whitelistTokenC) Whitelist / Blacklist Definitions (V1 Restricts) In “forward” mode: defined on queries In “reverse” mode: defined on database pointsResearchScamGenericFeatureVectorRestrictTokenscopybara:strip_begin RestrictTokens – used to perform “restricted searches” where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There’s some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. ————————————————————————— The semantics of V1 restrict is described below: V1 “forward” restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. ————————————————————————— V1 “reverse” restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point’s whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point’s blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9list(String)
docidData point for which we computed nearest neighbors. This field is set based on the data_id_str field in the QueryRequest GFV (or SSTable key if data_id_str is not present), and thus can be arbitrary data, e.g. docid, URL, query string.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5String
metadataMetadata about the query. This field is populated if and only if: 1) ScaM is running in offline query-database or online mode and; 2) The metadata is directly fetched from the userinfo field inside GFV and; 3) MetadataConfig.userinfo.set_user_info_for_query is set to true. The field name is kept as “metadata” for consistency with neighbors.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5String
neighborAll its neighbors.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5list(ResearchScamNearestNeighborsNeighbor)
neighborSelectionOverridePropagate neighbor selection override information during offline search.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5ResearchScamNeighborSelectionOverride
queryThe query vector for which we computed nearest neighbors.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5ResearchScamGenericFeatureVector
retrievedVersionThe version ID of the server that responded to this query, if one was specified. This field is not populated for offline (i.e. Flume rather than RPC) search.ResearchScamNearestNeighborsAll nearest neighbors for one data point. Last tag used: 5String
crowdingAttributeIf crowding is enabled, the crowding attribute of this neighbor will be stored here.ResearchScamNearestNeighborsNeighborString
distanceThis could be exact or approximate distance.ResearchScamNearestNeighborsNeighborfloat
docidNeighbor data point. This field is set based on the data_id_str field in the GFV of the data point in the database (or SSTable key if data_id_str is not present), and thus can be arbitrary data, e.g. docid, URL, query string.ResearchScamNearestNeighborsNeighborString
gfvThe field isn’t populated by default, but when enabled (eg, in the ground-truth pipeline), this field provides the original database GFV corresponding to this result.ResearchScamNearestNeighborsNeighborResearchScamGenericFeatureVector
metadataMetadata about the neighbor. This is returned under some configurations as a serialized proto. The specific proto depends on which metadata is configured to be returned.ResearchScamNearestNeighborsNeighborString
approxEpsilonDistanceThe distance threshold to use for approximate search before exact reordering is performed, if exact reordering is performed. If this is not set and exact reordering is enabled, a reasonable default value will be chosen using a heuristic specified in ScamConfig.ExactReordering.NeighborSelectionOverrideHeuristics. This field is ignored if exact reordering is not enabled. This value must be non-NaN if set.ResearchScamNeighborSelectionOverrideLast used tag = 13number
approxNumNeighborsThe number of neighbors to find via approximate search before exact reordering is performed. If this is not set and exact reordering is enabled, a reasonable default value will be chosen using the heuristic specified in ScamConfig.ExactReordering.NeighborSelectionOverrideHeuristics. This field is ignored if exact reordering is not enabled. This value must be > 0 if set.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
epsilonDistanceThe maximum distance at which to return a neighbor. If this proto is used, at least one of this and num_neighbors must be set. The default is infinity, effectively returning num_neighbors neighbors regardless of distance. This value must be non-NaN if set.ResearchScamNeighborSelectionOverrideLast used tag = 13number
numNeighborsThe maximum number of neighbors to return. If this proto is used, at least one of this and epsilon_distance must be set. The default is the largest value representable as an int32, effectively returning all neighbors within epsilon_distance. This value must be > 0 if set.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
numSingleShardNeighborsIf populated, this is the maximum number of neighbors that may be returned from a single shard. If not populated, up to num_neighbors neighbors are returned from each shard. Setting this to a smaller value than num_neighbors will increase speed at the expense of accuray by requiring cross-shard merging of fewer neighbors. If this value is set, num_neighbors must also be set and this value must be <= num_neighbors and >= num_neighbors / number of shards. If set, this value must always be > 0.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
perCrowdingAttributeNumNeighborsThe maximum number of neighbors to return for a single value of the crowding attribute. The crowding attribute is specified per-datapoint in the GenericFeatureVector proto, or the Document proto for sparse logistic models. Crowding is described more thoroughly in research/scam/utils/crowding_top_n.h. NOTES: Crowding is effectivley enabled if this value is less than num_neighbors.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
perCrowdingAttributePreReorderingNumNeighborsThe maximum number of neighbors to return from the approximate portion of the nearest-neighbor search algorithm, within each shard, for a single value of the crowding attribute, before performing exact reordering. Ignored if exact reordering is disabled for this dataset.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
scoringExtensionMetadataThe scoring extension metadata overrides for single machine classical scam database.ResearchScamNeighborSelectionOverrideLast used tag = 13ResearchScamScoringExtensionMetadata
treeXHybridCentersToSearchNote: currently not implemented for all database shard subclasses! Contact ScaM before using. Provides prematched centers_to_search for tree-X hybrid searchers. Ignores any overwrites related to centroid matching since they are already matched. `tree_x_hybrid_centers_to_search` should match by size with `tree_x_hybrid_distances`.ResearchScamNeighborSelectionOverrideLast used tag = 13list(integer)
treeXHybridDistancesResearchScamNeighborSelectionOverrideLast used tag = 13list(number)
treeXHybridLeavesSearchedOverrideNote: currently not implemented for all database shard subclasses! Contact ScaM before using. Overrides max_spill_centers for tree-X hybrid searchers configured with FIXED_NUMBER_OF_CENTERS spilling. The max_spill_centers in the ScaM config is used if this field isn’t set. Only valid if: * Used on a tree-X hybrid ScaM config with FIXED_NUMBER_OF_CENTERS. * Value is greater than zero and at most equal to num_children.ResearchScamNeighborSelectionOverrideLast used tag = 13integer
namespaceThe name of this namespace.ResearchScamNumericRestrictNamespaceString
opThis MUST be specified for queries and must NOT be specified for database points.ResearchScamNumericRestrictNamespaceString
valueDoubleResearchScamNumericRestrictNamespacefloat
valueFloatResearchScamNumericRestrictNamespacenumber
valueIntNOTE: Integers are represented in 64 bits here, but if all integer values for a given namespace fit in a narrower integer type (e.g. int8), we use the narrower integer type internally, increasing performance.ResearchScamNumericRestrictNamespaceString
cpuTimeAn estimate of the CPU time used for this query on the machine associated with task_id, from when the query was received to when the response was ready to send, in seconds. Caveats: 1. Does not account for CPU time spent serializing, deserializing, compressing or decompressing protos within Stubby. 2. Does not account for cleanup time after response has been sent.ResearchScamOnlineSearchLatencyStatsStructure to hold the response time for a node. Last used: 3float
taskIdTask number associated with response time measurements.ResearchScamOnlineSearchLatencyStatsStructure to hold the response time for a node. Last used: 3integer
wallTimeWall time taken on the machine associated with task_id from when the query was received to when the response was ready to send, in seconds. This time excludes the time spent sending the response and the time to perform cleanup operations after the response is sent.ResearchScamOnlineSearchLatencyStatsStructure to hold the response time for a node. Last used: 3float
neighborSelectionOverrideResearchScamQueryMetadataMetadata to encode query-specific information. This may include NeighborSelectionOverride, pre-computed query tokenization, etc..ResearchScamNeighborSelectionOverride
latencyDebugging fields: The wall and CPU time used by each query on each machine. For successful queries, there will be one entry here for each machine that the query used if QueryRequest.enable_latency_stats was enabled. For unsuccessful queries, the contents of this field will be undefined. NOTE: The following accounting rules apply in batched mode, assuming there areResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8list(ResearchScamOnlineSearchLatencyStats)
numDeadlineExceededMachinesThe number of non-root machines for which a DEADLINE_EXCEEDED error occurred when they were contacted. This value does NOT include machines for which no reply was received because their parent machine timed out. Therefore, num_total_machines may be larger than num_ok_machines + num_unreachable_machines + num_deadline_exceeded_machines.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8integer
numOkMachinesNumber of machines that contributed to the results; this might be less than the total number of machines if a machine has failed. The impact of a single machine failure could be larger than just one machine, if it happens to be one of the machines involved in distributing the query and collecting results.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8integer
numTotalMachinesThe number of machines used in this service for the dataset that was queried. If everything went right, this should be equal to num_ok_machines. If num_ok_machines < num_total_machines, some neighbors may be missing from results.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8integer
numUnreachableMachinesThe number of non-root machines for which an UNREACHABLE error occurred when they were contacted. This value does NOT include machines that were implicitly unreachable because their parent machine was not reachable. Therefore, num_total_machines may be larger than num_ok_machines + num_unreachable_machines + num_deadline_exceeded_machines.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8integer
restrictStatsThe number of “active” datapoints for each dataset, i.e. points that are whitelisted by restricts and could be returned if they were close enough to the query. For successful queries, there will be one entry here for each dataset queried, if QueryRequest.enable_restrict_stats was true. For partially-successful successful queries, this field will contain resultsResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8list(ResearchScamRestrictStats)
resultsThe results for each dataset searched. If per_dataset_parameters was empty in QueryRequest then this will have one entry, the results for dataset 0. If per_dataset_parameters was not empty in QueryRequest, this will contain the results for each dataset queried, in order corresponding to the order of QueryRequest.per_dataset_parameters.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8list(ResearchScamNearestNeighbors)
statusUSEFUL ONLY IN CUSTOM BINARIES. In the stock ScaM server binary, all errors are relayed via the RPC’s status. Thus, if RPC’s status is ok, this field is guaranteed to be ok and if RPC’s status is an error, no QueryResponse will be returned. The status of this query. This is useful when using a batched postprocessing lambda, which may ignore erroneous subqueries, continue postprocessing the valid ones and return OkStatus. In this case, this field will inform the client of any invalid subqueries.ResearchScamQueryResponseResponse to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8UtilStatusProto
applyTokenStatsResearchScamRestrictEvaluationInfoStructre to hold the detailed information for restrict evaluation for a given query and dataset.ResearchScamRestrictEvaluationInfoApplyTokenStats
customRestrictStatsThe evaluation results for all custom restricts. It’s up to the individual custom restrict implementation and configuration to populate this field accordingly.ResearchScamRestrictEvaluationInfoStructre to hold the detailed information for restrict evaluation for a given query and dataset.ResearchScamCustomRestrictEvaluationStats
directLookupStatsResearchScamRestrictEvaluationInfoStructre to hold the detailed information for restrict evaluation for a given query and dataset.ResearchScamRestrictEvaluationInfoDirectLookupStats
bijectiveMatchesResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
bitmapMatchesResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
noMatchesResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
nonCompactMatchesResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
vectorDatapointCountResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
vectorMatchesResearchScamRestrictEvaluationInfoApplyTokenStatsThe aggregated stats for token namespace restricts.String
directLookupDocidsCountThe number of docids in the direct lookup request.ResearchScamRestrictEvaluationInfoDirectLookupStatsNOTE: add stats for numeric restrict if needed. The stats for direct lookup restricts.String
directLookupMatchesThe number of datapoints found for direct lookup request.ResearchScamRestrictEvaluationInfoDirectLookupStatsNOTE: add stats for numeric restrict if needed. The stats for direct lookup restricts.String
evaluationInfoInformation about the evaluation of the restricts for this query. Could be used for production (e.g., custom restrict pass certain information to the downstream). copybara:strip_endResearchScamRestrictStatsTODO(qhliao) move this proto to research/scam/proto/restricts.proto Structure to hold the number of active and total datapoints for a given dataset, as defined below. Last used: 3ResearchScamRestrictEvaluationInfo
numActiveDatapointsThe number of datapoints that are whitelisted by restricts specified for this query, across all shards for which the query executed successfully. In other words, this represents the number of datapoints that could potentially be returned if they were close enough to the query according to the selected distance measure. If restricts are disabled, this will be equal to num_total_datapoints.ResearchScamRestrictStatsTODO(qhliao) move this proto to research/scam/proto/restricts.proto Structure to hold the number of active and total datapoints for a given dataset, as defined below. Last used: 3String
numTotalDatapointsThe number of total datapoints in all shards of this dataset for which the query executed successfully. This is returned for convenience so that a ratio can be easily computed, and so that num_active_datapoints can be put in perspective for partially successful queries, i.e. queries where only some shards were successful.ResearchScamRestrictStatsTODO(qhliao) move this proto to research/scam/proto/restricts.proto Structure to hold the number of active and total datapoints for a given dataset, as defined below. Last used: 3String
postScoringExtensionNumNeighborsThe number of neighbors to return post scoring extension.ResearchScamScoringExtensionMetadataParameters to adjust the scoring extension configuration for ScaM. Next ID: 2integer
bytesBlocklistTokensIf present, override |string_blacklist_tokens|.ResearchScamTokenNamespacelist(String)
bytesTokensIf present, override |string_tokens|ResearchScamTokenNamespacelist(String)
namespace//////////////////////////////////////////////////////////////////////////// NAMESPACE – the string name of the namespace that this proto is specifying, such as “color”, “shape”, “geo”, or “tags”. Recall that your overall query is an AND across namespaces.ResearchScamTokenNamespaceString
stringBlacklistTokensNew use cases should prefer |bytes_tokens|, go/fast/11#bytes-vs-string When migrate, need to be consistent in both dataset and query.ResearchScamTokenNamespacelist(String)
stringTokensNew use cases should prefer |bytes_tokens|, go/fast/11#bytes-vs-string When migrate, need to be consistent in both dataset and query.ResearchScamTokenNamespacelist(String)
uint64BlacklistTokensTODO(qhliao) rename to |uint64_blocklist_tokens| eventually.ResearchScamTokenNamespacelist(String)
uint64TokensResearchScamTokenNamespacelist(String)
customNamespacesThis field allows custom restrict extension. – It is up to the extension to decide whether OK to specify the same custom namespace more than once per instance of the V3Restrict proto. – Unrecorgniazed (in |V3RestrictsConfig.custom_restrict_namespace_configs|) and unregistered (in factory function registry) custom namespace name will fail dataset loading (instead of being ignored silently). See go/scam-restrict-plugin for more details.ResearchScamV3Restrict//////////////////////////////////////////////////////////////////////////// Note that: * Your overall query is an AND across namespaces across types. * Namespaces names are independent across different restrict types (token, numeric and custom).list(ResearchScamCustomRestrictNamespace)
namespacesA repeating field, where each entry specifies the set of tokens, within a single namespace, that apply to the query, or database point, on which this V3Restrict proto is defined. * Explicitly specifying a namespace with 0 tokens is identical to omitting that namespace. ie, “{ns:}” == “”. * It is an error to specify the same namespace more than once per instance of the V3Restrict proto.ResearchScamV3Restrict//////////////////////////////////////////////////////////////////////////// Note that: * Your overall query is an AND across namespaces across types. * Namespaces names are independent across different restrict types (token, numeric and custom).list(ResearchScamTokenNamespace)
numericNamespacesThis field allows restricts to be based on numeric comparisons rather than categorical tokens. HINT: To allow a range of values in a namespace (e.g. 42 <= x < 128), specify the same namespace twice in the query, e.g.: {namespace: "x" op: LESS value_int: 128 } {namespace: "x" op: GREATER_EQUAL value_int: 42 }ResearchScamV3Restrict//////////////////////////////////////////////////////////////////////////// Note that: * Your overall query is an AND across namespaces across types. * Namespaces names are independent across different restrict types (token, numeric and custom).list(ResearchScamNumericRestrictNamespace)
descriptioncatalog descriptionResearchScienceSearchCatalogInformation on the catalog that this dataset comes from. Next ID: 5String
midcatalog midResearchScienceSearchCatalogInformation on the catalog that this dataset comes from. Next ID: 5String
namecatalog nameResearchScienceSearchCatalogInformation on the catalog that this dataset comes from. Next ID: 5String
urlcatalog urlResearchScienceSearchCatalogInformation on the catalog that this dataset comes from. Next ID: 5String
citationResearchScienceSearchCitationReference to the citation in Google scholar.String
safeHtmlCitationThe citation after HTML sanitation. Used only by the front-end.ResearchScienceSearchCitationReference to the citation in Google scholar.WebutilHtmlTypesSafeHtmlProto
contentSizeSize of the download, as a string from the provider. May include units.ResearchScienceSearchDataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6String
downloadUrlURL for downloading the dataResearchScienceSearchDataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6String
fileFormatFile format at the link (ASCII, CSV, etc.)ResearchScienceSearchDataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6String
fileFormatClassPragmatic classification of file formats – for filtering purposesResearchScienceSearchDataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6String
parsedContentSizeParsed content sizeResearchScienceSearchDataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6ResearchScienceSearchDataSize
sizeData size value, in the provided size unitResearchScienceSearchDataSizeData size information, consists of a numeric value and a unit. Next ID: 3float
unitThe data size unitResearchScienceSearchDataSizeData size information, consists of a numeric value and a unit. Next ID: 3String
formattedResearchScienceSearchDateRepresentation of fields that contain dates. The formattes version, if present, contains ISO 8601 formatted date or range. Otherwise, it is an unformatted string. Next ID: 3String
unformattedResearchScienceSearchDateRepresentation of fields that contain dates. The formattes version, if present, contains ISO 8601 formatted date or range. Otherwise, it is an unformatted string. Next ID: 3String
classificationSourceThe classification source that determines the field of study label.ResearchScienceSearchFieldOfStudyInfoStores the classification info of each field of study label.String
isAboveThresholdIf set to true, it means that the probability is at least the threshold value specified from the corresponding saved model config. Thresholds for different fields may be different.ResearchScienceSearchFieldOfStudyInfoStores the classification info of each field of study label.String
labelA label that represents the field of study.ResearchScienceSearchFieldOfStudyInfoStores the classification info of each field of study label.String
probabilityA score between [0, 1] outputted from the classifier indicating the probability for being a YES instance.ResearchScienceSearchFieldOfStudyInfoStores the classification info of each field of study label.float
idA fingerprint id generated based on the license_class, URL or text. Since the knowledge graph requires a unique string id for the license but any filed of license can be empty, a fingerprint id can serve as a compact identifier representing the non-empty sub-fields.ResearchScienceSearchLicenseDistribution license information. Next ID: 6String
licenseClassA value from a controlled vocabulary that uniquely identifies a license. Unless this is set to LICENSE_CLASS_UNDEFINED_NO_MATCH or LICENSE_CLASS_UNDEFINED_CONTRADICTING_MATCHES other fields in this message should be empty.ResearchScienceSearchLicenseDistribution license information. Next ID: 6String
licenseMidmid for the license.ResearchScienceSearchLicenseDistribution license information. Next ID: 6String
textThe text (usually, the name) of the distribution license.ResearchScienceSearchLicenseDistribution license information. Next ID: 6String
urlThe url for the distribution license.ResearchScienceSearchLicenseDistribution license information. Next ID: 6String
boxCoordinatesCoordinates of the corners of the polygon in the form “lat1 long1 lat2 long2”ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
circleCoordinatesCoordinates for the circle area defined by its center and radius: “lat long, radius”ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
containedInMidmids for locations that contain loctions in .ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9list(String)
locationMidmids for locations covering the dataset, contained in the . A region may contain multiple locations that are identified by mids.ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9list(String)
locationMidLabelLabels (in the preferred language of the dataset) for the mids in .ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9list(String)
locationNameThe original name for the area covered by the dataset.ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
locationSourceResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
pointCoordinatesLatitude and longitude for a single point in the form of “lat,long”.ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
unformattedCoordinatesUnformatted coordinates describing the region.ResearchScienceSearchLocationDescribes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9String
impCountimp_count stores an estimate of the number of impressions for this tuple.ResearchScienceSearchNavboostQueryInfoThe information representing one navboost query for the dataset source_url.number
lccCountlcc_count stores an estimate of the number of long clicks for this tuple. NOTE: It is similar to query_doc_count, but calculated in different manner.ResearchScienceSearchNavboostQueryInfoThe information representing one navboost query for the dataset source_url.number
queryThe query string.ResearchScienceSearchNavboostQueryInfoThe information representing one navboost query for the dataset source_url.String
queryCountThe query_count stores the counts on this query.ResearchScienceSearchNavboostQueryInfoThe information representing one navboost query for the dataset source_url.number
queryDocCountThe query_doc_count stores the number of long-clicks on this pair.ResearchScienceSearchNavboostQueryInfoThe information representing one navboost query for the dataset source_url.number
organizationMidKG mid for the organization or person.ResearchScienceSearchOrganizationOrganization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don’t use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6list(String)
organizationMidLabelLabel (in the preferred language of the dataset) for the mid.ResearchScienceSearchOrganizationOrganization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don’t use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6list(String)
organizationNameUnreconciled organization name. We store it here only if there are no organization_mid values present.ResearchScienceSearchOrganizationOrganization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don’t use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6String
organizationUrlOriginal organization urlResearchScienceSearchOrganizationOrganization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don’t use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6String
originalOrganizationNameOriginal name before reconciliation; empty if not reconciled.ResearchScienceSearchOrganizationOrganization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don’t use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6String
identifierFromSourceAn identifier as provided by the dataset itself.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
nameThe names of the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
doiThe DOI for the dataset. We assume that there is only one.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
dateUpdatedMost recent of the three dates (published, created, modified)ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
datePublishedThe date when the dataset was published.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
alternateNameAlternate names and acronyms for the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
locationReconciledForNameIndicates if the location has been reconciled for the dataset name. This is used by LocationExtender to avoid re-annotating the dataset name.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74boolean
fieldOfStudyField of study: a general, high-level classification of the dataset. This is only populated during indexing time and it is only populated if the classification_source is KNOWLEDGE_GRAPH or it’s above inference threshold.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchFieldOfStudyInfo)
sameAsIds for other instances (not different versions) of this dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
licenseLicense for the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchLicense)
versionsSimhashA simhash value of the fields used for identifying versions of a dataset. This will be used by the VersionClusterInfoWriter.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
descriptionDescription of the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
coverageEndDateResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
isAccessibleForFreeIndicates if the dataset is available for free or behind a paywal http://schema.org/isAccessibleForFreeResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
coverageStartDateThe start and end date that the dataset covers. If the dataset covers a single timepoint, then start and end dates are the same. Use the ISO 8601 format for dates (e.g., 2006-05-23).ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
versionEmbeddingVectorAn embedding for the dataset to be used by the VersionAggregator.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(number)
authorListA string representation of the authors of the dataset, collected from author and creator in raw metadata. The exact format (e.g., comma-separated, etc.) is up to the extender that populates this field. The assumption is that this string may appear in the UI “as is”.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
dateCreatedThe date when the dataset was created.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
topSalientTermLabelTop salient term labels that describe the dataset document body.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
keywordKeywords describing the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
hasCroissantFormatIndicates if the dataset has croissant format (https://github.com/mlcommons/croissant). Use optional so that explicitly setting to false will ensure the value is passed along to the KG instead of being indistinguisable from being unset and thus not set in the KG.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74boolean
denylistStatusResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
datasetClassificationScoreProbability that the entity is in fact a dataset (in contrast to spam or website labelled as dataset that does not describe a dataset).ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74float
languageCodeThe 2-letter language code for the source page for the dataset. Same as the language code in source_url_docjoin_info. Populated only when generating output for indexing.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
sourceUrlDocjoinInfoAll the information extracted from docjoin, for the source_url of this dataset, aka DatasetMetadata.source_url.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchSourceUrlDocjoinInfo
compactIdentifierFromCitationCompact Identifier(s) extracted from the citation field. Like in the case of DOI(s) those identify the articles related to the dataset rather than the dataset itself.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
mentionedUrlsMentioned URLs in the description.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
dateModifiedThe date when the dataset was modified.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchDate
funderFunder of the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchOrganization)
variableVariables that the data in the dataset captures (e.g., pressure, salinity, temperature). For now, these are just strings.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
numberOfDatasetsAtSourceUrlThe number of datasets at the same source url as this dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74integer
spatialCoverageLocations that describe spatial coverage of the data. If the data covers multiple locations then each value corresponds to one such location, describing its coordinates, mid, etc.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchLocation)
sourceOrganizationSource of the dataset: unifies provider, creator, author, publisher etc.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchOrganization)
doiFromCitationDOI(s) extracted from the citation field. In contrast to the “doi” field these DOIs identify the articles related to the dataset rather than the dataset itself.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
indexInClusterIndex of this dataset in its cluster of replicas.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74integer
dataDownloadThe dataset in downloadable form. There can be multiple data download entries for different file types.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchDataDownload)
scholarQueryQuery string to send to Scholar to obtain the best approximation of citations to the dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
publicationResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchCitation)
catalogCatalog that this dataset is a part of.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchCatalog
isBasedOnA resource (most likely another dataset) from which this dataset is derived or from which it is a modification or adaption. http://schema.org/isBasedOnResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
versionClusterInfoInformation on the version cluster that the dataset is a part of. This field is populated during the indexing time; the field is populated only if the dataset is part of a version cluster.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchVersionClusterInfo
urlurls for the dataset, including doi.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
replicaThe info of replicas of this dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(ResearchScienceSearchReplica)
isInferredIndicates whether the metadata was inferred using an ML model rather than from the schema.org fields. Use optional so that explicitly setting to false will ensure the value is passed along to the KG instead of being indistinguisable from being unset and thus not set in the KG. This field was originally non-optional; changing to optional is backwards compatible, but protos created prior to being optional won’t have has_is_inferred() (go/proto-proposals/proto3-presence#wire-format-semantic-changes).ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74boolean
metadataTypeResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
scholarlyArticleFor tables and figures, contains all of the metadata for a scholarly article that was the source of this table or figure. This field is populated only if metadata_type is ‘TABLE’ or ‘FIGURE’.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74ResearchScienceSearchScholarlyArticle
relatedArticleUrlThe url for the article that (likely) describes this dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
basicFieldsHashA hash of the fields copied by BasicMetadataExtender and the importers. See cs/research/science_search/backend/extender/basic_metadata_extender.h for the list of fields.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
compactIdentifierCompact Identifiers (for example “RRID:SCR_002088”) that can be resolved by Identifiers.org or N2T.net meta-resolvers.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
imageUrlThe image urls provided by the dataset (e.g., for thumbnail images).ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
licenseDeprecatedLicense for the dataset. DEPRECATEDResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
versionEmbeddingFieldsHashA hash of the raw metadata fields used by the VersionEmbeddingExtender.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
hasTableSummariesIndicates if the dataset has table summaries. This field is only populated during indexing time.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74boolean
numberOfScholarCitationsThe number of articles that reference this dataset.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74integer
idA unique id for the dataset. For the data from Spore, this is the spore id, such as, for example “http://accession.nodc.noaa.gov/8500223#__sid=js0” REQUIREDResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
measurementTechniqueA technique or technology used in a Dataset corresponding to the method used for measuring the corresponding variable(s) (described using variableMeasured). http://schema.org/measurementTechniqueResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
sourceUrlSource url from which we gathered the metadataResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
fingerprintThe fingerprint of basic fields from DatasetMetadata, including: – name – description DEPRECATEDResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
descriptionInHtmlDescription of the dataset converted to HTML.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74list(String)
datasetClassificationFieldsHashA hash of the raw metadata fields used by the QualityExtender.ResearchScienceSearchReconciledMetadataA proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74String
catalogNameThe name of the catalog that the replica comes from.ResearchScienceSearchReplicaStores the information about a dataset replica. Next ID: 5String
catalogUrlThe url of the catalog that the replica comes from.ResearchScienceSearchReplicaStores the information about a dataset replica. Next ID: 5String
indexInClusterThe index of this replica in a cluster of replicas.ResearchScienceSearchReplicaStores the information about a dataset replica. Next ID: 5integer
urlUrl for the replica.ResearchScienceSearchReplicaStores the information about a dataset replica. Next ID: 5String
citationProto containing all of the Scholar Metadata for this article.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.ScienceCitation
figureOrTableImagecontains the image of the figure or table cropped out of the pdf page encoded as a PNG.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.String
figureOrTableOcrTextContains the text (as detected by OCR) contained inside the image of the figure or table.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.String
landingPageUrlThe url of the landing page for the scholarly article.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.String
pageNumberThe page number where the table and figure is located in the original pdf document.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.integer
pdfDownloadUrlThe url where the pdf file is located for the scholarly article.ResearchScienceSearchScholarlyArticleData and associated metadata for a scholarly pdf article.String
dataSourceResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
displayUrlThe url used to display in the google search results.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
docidThe docid of the document.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
indexTierIndex tiers (BASE, UNIFIED_ZEPPELIN, etc) that the document belongs to. NOTE: Each document may belong to multiple tiers. NOTE: The original data type is an enum CompositeDoc::SubIndexType. However we don’t want to depend on segindexer/compositedoc.proto because the proto is too large. Instead, we use CompositeDoc::SubIndexType_Name( subindexid) to convert into a string representation. To convert string back to CompositeDoc::SubIndexType, use CompositeDoc::SubIndexType_Parse.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18list(String)
languageCodeThe language of the document in the string representation of LanguageCode. Converts from Language Enum to LanguageCode through i18n/identifiers/langenclanguagecodeconverter.h Please use i18n/identifiers/languagecodeconverter.h for converting between LanguageCode and string representation.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
latestPageUpdateDateThe syntactic date of a dataset document that reflects the publication date of the content.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
navboostQueryA sequence of Navboost queries for the dataset source_url.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18list(ResearchScienceSearchNavboostQueryInfo)
pagerankThe page rank of the document. DEPRECATED in favour of Pagerank_NS. Do not use as it is no longer maintained in docjoins and can break at any moment.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18integer
pagerankNsThe production pagerank value of the document.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18integer
petacatInfoPetacat classifications for the web document. Normally the results from calling Petacat come in a PetacatResponse, which is very flexible and extensible. This proto takes most of the flexibility away – only rephil clusters, taxonomic classifications, and binary classifications, with discretized weights.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18FatcatCompactDocClassification
salientTermsA set of salient terms extracted fromthe document. DEPRECATEAD. Moved to DatasetMetadata for performance reasons.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18QualitySalientTermsSalientTermSet
scholarInfoScience per-doc data for inclusion in websearch.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18ScienceIndexSignal
sporeGraphMidA set of entities from WebRef annotations that are in SPORE_GRAPH.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18list(String)
titleThe title of the document.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
topEntityA set of top entities from WebrefAnnotation, top is defined by topicality score, see go/topicality-score for detail. DEPRECATED. See label_to_mids_map instead.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18list(RepositoryWebrefWebrefEntity)
urlThe url of the document.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18String
webrefEntityA set of entities copied from WebRefEntities on cDoc.ResearchScienceSearchSourceUrlDocjoinInfoThe proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18list(ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfo)
deprecatedEntityTypeDEPRECATED. See entity_type instead.ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfoThe mid and description of a WebRefEntity.String
descriptionThe English description of the mid from the KG.ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfoThe mid and description of a WebRefEntity.String
entityCollectionTypeResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfoThe mid and description of a WebRefEntity.list(String)
kgCollectionHRID of the KG collectionsResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfoThe mid and description of a WebRefEntity.list(String)
midThe KG identifier of the WebrefEntity.ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfoThe mid and description of a WebRefEntity.String
indexInVersionClusterIndex of this dataset in its cluster of versions.ResearchScienceSearchVersionClusterInfoStores the information about each cluster of versions. Versions are defined in go/s2-versioning. Next available tag: 4integer
numVersionsThe number of versions in a Version Cluster. This is equivalent to cluster size.ResearchScienceSearchVersionClusterInfoStores the information about each cluster of versions. Versions are defined in go/s2-versioning. Next available tag: 4integer
versionClusterIdA fingerprint id of the cluster of versions this dataset belongs to. This is a hash of a dataset_id in the cluster.ResearchScienceSearchVersionClusterInfoStores the information about each cluster of versions. Versions are defined in go/s2-versioning. Next available tag: 4String
AccessKeyRichsnippetsDataObjectNext ID: 11String
attributeRichsnippetsDataObjectNext ID: 11list(RichsnippetsDataObjectAttribute)
sourceRichsnippetsDataObjectNext ID: 11String
typeThe object type.RichsnippetsDataObjectNext ID: 11String
cdataRichsnippetsDataObjectAttributeOther attributes of the object.String
idataidata holds integer data under the attribute name, and could be interpreted differently according to the attribute name. Example: stores the ImadeData.docid used to generate thumbnails. idata will not be automatically converted into xml (the default behavior), but the behavior can be overwritten if necessary.RichsnippetsDataObjectAttributeOther attributes of the object.String
nameRichsnippetsDataObjectAttributeOther attributes of the object.String
subobjectA data object can have other data objects nested inside it. This is needed to represent Microformats and RDFa which have nestings e.g., a review with a business with an address, or a review with a rating object. See the Webmaster Central 2009/05 blog on “Introducing Rich Snippets”.RichsnippetsDataObjectAttributeOther attributes of the object.Proto2BridgeMessageSet
tokenizeWhether we should tokenize the value and cdata when generating restricts from this attribute.RichsnippetsDataObjectAttributeOther attributes of the object.boolean
valueEither of cdata or value should be present.RichsnippetsDataObjectAttributeOther attributes of the object.String
DataObjectRichsnippetsPageMaplist(RichsnippetsDataObject)
ignoreDataObjectIf ignore_data_object is set to true, pagemap attachment is processed regardless of whether data object is present or not.RichsnippetsPageMapboolean
srcRichsnippetsPageMapString
templatetypeRichsnippetsPageMaplist(RichsnippetsPageMapTemplateType)
srcRichsnippetsPageMapTemplateTypeUnused fieldsString
languageAudio language of video classified by Automatic Language Identification. It corresponds to the langid_result in S3LangIdSignals.S3AudioLanguageS3AudioLanguageS3 based Audio language information about a Watch Page.String
languageConfidenceConfidence interval of the recognized language.S3AudioLanguageS3AudioLanguageS3 based Audio language information about a Watch Page.String
speechClassType of detected speech.S3AudioLanguageS3AudioLanguageS3 based Audio language information about a Watch Page.String
hatefulDerogatoryScoreSafesearchImageOffensiveAnnotationnumber
imageEntitiesViolenceScoreSafesearchInternalImageSignalsA proto that stores SafeSearch internal signals that are not exported to clients.number
offensiveAnnotationSafesearchInternalImageSignalsA proto that stores SafeSearch internal signals that are not exported to clients.SafesearchImageOffensiveAnnotation
starburstPornScoreAdditional SafeSearch signals that are used to compute final scores.SafesearchInternalImageSignalsA proto that stores SafeSearch internal signals that are not exported to clients.number
starburstViolenceScoreSafesearchInternalImageSignalsA proto that stores SafeSearch internal signals that are not exported to clients.number
internalMultiLabelClassificationSafesearchVideoContentSignalsSafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6SafesearchVideoContentSignalsMultiLabelClassificationInfo
isAbuseWithHighConfidenceThis is used by Amarna to determine whether it should notify Raffia for immediate reprocessing. This field will be generated in Amarna’s image_metadata corpus and exported to references_video_search corpus and written to ExportState.module_state.critical_metadata_checksum for determining whether Amarna should immediately notify Raffia whenever is_abuse_with_high_confidence’s value changes.SafesearchVideoContentSignalsSafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6boolean
scoresSafesearchVideoContentSignalsSafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6map
versionTagSafesearchVideoContentSignalsSafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6String
videoClassifierOutputOutput of all SafeSearch video classifiers in Amarna.SafesearchVideoContentSignalsSafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6SafesearchVideoClassifierOutput
frameFeaturesPresentSafesearchVideoContentSignalsMultiLabelClassificationInfoInformation about multi-label classification result (the scores and whether frame features were used).boolean
outputSafesearchVideoContentSignalsMultiLabelClassificationInfoInformation about multi-label classification result (the scores and whether frame features were used).SafesearchVideoContentSignalsMultiLabelOutput
ageIndeterminateSafesearchVideoContentSignalsMultiLabelOutputOutput of Multi-Label video classifier.number
csamSafesearchVideoContentSignalsMultiLabelOutputOutput of Multi-Label video classifier.number
pornSafesearchVideoContentSignalsMultiLabelOutputOutput of Multi-Label video classifier.number
racySafesearchVideoContentSignalsMultiLabelOutputOutput of Multi-Label video classifier.number
violenceSafesearchVideoContentSignalsMultiLabelOutputOutput of Multi-Label video classifier.number
PatentPublicationNumberScienceCitationString
ISBNVariantScienceCitationlist(String)
OnlineYearScienceCitationinteger
Numbercan be 1-3ScienceCitationString
AnchorsAll the anchor text (before, after, formal, etc) for this citation in the referring page.ScienceCitationlist(ScienceCitationAnchor)
PMIDPubmed IDScienceCitationString
PatentCountry2-letter country code where patent was issued, see ocean/metadata/patent_record.proto::Patent_Record::country_code for EPO one patent pertains to a list of countries.ScienceCitationlist(String)
LegalCitationThe ScienceCitation is how metadata passes through the scholar system. For legal, we use the normal ScienceCitation for the metadata/citation of legal journals. For court/government documents (like opinions or statues), we wrap it in the following embedded messageScienceCitationLegalCitation
PublicationDayfor patents, publicationD/M/Y is the date of issue, not applicationScienceCitationinteger
TitleScienceCitationString
FileCreationYeardate of creation of the pdf/docScienceCitationinteger
fundingScienceCitationlist(ScienceCitationFunding)
AuthorMetatagLeftOverScienceCitationString
AbstractLanguageScienceCitationString
NumBackwardLinksfor display in gwsScienceCitationinteger
FileCreationMonthzero-indexed fieldScienceCitationinteger
ParseSourceScienceCitationinteger
PublisherAddressaddress from bibtexScienceCitationString
AbstractSourceScienceCitationString
ISSNScienceCitationString
VersionIDDocument version identifier – fingerprint of an id computed from the url, or of bibliographic data from a publisher. Different urls for the same article from the same source have the same version id (e.g., abstract, pdf version, and html version).ScienceCitationString
unioncatalogScienceCitationlist(ScienceCitationUnionCatalog)
PMCIDScienceCitationString
ConferenceNumber27 in the “27th conference on magical realism”ScienceCitationinteger
WorldViewableIs this version of the article world viewable?ScienceCitationboolean
OnlineDayScienceCitationinteger
NumGoodEmbeddedRefsgood embedded refsScienceCitationinteger
downloadurlScienceCitationlist(ScienceCitationDownloadURL)
SeriesScienceCitationString
NumSectionRefsrefs in marked sectionScienceCitationinteger
NumKeyQuotesfor display in gwsScienceCitationinteger
AbstractCitationSourceThe source of abstract text that is chosen by science docid assigner.ScienceCitationinteger
CitationSourceUrlurl where record came fromScienceCitationString
EditorScienceCitationlist(String)
LanguageScienceCitationString
ChapterScienceCitationString
alternateabstractScienceCitationlist(ScienceCitationAlternateAbstract)
PublicationVenuewhere published – subsumes booktitle, howpublished and journal from bibtexScienceCitationString
NumBackwardLinksFromLegalhack for legal rolloutScienceCitationinteger
KeywordsScienceCitationlist(String)
CrawledDocidIf a citation is merged from a crawled version and a metadata version, keep the normal docid fp of the crawled version for clustering FP of normal docid of crawl versionScienceCitationString
AbstractHtmlLeftOverLeftovers from AbstractHtml. These are usually unrecognized xml/html entities or xml/html tagsScienceCitationString
NumForwardLinksfor display in gwsScienceCitationinteger
BorrowedFieldsOR of FieldTypeScienceCitationinteger
FileCreationDayScienceCitationinteger
AbstractTextScienceCitationString
PatentApplicationNumberNote that an issued patent has a PatentNumber and can also have a PatentApplicationNumber, whereas a patent application has a PatentApplicationNumber and can also have a PatentPublicationNumber.ScienceCitationString
TitleHtmlVersion of title for display. Contains unsanitized HTML/XML.ScienceCitationString
accessurlScienceCitationlist(ScienceCitationAccessURL)
ClusterDiscoveryDateUsed for logging, recommendations, and sort-by-date. Contains the earliest discovery date of the cluster, adjusted for earlier publication dates. Stored in Universal time scale (100 ns ticks since 0001 AD) because Unix timestamp would lead to negative dates for pre-1970 docs.ScienceCitationString
PublicationMonthmonth from bibtex PublicationMonth is a zero-indexed field (0 is January).ScienceCitationinteger
CitationSrcDEPRECATED: use CitationSourceScienceCitationString
TranslatedAuthorListHasEtAletal marker for the translated author list – just in caseScienceCitationboolean
alternatetitleScienceCitationlist(ScienceCitationAlternateTitle)
subjectScienceCitationlist(ScienceCitationSubject)
JOIScienceCitationString
OtherIDeg ERIC doc number or TR numberScienceCitationString
CitationSourcecitation src: dblp/crossref/paper etcScienceCitationinteger
WOSIDWeb of Science IDScienceCitationString
NumBackwardLinksInWoSnumcited in WoSScienceCitationinteger
NumRelatedfor display in gwsScienceCitationinteger
PublicationVenueVariantScienceCitationlist(String)
BaseLocalIDSet when building an incremental index. Whereas BaseGlobalID is the ID of the corresponding base cluster, the local ID is the ID of an individual citation within that base cluster that corresponds to this reparse.ScienceCitationString
CitationSourceCrawlTimestampSeconds since the epoch, should be consistent with CitationSourceUrl.ScienceCitationString
PublisherIdScienceCitationString
SICIScienceCitationString
ArxivSectione.g. hep-phScienceCitationString
authorScienceCitationlist(ScienceCitationAuthor)
OnlineMonthOnlineMonth is a zero-indexed field (0 is January).ScienceCitationinteger
PublisherOrgsubsumes organization, school and institution from bibtexScienceCitationString
AbstractHtmlVersion of abstract field for display. Contains unsanitized XML/HTML.ScienceCitationString
PatentClassificationpatent classification e.g., “B24B 3100”ScienceCitationlist(String)
TypeArticleTypeScienceCitationinteger
DEPRECATEDPublisherDisplayNamethese fields moved to DownloadURL where they belongScienceCitationString
PatentNumbernumber according to USPTO/EPO/JPO scheme.ScienceCitationString
PubvenueIDlocal journal numberScienceCitationString
AbstractDisplayScienceCitationString
NumHostedPagesIf set, then we host this many pages of this citation’s content. Note that this field may be set to 0, in which case we should be hosting this content but have failed. DEPRECATED, moved to DownloadURLScienceCitationinteger
VolumeScienceCitationinteger
EditionScienceCitationString
NumRelated2for experimentsScienceCitationinteger
ISBNScienceCitationString
DocumentIDLocal document identifier – url fingerprint if we know the url, or fingerprint of all fields if we don’t. Different urls have different local docids.ScienceCitationString
AlternateVersionIDFingerprint of the URL after applying crawl and aggregate rewrites. Different citations with the same AlternateVersionID must have the same VersionID, but not necessarily vice versa. Omitted when identical to the VersionID.ScienceCitationString
categoryScienceCitationlist(ScienceCitationCategory)
PatentOfficeone of the aboveScienceCitationinteger
ReviewTypeReasonbitmap of ReviewArticleTypeReasonsScienceCitationinteger
DspaceIDDspace uses handle.net handlesScienceCitationString
AbstractTypeFromSourceThe original (unnormalized) type of an abstract. AbstractDisplay holds a normalized type deduced from things like tagnames, tag-attributes, keywords in documents or the placement of the abstract in the document. This field is meant for the type of the abstract identified explicitly by the source document. E.g., the value of the ‘abstract-type’ attribute from a tag in XML (‘primary abstract’, ‘summary’, ‘highlights’ etc.).ScienceCitationString
UnmatchedInstitutionAuthor affiliations found in the document that we weren’t able to match up to specific authors.ScienceCitationlist(String)
NumVersionsfor display in gwsScienceCitationinteger
PublicationYearyear from bibtext full yearScienceCitationinteger
DOIDigital Object IdentifierScienceCitationString
referencediscussionScienceCitationlist(ScienceCitationReferenceDiscussion)
TitleHtmlLeftOverLeftovers from TitleHtml. These are usually unrecognized xml/html entities or xml/html tagsScienceCitationString
translatedauthorScienceCitationlist(ScienceCitationTranslatedAuthor)
BorrowedAuthorsone bit per authorScienceCitationinteger
ISSNVariantScienceCitationlist(String)
IncrementalExpectedIs this article expected to have been indexed in the incremental?ScienceCitationboolean
DblpIdScienceCitationString
BaseGlobalIDGlobal document identifier – only available when building increments over a known base index. This id is from the base index.ScienceCitationString
ConferenceIdIdentifier for conference series – issn-liteScienceCitationString
LCCNlibrary of congress call numberScienceCitationString
DEPRECATEDMetadataSourceFileScienceCitationString
ClearedReasonScienceCitationString
LevelOfDiscussionIf this is a target reference, the level of discussion of this reference.ScienceCitationinteger
AuthorListHasEtAlwhether this citation had an “et al” in the author listScienceCitationboolean
NumRelated3for experimentsScienceCitationinteger
Noterandom string data – unparsedScienceCitationString
UnmatchedEmailAddrEmail addresses found in the document that we weren’t able to matchScienceCitationlist(String)
PagesUsing string to handle all kinds of page specifications. Internal structure is not really needed.ScienceCitationString
AccessDayScienceCitationAccessURLUser-defined URL and its last access data for citation manager.integer
AccessMonthAccessMonth is a zero-indexed field (0 is January).ScienceCitationAccessURLUser-defined URL and its last access data for citation manager.integer
AccessYearScienceCitationAccessURLUser-defined URL and its last access data for citation manager.integer
UrlStrScienceCitationAccessURLUser-defined URL and its last access data for citation manager.String
AbstractDisplayScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
AbstractHtmlVersion of abstract field for display. This may contain XML/HTML tags.ScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
AbstractHtmlLeftOverLeftovers from AbstractHtml. These are usually unrecognized xml/html entities or xml/html tagsScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
AbstractLanguageScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
AbstractTextScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
AbstractTypeFromSourceThe original (unnormalized) type of an abstract. AbstractDisplay holds a normalized type deduced from things like tagnames, tag-attributes, keywords in documents or the placement of the abstract in the document. This field is meant for the type of the abstract identified explicitly by the source document. E.g., the value of the ‘abstract-type’ attribute from a tag in XML (‘primary abstract’, ‘summary’, ‘highlights’ etc.).ScienceCitationAlternateAbstractThere are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.String
LanguageScienceCitationAlternateTitlealternate titles (including language where available)String
TitleScienceCitationAlternateTitlealternate titles (including language where available)String
TitleHtmlVersion of title for display. Contains unsanitized HTML/XML.ScienceCitationAlternateTitlealternate titles (including language where available)String
TitleHtmlLeftOverLeftovers from TitleHtml. These are usually unrecognized xml/html entities or xml/html tagsScienceCitationAlternateTitlealternate titles (including language where available)String
DEPRECATEDSrcFPFingerprint of the referral document. The fingerprint should resist to small variance in the document content. DO NOT USE IT!ScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.String
countNumber of times this anchor text appears, only consider the text itselfScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.integer
facefont face bitmask: kBold, kItalic, etc.ScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.integer
sizefont size, in pxScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.integer
textSpace-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented. Generated by ScienceParseUtils::AppendTokenSeqToString()ScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.String
typeone of the “Type” value defined below.ScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.integer
weightweight of the anchor by looking where we get this anchor text. It can be PR, court level, year, or the combination of differerent aspects. weights are 1 – 128 defined as “Weights”ScienceCitationAnchorThe anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.integer
CommentScienceCitationAuthorauthor names should be in the order specified in the paperString
Departmentnot in bibtex – from paperScienceCitationAuthorauthor names should be in the order specified in the paperString
EmailScienceCitationAuthorauthor names should be in the order specified in the paperString
GuessOrderTypeTracks the GuessNameOrder case used to parse this author name, defaults to 0 simply means that GuessNameOrder wasn’t used.ScienceCitationAuthorauthor names should be in the order specified in the paperinteger
IDAuthor ID. Formatted as idtype:idScienceCitationAuthorauthor names should be in the order specified in the paperlist(String)
Institutionnot in bibtex – from paperScienceCitationAuthorauthor names should be in the order specified in the paperString
IsCJKForeignNameScienceCitationAuthorauthor names should be in the order specified in the paperboolean
IsCorrespondingAuthorScienceCitationAuthorauthor names should be in the order specified in the paperboolean
LastNameScienceCitationAuthorauthor names should be in the order specified in the paperString
OtherNamesScienceCitationAuthorauthor names should be in the order specified in the paperString
SourceTextScienceCitationAuthorauthor names should be in the order specified in the paperString
TypeType is one of the contributors types. Writers are the default.ScienceCitationAuthorauthor names should be in the order specified in the paperinteger
NameScienceCitationCategoryString
Typeontology/set of categories for the categoryScienceCitationCategoryString
DownloadDayScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
LegalMustIncludee.g., in law_articles.patScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
DisplayPrioritydisplay preference scoreScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
PageCountNumber of pages in the pdf2html conversion output. Only set for PDFs. For a partitioned PDF, this is the page count of the entire volume.ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
LikelyWorldViewableLikely to be free-to-read for everyone, after accounting for library links etc.ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
MetadataUrlurl of publisher metadata fileScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
NoIndexmetatag: don’t display this urlScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
ReferencesInPrevIndexwere references parsed in a previous indexScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
CanonicalUrlfpScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
NoSnippetmetatag: don’t show snippetScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
BrokenLandingPageset if we know the landing page is brokenScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
DownloadYearno abbrvScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
WorldViewablemetatag: is viewable by worldScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
UrlAfterRedirectsScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
ContentChecksumchecksum of the pageScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
ExcerptDebugLabellabel for excerpt (abstract, summary, ..)ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
ContentTypemakes gws display nicer 🙂ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
LongChunkCountnumber of long paragraphsScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
MustIncludee.g., in science_articles.patScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
FirstDiscoveredseconds since the epochScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
IndexPriorityindexing preference scoreScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
HtmlTitlehtml title of the pageScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
NoArchivemetatag: don’t show cached versionScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
DownloadMonthDownloadMonth is a zero-indexed field (0 is January).ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
CrawlTimestampseconds since the epochScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
LikelyDifferentMetricsVenueIn the context of a given venue in Scholar Metrics, whether this URL likely does not link to the current venue.ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
UrlStrScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
HostedStartPageScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
OutLinkCountnumber of external URLs (in PDF).ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
LikelyNoCachebadurls_nocache at indexing timeScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
LikelyLegalJournale.g., in legal_journals.patScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
TypeArticleType for this particular urlScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
MaybeNoIndexReparseIncremental only: mark as NoIndexed if this is a reparse and the base version is NoIndexed.ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
LikelyAheadPrintWhether this is likely the URL for an ahead print, at indexing time.ScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
InPrevIndexis url included in a previous indexScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
DisplayOrgpublisher display nameScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
WordCountnumber of words in content/bodyScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
OceanViewdescribes whether url is viewable in oceanScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeScienceOceanView
DMCANoticemetatag: URL; result was taken downScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
LikelyNoIndexbadurls_noreturngws at indexing timeScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeboolean
ExcerptContentfirst few lines of abstract’ish excerptScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeString
HostedNumPagesexplicit zero means hosting failedScienceCitationDownloadURLDownload URL mentioned in citation; we keep up to K of them LINT.IfChangeinteger
Agencyvalues are from FundingAgency enumScienceCitationFundinginteger
AgencyNameText name of the agency. For analysis. Plus for agencies that don’t have an enum.ScienceCitationFundingString
DebugExtractionInfoFunding entries for the same agency and grant number can be merged during our extraction process so we maintain a record of all the deduped ExtractionInfo messages within the remaining entry.ScienceCitationFundinglist(ScienceCitationFundingExtractionInfo)
DebugFundingTextBlockText block from which the funding entry was extracted. Intended to be used for offline analysis. DEPRECATEDScienceCitationFundingString
GrantNumberScienceCitationFundingString
Recipientfunding recipientScienceCitationFundingString
SourceTextOriginal text for the funding acknowledgementScienceCitationFundingString
UrlBasedFundingSourceWhether this funding info was added because this article was at the exclusive repository for this agency.ScienceCitationFundingboolean
ClearedFundingSet when we clear all extracted funding from this citation in the parser.ScienceCitationFundingExtractionInfoHolds information about the source of the funding entry.String
DebugFundingTextBlockText block context from which the funding entry was extracted. Optionally filled and intended to be used for offline analysis.ScienceCitationFundingExtractionInfoHolds information about the source of the funding entry.String
DocPartScienceCitationFundingExtractionInfoHolds information about the source of the funding entry.String
ParseSectionScienceCitationFundingExtractionInfoHolds information about the source of the funding entry.String
SourceScienceCitationFundingExtractionInfoHolds information about the source of the funding entry.String
LevelScienceCitationReferenceDiscussionIf this is a source document, the levels of discussion of the references this document cites.integer
TargetIDScienceCitationReferenceDiscussionIf this is a source document, the levels of discussion of the references this document cites.String
Namee.g., “eng”ScienceCitationSubjectsubject classificationString
Probability[0,1]ScienceCitationSubjectsubject classificationfloat
DepartmentScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
EmailScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
GuessOrderTypeScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infointeger
InstitutionScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
LanguageScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
LastNameScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
OtherNamesScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
SourceTextScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infoString
TypeScienceCitationTranslatedAuthortranslated author names. we usually get these for non-english papers which provide english title/author/abstract infointeger
CanonicalUrlfpScienceCitationUnionCatalogCreate UnionCatalog as a group if we want to later add book level informations.String
MetadataUrlurl of catalog metadata fileScienceCitationUnionCatalogCreate UnionCatalog as a group if we want to later add book level informations.String
NumLibrariesInformation about the number of libraries the citation appears. It should be useful for ranking.ScienceCitationUnionCatalogCreate UnionCatalog as a group if we want to later add book level informations.integer
SubjectCategories classification of the citationScienceCitationUnionCatalogCreate UnionCatalog as a group if we want to later add book level informations.list(String)
UrlUnionCatalog url to display to usersScienceCitationUnionCatalogCreate UnionCatalog as a group if we want to later add book level informations.String
HtmlTitleFpFingerprint of the html title of the page. This is useful for checking if we have the same version of the page as websearch.ScienceIndexSignalString
IndexSelectionScoreIndex selection score for websearch, bigger is better: (0.5,1.0] – prefer selection into the base index, (0.0,0.5] – prefer selection into the supplemental index.ScienceIndexSignalnumber
NumBackwardLinksSummary statistics.ScienceIndexSignalinteger
NumRelatedScienceIndexSignalinteger
NumVersionsScienceIndexSignalinteger
PublicationDayScienceIndexSignalinteger
PublicationMonthScienceIndexSignalinteger
PublicationYearPublication date.ScienceIndexSignalinteger
RemoveLinkRemove this URL from the index – error page, broken landing page, etc. DEPRECATED, was never used or even filled correctly.ScienceIndexSignalboolean
ScholarIdFor links from websearch to scholar.ScienceIndexSignalString
TitleTitle of the article. Its only filled in when the html title of the page isn’t good.ScienceIndexSignalString
VisiblePrefixTermsLength of document prefix that most users are likely to see. Only filled in when we index subscription fulltext but most users see abstracts. This is a conservative guesstimate – e.g., ACM shows fulltext to university/company subscribers (including Google employees) based on user’s IP address, but we don’t know subscriber IPs, so ACM’s PDF pages would have ~500 in this field (estimated length of abstract).ScienceIndexSignalinteger
authorScienceIndexSignallist(ScienceIndexSignalAuthor)
LastNameScienceIndexSignalAuthorString
OtherNamesScienceIndexSignalAuthorString
countryviewScienceOceanViewDescribes the viewability of ocean content.list(ScienceOceanViewCountryView)
CountryCodeNo CountryCode means default viewability. two letter codeScienceOceanViewCountryViewString
ViewTypeenum in ocean::LocaleViewability::ViewTypeScienceOceanViewCountryViewinteger
compressedEmbeddingsSdrEmbeddingQualityRankembedMustangMustangRankEmbedInfo
valuesSdrEmbeddinglist(number)
versionSdrEmbeddinginteger
articlenessSdrPageAnchorsDocInfonumber
pageAnchorsSdrPageAnchorsDocInfolist(SdrPageAnchorsSitelink)
qscoreSdrPageAnchorsDocInfonumber
sitelinkWrapperSdrPageAnchorsDocInfolist(SdrPageAnchorsSitelinkWrapper)
textRichnessSdrPageAnchorsDocInfonumber
embeddingNeeded for relevance scoring.SdrPageAnchorsSitelinkSdrEmbedding
geometryScoreaggregate score from Section Geometry.SdrPageAnchorsSitelinknumber
headingAbbrvScoreHeading Abbreviation score.SdrPageAnchorsSitelinknumber
hpScoreNeeded for heading/passage filtering.SdrPageAnchorsSitelinknumber
levelSdrPageAnchorsSitelinkinteger
scrollToSdrPageAnchorsSitelinkSdrScrollTo
sectionHeightNeeded for Geometry Scoring and backoffs. from Section Geometry.SdrPageAnchorsSitelinkinteger
textHeading/Reformulated text is needed to display.SdrPageAnchorsSitelinkString
abbreviatedHeadingTextSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.String
abbrvEmbeddingSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.SdrEmbedding
headingEmbeddingSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.SdrEmbedding
normalizedHeadingTextSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.String
passageEmbeddingSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.SdrEmbedding
passageTextSdrPageAnchorsSitelinkWrapperThis wrapper is used for passing in additional information to generate embeddings in Goldmine.String
onpageMatchesSdrScrollToData needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_endSdrScrollToOnPageMatches
prefixPrefix to help with disambiguating between multiple text matches on page. Optional.SdrScrollToData needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_endString
suffixSuffix to help with disambiguating between multiple text matches on page. Optional.SdrScrollToData needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_endString
textEndEnd of the text span to be highlighted. Optional.SdrScrollToData needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_endString
textStartStart of the text span to be highlighted.SdrScrollToData needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_endString
textSdrScrollToOnPageMatchesNumber of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.integer
textWithPrefixSdrScrollToOnPageMatchesNumber of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.integer
textWithPrefixSuffixSdrScrollToOnPageMatchesNumber of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.integer
textWithSuffixSdrScrollToOnPageMatchesNumber of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.integer
accountProvenancePropagated from knowledge.answers.sensitivity.Sensitivity account_provenance. Any ambiguity between the data here and dasher_user should be resolved by the conversion to pToken in http://source/search?q=symbol:CreatePTokenFromSensitivitySearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).list(QualityQrewriteAccountProvenance)
attentionalEntitySearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityAttentionalEntity
dasherUserTrue iff the query is from a Dasher user.SearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).boolean
followonSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityFollowOn
groundingProviderSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityGroundingProvider
prefilterSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityPrefilter
quSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityQueryUnderstanding
sensitivityModeKey of a sensitivity.SearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).String
syntheticIntentSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivitySyntheticIntent
winningFulfillmentSearchPolicyRankableSensitivityEncapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).SearchPolicyRankableSensitivityFulfillment
aeOriginSearchPolicyRankableSensitivityAttentionalEntityAttentional entities (AE) can be pulled from arguments of interpretations, entities annotated by Aqua or QRef annotators, and entities mentioned in Assistant’s response and annotated by the fulfillment logic (see https://g3doc.corp.google.com/quality/dialog_manager/attentional_entities/g3doc/overview.md#overview). Sensitivity of AEs can be marked by (1) feature developers in a Monastery frame, (2) code to infer the sensitivity from Argument provenance, and (3) entity annotators, such as Aqua annotator and QRef annotator. See go/sensitive-ae.String
blockNonV2SearchBackendsShould e2e search candidates running in parallel with QU (eg. GBot) be blocked.SearchPolicyRankableSensitivityFollowOnSensitivity is marked at end of the last turn. See go/followon-sensitivity for more details.boolean
ignoreQueryUnderstandingIff true this follow-on sensitivity will rank above the ones determined by query understanding (QU).SearchPolicyRankableSensitivityFollowOnSensitivity is marked at end of the last turn. See go/followon-sensitivity for more details.boolean
propagateOnlySearchPolicyRankableSensitivityPrefilterDeprecated, do not use.boolean
intentOnlyNoPiiQU dectects a sensitive intent with no sensitive content (eg., [Send email]). This flag is only used to trigger a sensitive feature because as a precaution all sensitive features should check current sensitivity mode before triggering; but will NOT block any backends, which means all other features can compete fairly.SearchPolicyRankableSensitivityQueryUnderstandingSensitivity is produced by QU.boolean
rewrittenQueryThe rewritten query this sensitivity is for. Note different query rewrites could produce different sensitivities.SearchPolicyRankableSensitivityQueryUnderstandingSensitivity is produced by QU.String
tokenHmacSha1PrefixThe hash of the corresponding capability token. The value is defined to be identical to the one in acl.proto’s CapTokenMetadata: 10-byte prefix of HMAC-SHA1 of the token. The HMAC key is the following fixed (non-secret) 512-bit value: 79b1c8f4 82baf523 b8a9ab4a e960f438 c45be041 11f1f222 e8a3f64d aeb05e3d c3576acc ec649194 aede422c 4e48e0d1 ff21234a a6ed6b49 a7fa592e efd7bba3SecurityCredentialsCapTokenHolderProtoRepresents a principal which possesses a particular secret string whose cryptographic hash is specified here. CapTokens (“Capability Tokens”) are used in ACLProto. It’s expected that ACLs with CapTokenHolders will strongly enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.String
chatIdChat IDs consist of alphanumeric characters and colons. Currently required.SecurityCredentialsChatProtoRepresents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.String
memberTypeThe type of Chat members to consider, e.g. “all members” vs. “invitee” These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See chat.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with chat. Currently required.SecurityCredentialsChatProtoRepresents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.integer
circleIdCircle ID is unique only relative to the owner’s Gaia ID. Currently required.SecurityCredentialsCircleProtoRepresents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete — e.g., Keystore does not support it yet (see b/5703421).String
ownerGaiaIdThe owner of the circle. Currently required.SecurityCredentialsCircleProtoRepresents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete — e.g., Keystore does not support it yet (see b/5703421).String
requiredConsistencyTimestampUsecIf present, then tests for membership in this circle must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this circle supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.SecurityCredentialsCircleProtoRepresents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete — e.g., Keystore does not support it yet (see b/5703421).String
idFormat: “{identity-pool}:{subject}#” Details: go/cloud-principal-identifiersSecurityCredentialsCloudPrincipalProtoPrincipal associated with a Cloud Principal representing third party user.String
groupIdGroup ID is unique only relative to the owner’s Gaia ID.SecurityCredentialsContactGroupProtoA group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.String
ownerGaiaIdSecurityCredentialsContactGroupProtoA group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.String
requiredConsistencyTimestampUsecIf present, then tests for membership in this ContactGroup must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this group supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.SecurityCredentialsContactGroupProtoA group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.String
emailSecurityCredentialsEmailOwnerProtoRepresents a verified owner of the given email address. Note that a single address may have many owners, and a single user may own many addresses. (All lower-case, in display form — see com.google.gaia.client.GaiaEmail)String
eventIdEvent IDs consist of alphanumeric characters and colons. Currently required.SecurityCredentialsEventProtoRepresents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).String
memberTypeThe type of Event members to consider, e.g. “all members” vs. “owners” vs. “admins”. These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See event.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with event. Currently required.SecurityCredentialsEventProtoRepresents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).integer
groupIdSecurityCredentialsGaiaGroupProtoString
userIdSecurityCredentialsGaiaUserProtoA Gaia account, which may represent a user, device, service account, etc. For prod (@prod.google.com) accounts, use MdbUserProto instead.String
hostNameLower-case, fully qualified hostname.SecurityCredentialsHostProtoRepresents a single host. Optionally, the MDB owner of the host can be specified.String
hostOwnerIf present, then any checks that compare this Principal to LOAS peer info must confirm the peer’s machine owner is equal to ‘host_owner’. If absent, then any peer machine owner is acceptable.SecurityCredentialsHostProtoRepresents a single host. Optionally, the MDB owner of the host can be specified.String
groupNameSecurityCredentialsLdapGroupProtoString
userNameSecurityCredentialsLdapUserProtoString
groupNameSecurityCredentialsMdbGroupProtoAn entity from the MDB namespace that is to be interpreted as a group. If using this for authorization, you should do an exact match of the peer role against group_name or any of the names in the Chubby expansion of the MDB group named group_name.String
gaiaIdDo not set this field. Contact credentials-eng@ if you believe you absolutely need to use it. This is the @prod.google.com Gaia ID that corresponds to the MDB user, see go/authn-merge for details. This field may always be safely ignored when performing an authorization check.SecurityCredentialsMdbUserProtoAn entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.String
userNameSecurityCredentialsMdbUserProtoAn entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.String
domainSecurityCredentialsOAuthConsumerProtoRepresents an OAuth consumer, a/k/a AuthSub target. These principals are identified by domain name (e.g., example.com). Historically, Dasher domain GAIA group IDs have been used instead, but that doesn’t work: http://go/tricky-gaia-idsString
postiniUserIdSecurityCredentialsPostiniUserProtoSee http://s/?fileprint=//depot/google3/security/authentication/postini/auth_token.protoString
allAuthenticatedUsersscope = ALL_AUTHENTICATED_USERSSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsAllAuthenticatedUsersProto
capTokenHolderscope = CAP_TOKEN_HOLDERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsCapTokenHolderProto
chatscope = CHATSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsChatProto
circlescope = CIRCLESecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsCircleProto
cloudPrincipalscope = CLOUD_PRINCIPALSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsCloudPrincipalProto
contactGroupscope = CONTACT_GROUPSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsContactGroupProto
emailOwnerscope = EMAIL_OWNERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsEmailOwnerProto
eventscope = EVENTSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsEventProto
gaiaGroupscope = GAIA_GROUPSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsGaiaGroupProto
gaiaUserscope = GAIA_USERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsGaiaUserProto
hostscope = HOSTSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsHostProto
ldapGroupscope = LDAP_GROUPSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsLdapGroupProto
ldapUserscope = LDAP_USERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsLdapUserProto
mdbGroupscope = MDB_GROUPSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsMdbGroupProto
mdbUserscope = MDB_USERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsMdbUserProto
oauthConsumerscope = OAUTH_CONSUMER;SecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsOAuthConsumerProto
postiniUserscope = POSTINI_USERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsPostiniUserProto
rbacRolescope = RBAC_ROLESecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsRbacRoleProto
rbacSubjectscope = RBAC_SUBJECTSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsRbacSubjectProto
resourceRolescope = RESOURCE_ROLESecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsResourceRoleProto
scopeThis is only optional because required enums cannot be extended. Currently required.SecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeString
signingKeyPossessorscope = SIGNING_KEY_POSSESSORSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsSigningKeyPossessorProto
simpleSecretHolderscope = SIMPLE_SECRET_HOLDERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsSimpleSecretHolderProto
socialGraphNodescope = SOCIAL_GRAPH_NODESecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsSocialGraphNodeProto
squarescope = SQUARESecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsSquareProto
youtubeUserscope = YOUTUBE_USERSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsYoutubeUserProto
zwiebackSessionscope = ZWIEBACK_SESSIONSecurityCredentialsPrincipalProtoA Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChangeSecurityCredentialsZwiebackSessionProto
nameSecurityCredentialsRbacRoleProtoPrincipal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).String
objectIdSecurityCredentialsRbacRoleProtoPrincipal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).String
rbacNamespaceDEPRECATED as of 01.11.2019SecurityCredentialsRbacRoleProtoPrincipal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).String
rbacRoleNameFormat: “role/z?” – “role” is the Sphinx globally unique name of the Sphinx role that provisions the RBAC role. – “/z?” suffix indicates which Zanzibar environment stores the role membership data (“/zd”: dev, “/zs”: staging, “/zp”: prod, “/zt”: local test instance). Example: “mysystem_myrole/zp”SecurityCredentialsRbacRoleProtoPrincipal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).String
usernameFormat “username” without “@domain”, e.g., “bogdand”.SecurityCredentialsRbacSubjectProtoPrincipal associated with a given RBAC subject. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).String
applicationIdSecurityCredentialsResourceRoleProtoA type of sharing target that points to some resource’s ACL. Used to refer to the set of Principals that have the given privilege (‘role_id’) for the given resource (‘application_id’, ‘object_id’, ‘object_part’). The meaning of ‘role_id’ is interpreted only by implementations of AclRpcService and is usually dependent on ‘application_id’ All fields except object_part are required. If present, object_part must be non-empty.String
objectIdSecurityCredentialsResourceRoleProtoA type of sharing target that points to some resource’s ACL. Used to refer to the set of Principals that have the given privilege (‘role_id’) for the given resource (‘application_id’, ‘object_id’, ‘object_part’). The meaning of ‘role_id’ is interpreted only by implementations of AclRpcService and is usually dependent on ‘application_id’ All fields except object_part are required. If present, object_part must be non-empty.String
objectPartSecurityCredentialsResourceRoleProtoA type of sharing target that points to some resource’s ACL. Used to refer to the set of Principals that have the given privilege (‘role_id’) for the given resource (‘application_id’, ‘object_id’, ‘object_part’). The meaning of ‘role_id’ is interpreted only by implementations of AclRpcService and is usually dependent on ‘application_id’ All fields except object_part are required. If present, object_part must be non-empty.String
roleIdSecurityCredentialsResourceRoleProtoA type of sharing target that points to some resource’s ACL. Used to refer to the set of Principals that have the given privilege (‘role_id’) for the given resource (‘application_id’, ‘object_id’, ‘object_part’). The meaning of ‘role_id’ is interpreted only by implementations of AclRpcService and is usually dependent on ‘application_id’ All fields except object_part are required. If present, object_part must be non-empty.integer
keymasterKeyTypeThis value must be from the KeyMetadata.Type enum in keymaster.proto.SecurityCredentialsSigningKeyPossessorProtoRepresents a principal who possesses a signing key corresponding to the verification key or keyset described here.integer
serializedVerificationKeyThe actual verification key bytes corresponding to the above type.SecurityCredentialsSigningKeyPossessorProtoRepresents a principal who possesses a signing key corresponding to the verification key or keyset described here.String
serializedVerificationKeysetThe binary serialized Keymaster SerializedReader of a public keyset. The keyset must contain exactly one key. N.B.: If this field is populated, serialized_verification_key should be set to the empty string and keymaster_key_type should be set to zero.SecurityCredentialsSigningKeyPossessorProtoRepresents a principal who possesses a signing key corresponding to the verification key or keyset described here.String
labelA descriptive label to help identify a relevant ACL entry or otherwise disambiguate this instance.SecurityCredentialsSimpleSecretHolderProtoRepresents a principal which possesses a particular, presumably secret, string. Useful for things like “auth keys,” used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it’s best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka “attribute”, is presented). All that’s stored here is an identifying label.SecurityCredentialsSimpleSecretLabelProto
capabilityId***DEPRECATED (3-Oct-2011) *** This field should be deleted when code stops using CAP_TOKEN labels. Used when type = CAP_TOKEN. When a CAP_TOKEN label appears in a SimpleSecretHolder Principal, |capability_id| must be filled in to identify one of the capabilities on the ACL. When a CAP_TOKEN label appears in a SimpleSecret Authenticator, it is NOT necessary to fill in |capability_id| — ACL Service will find the ID by searching all capabilities on the ACL for one associated with the token given by the SimpleSecret’s secret data. If |capability_id| is specified, though, then the Authenticator will only be accepted if it actually matches that particular token ID.SecurityCredentialsSimpleSecretLabelProtoSimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a “label”, which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one “auth key”. Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.integer
genericLabelUsed when type = GENERIC_SECRETSecurityCredentialsSimpleSecretLabelProtoSimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a “label”, which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one “auth key”. Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.String
inviteIdUsed when type == INVITE.SecurityCredentialsSimpleSecretLabelProtoSimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a “label”, which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one “auth key”. Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.String
typeThis is optional because required enums cannot be extended.SecurityCredentialsSimpleSecretLabelProtoSimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a “label”, which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one “auth key”. Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.String
sgnDomainThe fields from ccc/socialgraph/socialgraphnode.proto:SgnNode that uniquely identify a social graph node. The ‘ident’ field is not included here because its value can be changed.SecurityCredentialsSocialGraphNodeProtoRepresents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.String
sgnPkSecurityCredentialsSocialGraphNodeProtoRepresents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.String
memberTypeThe type of Square members to consider, e.g. “all members” vs. “owners” vs. “admins”. These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See square.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with square. Currently required.SecurityCredentialsSquareProtoRepresents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete — e.g., Keystore does not support it yet (see b/5703421).integer
squareIdCurrently required.SecurityCredentialsSquareProtoRepresents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete — e.g., Keystore does not support it yet (see b/5703421).String
youtubeUserIdSecurityCredentialsYoutubeUserProtoString
zwiebackSessionIdSecurityCredentialsZwiebackSessionProtoSee go/zwieback. New uses of Zwieback sessions must be approved via go/zwieback-request.String
infoUsed for application-specific information about the whole set of SentenceBoundaryAnnotations. Example: SAFT Team uses this to store an nlp_saft.Document proto giving any processing errors encountered.SentenceBoundaryAnnotationsSentence boundaries.Proto2BridgeMessageSet
instanceSentenceBoundaryAnnotationsSentence boundaries.list(SentenceBoundaryAnnotationsInstance)
beginSentenceBoundaryAnnotationsInstanceinteger
cleanTextA clean version of .text() generated by using CleanText() and stripping unnecessary whitespace.SentenceBoundaryAnnotationsInstanceString
contextPlain text context from the page within which the annotation occurred.SentenceBoundaryAnnotationsInstanceString
contextBeginByte offsets for the clean text context above.SentenceBoundaryAnnotationsInstanceinteger
contextEndSentenceBoundaryAnnotationsInstanceinteger
endSentenceBoundaryAnnotationsInstanceinteger
infoUsed for application-specific information about this annotation.SentenceBoundaryAnnotationsInstanceProto2BridgeMessageSet
textOriginal UTF-8 document text occurring in the range [begin, end).SentenceBoundaryAnnotationsInstanceString
toIndexUsed to mark the annotations selected to be indexed.SentenceBoundaryAnnotationsInstanceboolean
polarityPolarity represents the sentiment towards the subject.SentimentSentimentThis proto contains the sentiment and emotions that the user is exhibiting at the time of the query. NEXT ID: 4String
userBehaviorsSentimentSentimentThis proto contains the sentiment and emotions that the user is exhibiting at the time of the query. NEXT ID: 4SentimentSentimentBehaviors
userEmotionsThe emotions that the user is feeling.SentimentSentimentThis proto contains the sentiment and emotions that the user is exhibiting at the time of the query. NEXT ID: 4SentimentSentimentEmotions
politenessThe degree to which the user is showing politeness.SentimentSentimentBehaviorsThe set of behavior signals that the user is expressing/demonstrating that is detected by the sentiment analysis. These signals are used to help assistant determine the proper response behavior. NEXT ID = 2number
angerSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
disgustSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
fearSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
happinessSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
sadnessSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
surpriseSentimentSentimentEmotionsBasic emotions. NEXT ID: 7integer
numShinglesTotal number of shingles in the document.ShingleInfoPerDocDataThis message represents shingle-related information obtained from a document.integer
sourceA list of all sources.ShingleInfoPerDocDataThis message represents shingle-related information obtained from a document.list(ShingleSource)
idHash-value of the URL.ShingleSourceThis message represents a source of shingles. Used by ShingleInfoPerDocData.integer
numShinglesNumber of shingles originating from this source.ShingleSourceThis message represents a source of shingles. Used by ShingleInfoPerDocData.integer
timestampFirst-seen timestamp of the source.ShingleSourceThis message represents a source of shingles. Used by ShingleInfoPerDocData.integer
inferredImageIdShoppingWebentityShoppingAnnotationInferredImageImages inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.String
inferredImageSourceShoppingWebentityShoppingAnnotationInferredImageImages inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.String
inferredImageTypeShoppingWebentityShoppingAnnotationInferredImageImages inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.String
neardupInfoThis field will only be populated if the inferred image is a neardup of an inferred image. It stores the type and source of the images it is a neardup of.ShoppingWebentityShoppingAnnotationInferredImageImages inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.list(ShoppingWebentityShoppingAnnotationInferredImageNeardupInfo)
inferredImageSourceShoppingWebentityShoppingAnnotationInferredImageNeardupInfoString
inferredImageTypeShoppingWebentityShoppingAnnotationInferredImageNeardupInfoString
availabilityShoppingWebentityShoppingAnnotationOfferAvailabilityInfoString
imageDocidShoppingWebentityShoppingAnnotationProductImageImages from the product-level representation (i.e. GPC). These images are currently only annotated 1) when no offers are available 2) on the product levelString
productImageTypeShoppingWebentityShoppingAnnotationProductImageImages from the product-level representation (i.e. GPC). These images are currently only annotated 1) when no offers are available 2) on the product levelString
countNumber of ratings/reviews aggregated to create this product rating. If there are no ratings yet, this field will be explicitly set to zero, so whether this field is set should be checked using has_count.ShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7String
maxValueMillisShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7String
minValueMillisThe lower and upper bounds of the rating values that could be submitted for the product. (Note that it is not the min/max ratings submitted for the product, it is the min/max that can hypothetically be submitted.)ShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7String
sourceShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7String
valueThe value of this rating normalized between 0 and 5. This will not be set if count is set to 0.ShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7float
valueMillisThe non-normalized aggregated value of the ratings for this product.ShoppingWebentityShoppingAnnotationProductRatingInformation about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7String
f1CommitTimestampMicrosShoppingWebentityShoppingAnnotationSoriVersionIdVersioning Information used for Logging Purposes. See go/sori-logjoining.String
opaqueSoriIdShoppingWebentityShoppingAnnotationSoriVersionIdVersioning Information used for Logging Purposes. See go/sori-logjoining.AdsShoppingReportingOffersSerializedSoriId
DEPRECATEDSourceTitleDEPRECATED DEPRECATED DEPRECATED In case you didn’t realize, these fields are (and have been for some time) deprecated. We’ll stop pushing their data to production soon (probably Feb/09) and after a few weeks we’ll probably remove them.SitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.String
TargetGroupsOne Sitemap can contain multiple TargetGroups, but only one of them will be displayed to the user – this decision will be made at displaying time and can take into account various factors, such as the users’ language and country, currently running experiments, etc.SitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.list(QualitySitemapTargetGroup)
deprecatedTargetSitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.list(SitemapDEPRECATED_Target)
pageAnchorsDocInfoThis field is populated in the Sitemap MDU subpopulator from cdoc data. This is used to store page anchors information for TopicTagsScrolltoFlow.SitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.SdrPageAnchorsDocInfo
searchInSiteEnable site search.SitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.boolean
sitemapTypeSitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.String
sourceOrgfpprevents cross-domain forwardingSitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.String
sourceUrlSitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.String
subresultListThis field is populated in the Sitemap MDU subpopulator from cdoc data. It’s not set in the cdoc Sitemap.SitemapNote: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.QualitySitemapSubresultList
DEPRECATEDAnchorSitemapDEPRECATED_TargetString
DEPRECATEDRunningAnchorSitemapDEPRECATED_Targetboolean
DEPRECATEDTitleSitemapDEPRECATED_TargetString
displaytitleSitemapDEPRECATED_TargetString
scoreoptional, exclude to save spaceSitemapDEPRECATED_Targetinteger
urlSitemapDEPRECATED_TargetString
DEPRECATEDDesktopCanonicalDocidIf set, this page is a smartphone dup, a page serving equivalent contents as another URL (desktop canonical), but in smartphone-optimized style. This field holds the docid of the desktop canonical.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.String
DEPRECATEDMobileHomepageDocidMobile URL for homepages, predicted by the URL rewrite rules. See go/mobile-homepage-prediction.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.String
adsDensityInterstitialViolationStrengthIndicates if the page is violating mobile ads density interstitial policy and the violation strength. See go/interstitials-for-ads and http://ariane/268642 for details. To save indexing space, we convert the double values in [0.0, 1.0] to intergers in range [0, 1000] by using floor(value * 1000).SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.integer
isErrorPageIndicates if the page serves error to smartphone crawler. go/ramsey-sp404demotionSmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.boolean
isN1RedirectIndicates if the page has mobile N-1 redirection. go/ramsey-n1demotionSmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.boolean
isSmartphoneOptimizedIndicates if the page is rendered in a friendly manner on smartphones. We use this field as tri-state: “unset” means the rendering result classification is not available, and “set as false” means that the page is rendered in unfriendly manner on smartphones. See also go/modena-ranking.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.boolean
isWebErrorMobileContentIndicates if the current URL serves error page to desktop crawler and non error page to smartphone crawler.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.boolean
maximumFlashRatioThe ratio of the area of the largest Flash to the render area.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.float
violatesMobileInterstitialPolicyIndicates if the page is violating mobile interstitial policy and should be demoted. See go/interstitials-ranking-dd for details.SmartphonePerDocDataThis message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it’s for lowend mobile.boolean
imagesearchDocidSource imagesearch docidSmearedWebLandingPageEntryFor legacy purposes, cdocs contain a repeated list of *Entry, whereas it’s more convenient elsewhere to contain this information within its own protocol buffer.String
webDocidDocid of web landing pageSmearedWebLandingPageEntryFor legacy purposes, cdocs contain a repeated list of *Entry, whereas it’s more convenient elsewhere to contain this information within its own protocol buffer.String
heightSnapshotBoxA simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.integer
widthSnapshotBoxA simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.integer
xSnapshotBoxA simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.integer
ySnapshotBoxA simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.integer
boundingBoxSnapshotImageNodeSnapshotBox
isExternalAn image is considered external iff both: 1. The image appears in a link that is not in the same org as the document, or the target URL is in a different org. 2. The image src is not in the same org as the document.SnapshotImageNodeboolean
urlThe absolute url of the image as present in the page.SnapshotImageNodeString
imageNodeSnapshotSnapshotDocumentlist(SnapshotImageNode)
metaNoPreviewSnapshotSnapshotDocumentboolean
metaNoSnippetThese are set from tags in the web page:SnapshotSnapshotDocumentboolean
teradocIf this is present it supercedes all the above data.SnapshotSnapshotDocumentTeragoogleDocumentInfo
textNodeSnapshotSnapshotDocumentlist(SnapshotTextNode)
titleSnapshotSnapshotDocumentString
countDistinctResourcesThe number of distinct resources fetched to render the content. This may aid the calculation of total page load time for user experience. For example, if total_content_length is only a few dozen kilobytes, but that is from fetching 100 distinct resources, total page load time might be much higher than the total_content_length would otherwise infer.SnapshotSnapshotMetadatainteger
crawlTimestampThe time at which the main resource of the Snapshot was fetched, in seconds since epoch. Note that the various page dependencies may have been fetched at much earlier points in time (hours, maybe days) and that this could be off from the actual rendering time.SnapshotSnapshotMetadataString
snapshotDocumentSnapshotSnapshotMetadataSnapshotSnapshotDocument
snapshotQualityScoreThe score here corresponds to the score in Snapshot, a number between 0.0 and 1.0 (higher the better).SnapshotSnapshotMetadatanumber
totalContentSizeNumber of bytes fetched to render the content. For example, to render a web page, this value would include the HTML, stylesheets, images, and all other dependencies. This can be used to calculate a coarse estimate of the total page load time a user might experience.SnapshotSnapshotMetadataString
boundingBoxSnapshotTextNodeThe SnapshotDocument contains a list of TextNode’s. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.ccSnapshotBox
fontSizeSnapshotTextNodeThe SnapshotDocument contains a list of TextNode’s. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.ccnumber
inLinkOne if the current text node is within a link; otherwise zero/not present.SnapshotTextNodeThe SnapshotDocument contains a list of TextNode’s. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.ccinteger
maxSplitA value in the range [0,7] (zero if not present) indicating the most “powerful” splitting tag since the last text node. See “enum Category” in mustang/snippets/taginfo.h.SnapshotTextNodeThe SnapshotDocument contains a list of TextNode’s. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.ccinteger
textSnapshotTextNodeThe SnapshotDocument contains a list of TextNode’s. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.ccString
candidateInfoCandidates are ordered by their id.SnippetExtraInfolist(SnippetExtraInfoSnippetCandidateInfo)
containUserQuotesIndicates that the snippet candidates all contain uesr quotes.SnippetExtraInfoboolean
containVulgarCandidatesIndicates if there are any vulgar snippet candidates.SnippetExtraInfoboolean
disableNg3ScoringIndicates that SR side should disable the ng3 scoring and soly rely on the SnippetBrain scoring for selecting the final candidate. E.g. this can happen when the offline snippet generation routine is triggered.SnippetExtraInfoboolean
disableQueryFeaturesIndicates whether the query relevance features is disabled or not in Muppet scoring.SnippetExtraInfoboolean
forceLeadingTextOrMetaIndicates to not add any new candidates in SnippetFlow.SnippetExtraInfoboolean
snippetBrainSelectedCandidateIndexSnippet candidate index selected by snippet brain model. This field will get populated in SnippetFlow in superroot. go/snippets-brainSnippetExtraInfointeger
snippetsbrainModelInfoSnippetsBrain model information for snippets popup debug.SnippetExtraInfoSnippetExtraInfoSnippetsBrainModelInfo
boldedRangesBolded ranges in the printed snippet lines.SnippetExtraInfoSnippetCandidateInfoNext ID: 15list(QualitySnippetsTruncationSnippetBoldedRange)
extendedSnippetSnippetExtraInfoSnippetCandidateInfoNext ID: 15SnippetExtraInfoSnippetCandidateInfoExtendedSnippet
idCandidate identifier number, unique among all snippet candidates under each document in each request. What does this number mean: – Muppet candidates: This equals to the candidate’s rank by Muppet snippets scorer. – Superroot candidates: No specific meaning, this number should be larger than that of Muppet candidates. This field is used to: – Verify whether snippet brain chooses a different snippet from Muppet (the one chosen by Muppet is always in id 0). – Print debugging information and sort candidates in debug output.SnippetExtraInfoSnippetCandidateInfoNext ID: 15integer
isMuppetSelectedSnippetIf this snippet is chosen by Muppet.SnippetExtraInfoSnippetCandidateInfoNext ID: 15boolean
isSnippetBrainBoldingTriggeredIf SnippetsBrain bolding model triggered and a bolding span is generated.SnippetExtraInfoSnippetCandidateInfoNext ID: 15boolean
listInfoList information for this candidate, only populated for RADISH_LIST snippets.SnippetExtraInfoSnippetCandidateInfoNext ID: 15MustangReposWwwSnippetsOrganicListSnippetResponse
scoringInfoSnippetExtraInfoSnippetCandidateInfoNext ID: 15SnippetExtraInfoSnippetScoringInfo
sentenceStartsSentence starting positions in the printed snippet lines.SnippetExtraInfoSnippetCandidateInfoNext ID: 15list(QualitySnippetsTruncationSnippetBoldedRangePosition)
snippetMuppet fills snippet lines in `snippet` field.SnippetExtraInfoSnippetCandidateInfoNext ID: 15list(String)
snippetText`snippet_text` will be filled by snippet brain flow in SR for model scoring and debugging purpose.SnippetExtraInfoSnippetCandidateInfoNext ID: 15String
snippetTypeSnippetExtraInfoSnippetCandidateInfoNext ID: 15String
numCharsSnippetExtraInfoSnippetCandidateInfoExtendedSnippetThe extended version of this snippet.integer
snippetTextSnippetExtraInfoSnippetCandidateInfoExtendedSnippetThe extended version of this snippet.String
ng3ModelNameSnippetExtraInfoSnippetsBrainModelInfoLog model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.String
snippetsbrainModelNameThe below fields are populated by SnippetFlow in superroot.SnippetExtraInfoSnippetsBrainModelInfoLog model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.String
snippetsbrainModelPartitionSnippetExtraInfoSnippetsBrainModelInfoLog model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.String
snippetsbrainTokenizerTypeSnippetExtraInfoSnippetsBrainModelInfoLog model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.String
brainNg3ScoreSnippetExtraInfoSnippetScoringInfoNext ID: 9number
brainScoreThe below fields are populated by SnippetFlow in superroot. Score generated from snippet brain model. go/snippets-brainSnippetExtraInfoSnippetScoringInfoNext ID: 9number
featuresSnippets ranklab features generated by scorer V2.SnippetExtraInfoSnippetScoringInfoNext ID: 9QualityPreviewRanklabSnippet
finalScoreFinal snippet score by chooser.SnippetExtraInfoSnippetScoringInfoNext ID: 9number
rankBySnippetFlowFinal rank given by SnippetFlow.SnippetExtraInfoSnippetScoringInfoNext ID: 9integer
pieceSnippetsLeadingtextLeadingTextAnnotationLeading text which may consist of multiple pieces.list(SnippetsLeadingtextLeadingTextAnnotationPiece)
pieceTypeSnippetsLeadingtextLeadingTextAnnotationLeading text which may consist of multiple pieces.String
typeType of this leading text. Should be an enum of LeadingTextInfo.LeadingTextTypeSnippetsLeadingtextLeadingTextAnnotationLeading text which may consist of multiple pieces.integer
beginA piece of leading text is text within [begin, end). For example, a document is “ABCDEF”. If we want to set leading text as ‘CD’, the value of begin is byte offset of ‘C’, the value of end is byte offset of ‘E’. end == -1 means to the end of document.SnippetsLeadingtextLeadingTextAnnotationPieceinteger
beginTextUTF8 text, for alignment when using reusableinfo. Those text are not available in docjoins.SnippetsLeadingtextLeadingTextAnnotationPieceString
endSnippetsLeadingtextLeadingTextAnnotationPieceinteger
endTextSnippetsLeadingtextLeadingTextAnnotationPieceString
matchedPatternMatched dom path string for debugging.SnippetsLeadingtextLeadingTextAnnotationPieceString
beginPosLeading text start position, byte offset of page content. The offset is got in ParseMaster. So it is the offset after the content is converted to UTF8.SnippetsLeadingtextLeadingTextInfointeger
leadingtextNote: You can also use it to save multiple leading text candidates.SnippetsLeadingtextLeadingTextInfolist(SnippetsLeadingtextLeadingTextAnnotation)
textUTF8 text, for alignment when using reusableinfo. The text is not available in docjoins.SnippetsLeadingtextLeadingTextInfoString
typeType of leading text which is optimized for this type of document.SnippetsLeadingtextLeadingTextInfoString
embedItemAn embed represents an external entity. See go/es-embeds.SocialCommonAttachmentAttachmentAn Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.EmbedsEmbedClientItem
idAn id to uniquely identify an attachment when several attachments are in a collection.SocialCommonAttachmentAttachmentAn Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.String
boldSocialCommonFormattingFormatting information for a segment.boolean
highlightThis indicates that the segment should be rendered as highlighted or visually emphasized.SocialCommonFormattingFormatting information for a segment.boolean
italicsSocialCommonFormattingFormatting information for a segment.boolean
strikethroughSocialCommonFormattingFormatting information for a segment.boolean
styleIf set, this indicates that the segment should be rendered with the specified style. The absence of an explicit style represents “no style”, i.e. the segment can be rendered with the default style chosen by the application.SocialCommonFormattingFormatting information for a segment.String
underlineSocialCommonFormattingFormatting information for a segment.boolean
searchTextSocialCommonHashtagDataHashtag metadata, for HASHTAG segments. For a hashtag, the “text” field should contain the display text, and the search_text field should represent the topic being referenced, without the hash symbol; for example, we might have: text = “#Google” hashtag_data.search_text = “Google” Another example: text = “#pikachu” hashtag_data.search_text = “Pokemon” Both strings should be considered part of the searchable text. In go/sbe, both are indexed and searchable.String
attachmentAn Attachment represents the structured entity to which we are linking. It contains an Embed (apps/tacotown/proto/embeds/embed_client.proto) with fields specific to the appropriate type of linked entity. For example, if we are linking to a photo album, the Embed may include the album ID and gaia ID of the creator. Clients that understand the Embed type within the Attachment may construct and/or decorate their link appropriately e.g. to make use of type-specific functionality or first-party integrations. The link_target and (if appropriate) display_url fields must still be set even when an Attachment is present, so that clients who do not know how to interpret the Attachment can fall back to those fields, and render the Segment as an ordinary web link. N.B. Even when an Attachment is present, the intention of a “LINK” Segment is for the Segment to be presented inline with the rest of the text of a post or comment, with a clickable link or other UI suitable for inlining (though the client may modify the UI based on Attachment data, e.g. to add appropriate hovers, icons, etc.). When an entity is intended to be rendered separately from the main body of the post/comment, a separate Attachment proto can be added outside the set of Segments. N.B. Within the Attachment, fields of EmbedClientItem have their own visibility annotations, which should be enforced separately from Segment visibility annotations. See: apps/tacotown/proto/embeds/embed_annotations.protoSocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.SocialCommonAttachmentAttachment
attachmentRenderHintThe hint to use when rendering the associated attachment. Ignored if there is no associated attachment.SocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.String
displayUrlIf we wish to show the user a different (e.g. shortened) version of the URL for display purposes, then that version should be set here. If this field isn’t set, link_target will be used for both purposes.SocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.String
linkTargetlink_target is the URL to navigate to when clicked. This could be the original URL, or a URL signed by the GWS URL signing service.SocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.String
linkTypeLinkType is an optional field that provides additional information regarding link target. For example, link type can be identified as the SELF_LINK when the request was executed from the same link as the link target.SocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.String
titleTitle is an optional field that provides a short string that describes the link or its destination. User interfaces often use title as a tooltip or for accessibility purposes. However, they are of course free to present this data in any form. This field is plain text.SocialCommonLinkDataLink metadata, for LINK segments. Anchor text should be stored in the “text” field of the Segment, which can also serve as a fallback.String
kgEntityConfidenceFor lightweight scoring in serving time.SocialCommonSearchLinkDataSearchLink metadata, for SEARCH_LINK segments. For a search link, the “text” field should contain the display text. This is currently not indexed.number
midMID of the KG entity being linked.SocialCommonSearchLinkDataSearchLink metadata, for SEARCH_LINK segments. For a search link, the “text” field should contain the display text. This is currently not indexed.String
queryBroadnessScoreSocialCommonSearchLinkDataSearchLink metadata, for SEARCH_LINK segments. For a search link, the “text” field should contain the display text. This is currently not indexed.number
formattingFormatting to be applied when rendering the Segment. For all segment types, this is the standard way of representing that the Segment should be rendered in bold, italics, etc.SocialCommonSegmentSocialCommonFormatting
hashtagDataFor HASHTAG type:SocialCommonSegmentSocialCommonHashtagData
linkDataType-specific metadata. At most one of these should be populated, and the one that is populated should correspond to the type of the Segment. For LINK type:SocialCommonSegmentSocialCommonLinkData
searchLinkDataFor SEARCH_LINK type:SocialCommonSegmentSocialCommonSearchLinkData
textText content of the Segment. As a general rule, this field should contain the actual text that should be rendered in the UI. Thus, for a hashtag, it should be “#Foo”, and for a link, it should be the display text. Clients that do not understand a particular segment type may use this text, along with the Formatting info below, as a fallback for display. The field is not required — if all relevant information is carried in other metadata fields and there is no need for a fallback, or it is not practical for a fallback to be provided for any other reason, the field may be left blank. A standard example would be a user reference being transmitted between server layers, where a gaia-ID representation may be sufficient and there is no need for a textual fallback. In such a case, it would be valid and useful – though not required – for servers to compute and populate a fallback on the serving path.SocialCommonSegmentString
typeType of Segment.SocialCommonSegmentString
userMentionDataFor USER_MENTION type:SocialCommonSegmentSocialCommonUserMentionData
segmentsSocialCommonSegmentsSegments (go/social-segments) represent structured social content, e.g. the contents of a G+ stream post or chat message. A single post or message may consist of a sequence of segments, each representing a type of content, e.g. plain text, hash tag, mention, etc. Segments correspond approximately to units of content delimited by HTML tags, so that a piece of bolded text would be a distinct Segment, a link would be a distinct Segment, and so forth. A single Segment may have multiple such qualifiers; e.g. it may be a bold link; in this case, information about all such qualifiers will be encoded in the Segment proto.list(SocialCommonSegment)
emailSocialCommonUserMentionDataPerson metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations — that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.protoString
userIf the principal is backed by a gaia id, DO NOT use this field. Use user_gaia_id/user_id fields instead.SocialCommonUserMentionDataPerson metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations — that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.protoSecurityCredentialsPrincipalProto
userGaiaIdAn unobfuscated gaia ID:SocialCommonUserMentionDataPerson metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations — that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.protoString
userIdAn obfuscated gaia ID:SocialCommonUserMentionDataPerson metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations — that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.protoString
emailSocialDiscoveryExternalEntityKeyAn entity key with an obfuscated gaia id that can be used externally.String
phoneSocialDiscoveryExternalEntityKeyAn entity key with an obfuscated gaia id that can be used externally.String
profileIdObfuscated GAIA id.SocialDiscoveryExternalEntityKeyAn entity key with an obfuscated gaia id that can be used externally.String
dataSet of column-name and value for the given mimetype. The semantic meaning of the column values is mime-type specific. For example they may contain app_specific_endpoint_ids for WhatsApp. This is uploaded from CP2 http://go/cp2-data1 through http://go/cp2-data14.SocialGraphApiAppContactDataContains a mimetype supported by a third-party app together with additional ids and other data that the apps use to complete the action for the given mimetype. For example, an app_specific_endpoint_id that corresponds to a WhatsApp Profile. Full Design: go/3p-contact-upload LINT.IfChangelist(SocialGraphApiDataColumn)
mimetypeThe mimetype of the action defined by the third-party app.SocialGraphApiAppContactDataContains a mimetype supported by a third-party app together with additional ids and other data that the apps use to complete the action for the given mimetype. For example, an app_specific_endpoint_id that corresponds to a WhatsApp Profile. Full Design: go/3p-contact-upload LINT.IfChangeString
columnNameThe name of the column in CP2 for raw_contact_data.SocialGraphApiDataColumnLINT.IfChangeString
valueThe value of the data inside column.SocialGraphApiDataColumnLINT.IfChangeString
idThis string will represent either the device make and model in the case of FSA2, or the device model in the case of FSA1.SocialGraphApiProtoAndroidDeviceInfoString
birthdayDecorationVisibilitySocialGraphApiProtoBirthdayDecorationString
mutationContextSocialGraphApiProtoContactCreateContextThe ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact create was performed.SocialGraphApiProtoContactMutationContext
mutationContextThe general mutation context dataSocialGraphApiProtoContactDeletionContextThe ContactDeletionContext message is a wrapper around the generic ContactMutationContext data, and will include any needed delete specific data. NOTE: Before using this message please review go/people-api-contact-deletion-contextSocialGraphApiProtoContactMutationContext
mutationContextSocialGraphApiProtoContactEditContextThe ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact edit was performed.SocialGraphApiProtoContactMutationContext
androidDeviceInfoAndroid device info should always be set when using either ANDROID_FSA1 or ANDROID_FSA2 as the source of the delete.SocialGraphApiProtoContactMutationContextThis message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).SocialGraphApiProtoAndroidDeviceInfo
hostAppInfoHost app info should always be set when using CONTACTS_COMPANION as the source.SocialGraphApiProtoContactMutationContextThis message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).SocialGraphApiProtoHostAppInfo
sourceThe source of a mutate should provide all needed information a user should know, and should be enough information for the front end to generate a proper human readable string to describe the mutate to the user.SocialGraphApiProtoContactMutationContextThis message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).String
thirdPartyInfoThird party info should always be set when using THIRD_PARTY as the source.SocialGraphApiProtoContactMutationContextThis message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).SocialGraphApiProtoThirdPartyInfo
timestampTimestamp representing when the contact was mutated. This should not be set on write, as it is the job of focus backend to determine this timestamp. This field will be populated on read with the data written by FBS.SocialGraphApiProtoContactMutationContextThis message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).DateTime
contactActiveStateIndicates if any reminders are active for entire contact. This will affect both connection reminders and date reminders such as birthday reminders. This is required.SocialGraphApiProtoContactPromptSettingsString
deletionContextA trashed contact may have deletion context set, which indicates where and when the contact was trashed. Deletion context is cleared when the contact is untrashed.SocialGraphApiProtoContactStateContact state and related metadata. See go/fbs-contacts-trash.SocialGraphApiProtoContactDeletionContext
deletionStateSocialGraphApiProtoContactStateContact state and related metadata. See go/fbs-contacts-trash.String
overlaySettings that describe how the decoration should be overlaid on the photo.SocialGraphApiProtoDecorationOverlaySettings that control how a SIBS decoration overlay is displayed.SocialGraphApiProtoPhotoOverlay
sibsIdSIBS ID of the decoration that is overlaid on the photo.SocialGraphApiProtoDecorationOverlaySettings that control how a SIBS decoration overlay is displayed.String
idRequired. The id for a delegated group.SocialGraphApiProtoDelegatedGroupIdRepresents a delegated group id, delegated groups refer to groups that are owned by another gaiaId, but this user has access to.String
sourceSocialGraphApiProtoDisplayNameSourceString
hostAppNameThis string will represent the info for the host app to the Companion sidebarSocialGraphApiProtoHostAppInfoString
contentVersionIdentifies the most recent version of this photo. Use this as a FIFE param (ie -iv12) to prevent reads of a stale version.SocialGraphApiProtoImageReferenceA reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service.String
mediaIdUnique identifier for the photo. For now, this will always be a Photos Backend media key.SocialGraphApiProtoImageReferenceA reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service.String
partialNameOptionsRequired. Describes which shortening option the user implicitly chose for their limited profile. E.g., if ‘John Doe’ chose ‘John D.’, they implicitly chose: partial_name_options { given_name_spec { show_all: true } family_name_spec: { show_initial: true truncation_indicator: PERIOD } } While we’ll in all cases serve the actual name chosen by the user for limited profiles (stored below), we’ll use this information to recompute the default limited profile to be rendered to users when they change their core name.SocialGraphApiProtoLimitedProfileNameSettingsSocialGraphApiProtoPartialNameOptions
verbatimFullNameThe actual textual name that was chosen by the user in the UI. E.g., if ‘John Doe’ chose ‘John D.’, this holds ‘John D.’. While `partial_name_options` allows the limited profile name to be computed from the core name, the resulting shortened name might change across different versions of the name shortening logic, and we want to preserve the user’s choice verbatim whenever possible. This field will be cleared when the two conditions below are met: (1) A successful core name change is not accompanied by a limited profile settings update and (2) The shortened name computed from `partial_name_options` yields a different result than what is originally stored in `verbatim_full_name`. When this happens, the limited profile is effectively *disabled*. E.g., if ‘John Doe’ from the example above changes their name to ‘Jane Doe’ and no LimitedProfileSettings are provided, `Jane D.` is the resulting shortened name. Therefore `verbatim_full_name` will be cleared and the limited profile settings will be disabled. On the other hand, if they change their name to `John Dõe`, the resulting shortened name remains `John D.`, and `verbatim_full_name` is kept as is.SocialGraphApiProtoLimitedProfileNameSettingsString
profilePictureOptionSocialGraphApiProtoLimitedProfilePictureSettingsString
androidMessagesCreated with user input in Android Messages.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10boolean
disableReasonIndicates why the limited profile has been disabled. Will be set iff the limited profile is disabled. Note: When mutating limited profiles, in order to disable them, MutateDataRequest.DisableLimitedProfile must be true. Currently, disables are only performed server-side, so this is read-only for clients.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10String
gpayOobeCreated with user input in GPay OOBE. This is not currently used because GPay does not setup mini profile, this might change in the future.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10boolean
lastUpdateTimeTimestamp indicating when the settings were last stored. Read-only field.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10DateTime
legacyDiscoverabilityA user who had legacy discoverability had a Limited Profile autogenerated for them, either through a healer or in the live path in FBS.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10String
myAccountCreated with user input in MyAccount UI.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10boolean
nameSettingsRequired. Defines how the name should be formatted in the limited profile.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10SocialGraphApiProtoLimitedProfileNameSettings
profilePictureSettingsDEPRECATED. Profile picture choices are controlled through the ACL of the Photo field.SocialGraphApiProtoLimitedProfileSettingsNext ID: 10SocialGraphApiProtoLimitedProfilePictureSettings
monthDayAbsolute day of the month (if positive) or relative day from the end of the month (if negative). Example: 2nd and 20th of the month [2, 20]. Example: Last day of the month [-1]. Positive values should correspond to actual calendar day number (indexing starts at 1).SocialGraphApiProtoMonthlyDayRecurrencePattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. Absolute days of the month (i.e. the 1st and 15th) 2. Relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)list(integer)
useLastDayIfMonthDayPastEndIf true, month_day beyond the end of month (i.e. month_day=31 in February) will default to the last day of the month.SocialGraphApiProtoMonthlyDayRecurrencePattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. Absolute days of the month (i.e. the 1st and 15th) 2. Relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)boolean
monthlyDayRecurrenceSocialGraphApiProtoMonthlyRecurrenceA MONTHLY recurrence can be one of a MonthlyDayRecurrence or MonthlyWeekdayRecurrence but not both. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)SocialGraphApiProtoMonthlyDayRecurrence
monthlyWeekdayRecurrenceSocialGraphApiProtoMonthlyRecurrenceA MONTHLY recurrence can be one of a MonthlyDayRecurrence or MonthlyWeekdayRecurrence but not both. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)SocialGraphApiProtoMonthlyWeekdayRecurrence
weekDayThe nth occurrence of week_day to match. I.e. For 3rd Wednesday of the month, week_day = WEDNESDAY and week_day_number = 3. Values beyond the end of the month are skipped.SocialGraphApiProtoMonthlyWeekdayRecurrencePattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. The nth specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)String
weekDayNumberSocialGraphApiProtoMonthlyWeekdayRecurrencePattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. The nth specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)integer
audioSourceStored. Updated on pronunciation creates and updates.SocialGraphApiProtoNamePronunciationAudioMetadataMetadata for a user’s name pronunciation audio. Proto message is shared between merged_person and FBS.String
audioStateStored.SocialGraphApiProtoNamePronunciationAudioMetadataMetadata for a user’s name pronunciation audio. Proto message is shared between merged_person and FBS.String
daysBeforeActiveDatePositive number of days before active date. The value 0 will denote a notification on the same day.SocialGraphApiProtoNotificationTriggerUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)integer
notificationTimeOfDayTime of day that notification is sent to user. This is local to the user’s device.SocialGraphApiProtoNotificationTriggerUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)GoogleTypeTimeOfDay
languageIETF BCP-47 language code that should be used for localizing the name computation (go/bcp-47). If not provided, we’ll use the name origin detector to infer it. If unable to detect, “en” will be assumed.SocialGraphApiProtoPartialNameOptionsFor general information about Limited Profiles, see go/limited-profiles-api. LINT.IfChangeString
parsedDisplayNameSpecSocialGraphApiProtoPartialNameOptionsFor general information about Limited Profiles, see go/limited-profiles-api. LINT.IfChangeSocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpec
twoPartNameSpecSocialGraphApiProtoPartialNameOptionsFor general information about Limited Profiles, see go/limited-profiles-api. LINT.IfChangeSocialGraphApiProtoPartialNameOptionsTwoPartNameSpec
hideAllCompletely omit that part of the name.SocialGraphApiProtoPartialNameOptionsNamePartSpecSpecifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.boolean
showAllShow the complete name. Note that this does not express the same semantics as show_first_n_chars=length_of_name, because when regenerating a shortened name the new name could have more characters, thus yielding a different result.SocialGraphApiProtoPartialNameOptionsNamePartSpecSpecifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.boolean
showFirstNCharsShow first `n` characters. Same note about characters referring to “grapheme_clusters” applies.SocialGraphApiProtoPartialNameOptionsNamePartSpecSpecifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.integer
showInitialShow only the initial, i.e., a single character. Note that “character” refers to “user-perceived” characters, aka a “grapheme cluster”. See go/morphology for more details.SocialGraphApiProtoPartialNameOptionsNamePartSpecSpecifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.boolean
truncationIndicatorWhich truncation indicator to use after the shortened piece of the name. Will be ignored for the `hide_all` or `show_all` options.SocialGraphApiProtoPartialNameOptionsNamePartSpecSpecifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.String
allInitialsFromParsedNameExtract an initial from each parsed name. For example, “Niels Henrik David Bohr” yields “N. H. D. B.”. Other special cases are treated as follows:SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
firstInitialAndFirstLastNameShow the initial of the very first name and the first last name, e.g. “Hugo Daniel Hernandez Garcia” yields “H. Hernandez”.SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
firstInitialAndVeryLastNameShow the initial of the very first name and the very last name, e.g. “Ana Maria Silva” yields “A. Silva”.SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
knowledgeGraphNameShorteningShorten the display name using the Knowledge Graph name shortener (go/short-names).SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
truncationIndicatorWhich truncation indicator to use after each shortened part of the name. Will be ignored for the `knowledge_graph_name_shortening` option.SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8String
veryFirstNameAndAllInitialsShow the full very first name and all the other initials, e.g. “Ana Maria Silva” yields “Ana M. S.”.SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
veryFirstNameOnlyShow the very first name only, e.g. “Ana Maria Silva” yields “Ana”.SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpecThese options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: – Hyphenated names are broken down: “Angelina Jollie-Pit” is pre-processed as “Angelina Jollie Pitt”; – Prefixes are ignored: “Prof. Albus Dumbledore” is pre-processed as “Albus Dumbledore”; – Auxiliaries are ignored: “Luís de Camões” is pre-processed as “Luís Camões”. Next ID: 8boolean
familyNameSpecSocialGraphApiProtoPartialNameOptionsTwoPartNameSpecHolds the name specs for the two parts of a name, as they are structured in storage (given and family).SocialGraphApiProtoPartialNameOptionsNamePartSpec
givenNameSpecSocialGraphApiProtoPartialNameOptionsTwoPartNameSpecHolds the name specs for the two parts of a name, as they are structured in storage (given and family).SocialGraphApiProtoPartialNameOptionsNamePartSpec
relativePositionTop left position of the overlay relative to the user’s avatar.SocialGraphApiProtoPhotoOverlaySettings that control how a photo overlay is displayed.SocialGraphApiProtoRelativePosition
relativeScaleScale of the overlay relative to the user’s avatar.SocialGraphApiProtoPhotoOverlaySettings that control how a photo overlay is displayed.SocialGraphApiProtoRelativeScale
activeStateIndicates if this prompt is active regardless of its reccurrence date, dismiss date or notification triggers. This is required.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)String
contentSocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)SocialGraphApiProtoPromptContent
lastDismissDateThe most recent day the user dismissed this prompt. Empty means the user has never dismissed the prompt.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)GoogleTypeDate
notificationTriggersIf this is empty, only the “Prompt Spark” will be displayed (in the time-range read from per type config), no push notifications will be shown. If push notification are configured with this field, the “Prompt Spark” time-range will be determined by earliest notification value here.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)list(SocialGraphApiProtoNotificationTrigger)
purposeRead-only. This is derived from the containing field value.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)String
recurrenceHow frequently will this prompt occur and how many times.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)SocialGraphApiProtoRecurrence
uniquePromptIdPrompt ID is generated by server on initial mutate.SocialGraphApiProtoPromptUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService)String
titleTitle of prompt/spark being sent.SocialGraphApiProtoPromptContentUsed in PeopleAPI layers + FBS/ContactsService (not in ProfileService) and in Custard response to client apps that read Prompts.String
pronounEntrySocialGraphApiProtoPronounDataDesign doc: go/pronouns-backend Represents a user’s preferred pronouns.list(SocialGraphApiProtoPronounEntry)
languageCodeLocale option in which the pronouns were set, in the BCP-47 format. Set by the client at write time.SocialGraphApiProtoPronounEntryString
pronounTypeThe pronoun entry type that the user has selected. This indicates which locale-independent classification of pronoun was selected (or optionally, if it is a custom field).SocialGraphApiProtoPronounEntryString
valueThe user’s preferred pronouns. Eg. “they / them”. This is a human-readable string to be displayed as the user’s pronoun. Set at write-time, regardless of pronoun-type. Value is returned as it was set (no localization).SocialGraphApiProtoPronounEntryString
learningSessionIdAll pronunciations with the same learning_session_id were learnt in the same learning flow, e.g. multiple name segments learnt simultaneously from a recording in the Your People UI.SocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
learningSourceSocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
localeThe locale used when learning the pronunciation. BCP-47 language code, e.g. “en-US”.SocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
phonemesPhoneme sequence representing how the user pronounces |token|. Format is specified by the phonology_type type field, e.g. go/psampa is the preferred phonology type used by the TTS team.SocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
phonologyTypeSocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
spellingHintAn optional user-specified spelling of this token, to improve pronunciation learning success rate. E.g. the token may be “Jana” and the spelling hint “jah-nah”.SocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
tokenCorresponds to a word segment of the contact name. E.g. for a contact with given name “John Doe”, last name “Smith” and nickname “Best Dad”, |token| can be any of {John, Doe, Smith, Best, Dad}.SocialGraphApiProtoPronunciationStores the pronunciation as phoneme for the given word/text. Next ID: 8String
pronunciationSocialGraphApiProtoPronunciationsContainer proto for repeated pronunciation objects. For example, a set of pronunciations that can be added to a single name field.list(SocialGraphApiProtoPronunciation)
dailyRecurrenceSocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoDailyRecurrence
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Must be a positive int. Example: [remind me to call mom every 2nd week]. If this field isn’t set, it will default to 1 (every day,every week, etc). This field is ignored when recurrence_data is a SingleRecurrence. Optional.SocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5Cbinteger
monthlyRecurrenceSocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoMonthlyRecurrence
recurrenceEndDateEnds at abstract DateTime. (inclusive)SocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbGoogleTypeDateTime
recurrenceStartThe start of the recurrence can be represented as a DateTime. This field is ignored when recurrence_data is a SingleRecurrence.SocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbGoogleTypeDateTime
repeatCountWill repeat only a finite number of times. This is the original number of times the recurrence will repeat and not how many times are left for it to repeat. This end type is not currently supported.SocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5Cbinteger
repeatForeverWill continue to repeat until prompt is deleted.SocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoRecurrenceRepeatForever
singleRecurrenceSocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoSingleRecurrence
weeklyRecurrenceSocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoWeeklyRecurrence
yearlyRecurrenceSocialGraphApiProtoRecurrenceFlexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5CbSocialGraphApiProtoYearlyRecurrence
xSocialGraphApiProtoRelativePositionPosition relative to the user’s avatar. 0 = top/left, 1 = bottom/right.number
ySocialGraphApiProtoRelativePositionPosition relative to the user’s avatar. 0 = top/left, 1 = bottom/right.number
xSocialGraphApiProtoRelativeScaleScale relative to the user’s avatar. x and y range from 0 (exclusive) to 1 (inclusive).number
ySocialGraphApiProtoRelativeScaleScale relative to the user’s avatar. x and y range from 0 (exclusive) to 1 (inclusive).number
descriptionA free-text summary that the user inputs. E.g. “Coder by day, jazz guitarist by night.”SocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.String
educationSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileEducation)
interestSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileEntity)
languageIndicates the language of this search profile. Use ISO-639 2-letter language code to specifying the language that this profile is created in.SocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.String
locationSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileLocation)
metadataSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.SocialGraphApiProtoSearchProfileMetadata
occupationSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileEntity)
publicEmailThis is the email that the user has chosen to display on their “SearchCard” publicly.SocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(String)
publicPhoneNumberThis is the phone number that the user has chosen to display on their “SearchCard” publicly.SocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(String)
socialLinkSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileSocialLink)
websiteSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(String)
workplaceSocialGraphApiProtoSearchProfileDataData contained in every search profile. go/janata-profile-in-sgbe.list(SocialGraphApiProtoSearchProfileWorkplace)
endTimeSocialGraphApiProtoSearchProfileEducationWraps information about a user’s eductational background.GoogleTypeDate
fieldOfStudySocialGraphApiProtoSearchProfileEducationWraps information about a user’s eductational background.list(SocialGraphApiProtoSearchProfileEntity)
institutionSocialGraphApiProtoSearchProfileEducationWraps information about a user’s eductational background.SocialGraphApiProtoSearchProfileEntity
startTimeSocialGraphApiProtoSearchProfileEducationWraps information about a user’s eductational background.GoogleTypeDate
countryCodeCorresponding country code. Refer to go/people-search-dashboard for code list.SocialGraphApiProtoSearchProfileEntityThis proto represents either a KG-entity, as represented by it’s MID, or free-string text.String
entityCorresponding mid in KG.SocialGraphApiProtoSearchProfileEntityThis proto represents either a KG-entity, as represented by it’s MID, or free-string text.String
nameCustom name of entity if there is no corresponding place/entity in KG (mid)SocialGraphApiProtoSearchProfileEntityThis proto represents either a KG-entity, as represented by it’s MID, or free-string text.list(String)
endTimeSocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.GoogleTypeDate
lengthOfStaySocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.String
placeSocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.SocialGraphApiProtoSearchProfileEntity
pointSocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.SocialGraphApiProtoSearchProfileLocationInfo
startTimeSocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.GoogleTypeDate
typeSocialGraphApiProtoSearchProfileLocationWraps information about a user’s location, if they have chosen to share it on their SearchCard.String
latDegrees [-90 .. 90]SocialGraphApiProtoSearchProfileLocationInfofloat
lonDegrees [-180 .. 180]SocialGraphApiProtoSearchProfileLocationInfofloat
radiusMetersSocialGraphApiProtoSearchProfileLocationInfofloat
accountIdUnique contributor account id allocated by presence/janata infrastructure. This will be used in the frontend for various actions like reporting errors, photo uploads etc., go/boba-janata, go/cleanup-contributor-creationSocialGraphApiProtoSearchProfileMetadataThis proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,String
accountMidAccount KG entity mid assigned to this user required by old janata serving stack. This is not required anymore for serving. But might need it for historical purposes. See https://hume.google.com/edit/g/11gg6cyvch for more details.SocialGraphApiProtoSearchProfileMetadataThis proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,String
aresIdAres id used for tracking the auto moderation.SocialGraphApiProtoSearchProfileMetadataThis proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,String
stateCurrent state of the Search Profile.SocialGraphApiProtoSearchProfileMetadataThis proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,list(SocialGraphApiProtoSearchProfileState)
linkSocialGraphApiProtoSearchProfileSocialLinkWraps social profile information about the user.String
typeSocialGraphApiProtoSearchProfileSocialLinkWraps social profile information about the user.String
changeTimestampTimestamp of when the state was changed.SocialGraphApiProtoSearchProfileStateDateTime
displayTimestampThis will be used to display status to the user at a set time. If set to a value after `change_timestamp`, the change will not be ‘reflected’ until this time.SocialGraphApiProtoSearchProfileStateDateTime
typeState that the UserProfile was changed to.SocialGraphApiProtoSearchProfileStateString
companySocialGraphApiProtoSearchProfileWorkplaceWraps information about a user working at a specific place.SocialGraphApiProtoSearchProfileEntity
endTimeSocialGraphApiProtoSearchProfileWorkplaceWraps information about a user working at a specific place.GoogleTypeDate
startTimeSocialGraphApiProtoSearchProfileWorkplaceWraps information about a user working at a specific place.GoogleTypeDate
dateSocialGraphApiProtoSingleRecurrenceThis prompt will occur one time only. Could be a single event such as a graduation or a single connection reminder e.g. remind me to call X on 2022/03/19. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)GoogleTypeDate
sourceIdCP2 sourceid column.SocialGraphApiProtoSyncInfoLINT.IfChangeString
sync1CP2 sync1 column.SocialGraphApiProtoSyncInfoLINT.IfChangeString
sync2CP2 sync2 column.SocialGraphApiProtoSyncInfoLINT.IfChangeString
sync3CP2 sync3 column.SocialGraphApiProtoSyncInfoLINT.IfChangeString
sync4CP2 sync4 column.SocialGraphApiProtoSyncInfoLINT.IfChangeString
clientNameNot to be used. We have since moved to a lookup string at read time approach as opposed to storing data at write time. b/146072927SocialGraphApiProtoThirdPartyInfoString
projectNumberProject number of the third party application performing the delete to be looked up via ClientAuthConfig during display time for users to know the current name of an application which has deleted contact data.SocialGraphApiProtoThirdPartyInfoString
lastTimeContactedLast time a contact was contacted.SocialGraphApiProtoUsageInfoUsage information. This is currently used for device contacts. Next ID: 3DateTime
timesContactedNumber of times a contact was contacted.SocialGraphApiProtoUsageInfoUsage information. This is currently used for device contacts. Next ID: 3String
weekDaySet of weekdays the recurrence applies to.SocialGraphApiProtoWeeklyRecurrencePattern for a WEEKLY recurrence. You must specify at least one week_day. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)list(String)
monthlyPatternThe monthly pattern to recur.SocialGraphApiProtoYearlyRecurrencePattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { monthly_day_recurrence { month_day: 16 } } months: JANUARY “Fourth Thursday of November and December” : monthly_pattern { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 4 } } months: NOVEMBER months: DECEMBER Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)SocialGraphApiProtoMonthlyRecurrence
monthsThe months of the year to apply the pattern.SocialGraphApiProtoYearlyRecurrencePattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { monthly_day_recurrence { month_day: 16 } } months: JANUARY “Fourth Thursday of November and December” : monthly_pattern { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 4 } } months: NOVEMBER months: DECEMBER Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)list(String)
clientInteractionInfoInformation regarding client interactions.SocialGraphWireProtoPeopleapiAffinityMetadataExtra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.SocialGraphWireProtoPeopleapiAffinityMetadataClientInteractionInfo
cloudDeviceDataInfoDevice information about the candidate available in the cloud.SocialGraphWireProtoPeopleapiAffinityMetadataExtra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfo
cloudScoreAffinity score for the cloud contact.SocialGraphWireProtoPeopleapiAffinityMetadataExtra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.float
suggestionConfidenceIndicator of the confidence in suggestion relevance.SocialGraphWireProtoPeopleapiAffinityMetadataExtra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.String
isDirectClientInteractionWhether this suggestion is an edge directly from the client. E.g., a suggestion with which the user shared a photo on photos app.SocialGraphWireProtoPeopleapiAffinityMetadataClientInteractionInfoboolean
deviceScoreThe partial affinity score only counting device features.SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfofloat
isDeviceDataKnownWhether device data about this candidate were available in the cloud.SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfoboolean
availabilitiesSocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedDataWaldo-related extension data.GoogleInternalAppsWaldoV1alphaUserAvailabilities
avatarUrlAvatar image URL for a Google Group, based on the member count.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
descriptionShort description of this bot. Only set if EntityType == BOT.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
developerNameDisplay name of bot developer. Only set if EntityType == BOT.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
dndStateSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
entityTypeSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
isMembershipVisibleToCallerWhether caller has visibility into the direct members of the roster. NEXT TAG: 11SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.boolean
memberCountDEPRECATED: use segmented_membership_counts instead. Number of members (direct or indirect) in a Google Group. Only an estimate for large groups (currently > 1K direct / indirect members).SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
organizationInfoSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.AppsDynamiteSharedOrganizationInfo
presenceSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.String
segmentedMembershipCountsRepresents the direct membership counts of a Google Group. May contain counts based on member type and membership state.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedDataDynamite-related extension data.AppsDynamiteSharedSegmentedMembershipCounts
actorIdActor ID of the person, if available (if the person has used the Paisa app).SocialGraphWireProtoPeopleapiExtensionPaisaExtendedDataNext tag number: 3String
subtitleDisplay subtitle, which may be used in suggestion/autocompletion results. Generally, this will be the Actor’s registered Paisa phone number, in unmasked or masked form (e.g. +1 ***-***-1234) depending on visibility rules.SocialGraphWireProtoPeopleapiExtensionPaisaExtendedDataNext tag number: 3String
familyStatusWhether the person is in the same family as the requesting user. Family here refers to https://families.google.com/families. This information is read from SuperGlue, and can be consumed by clients, e.g. Assistant and Photos. If this field is not set, the person is not in the user’s family.SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedDataString
hiddenKeysThe full list of hidden keys associated with this person. These are the external equivalent to the keys stored by the ConnectionLabelService, and they can be passed to the MutateConnectionLabel endpoint to unhide this person. This field will only be set if hide_type is HIDDEN.SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedDatalist(SocialDiscoveryExternalEntityKey)
hideTypeIf this field is not set, the person is visible (implicit).SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedDataString
birthdayStatusWhether the person has birthday field populated.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedDataNEXT_ID: 6String
familyStatusWhether the person is in the same family as the requesting user. Family here refers to https://families.google.com/families. This information is read from SuperGlue, and can be consumed by clients, e.g. Assistant and Photos. If this field is not set, the person is not in the user’s family.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedDataNEXT_ID: 6String
hiddenKeysThe full list of hidden keys associated with this person. These are the external equivalent to the keys stored by the ConnectionLabelService, and they can be passed to the MutateConnectionLabel endpoint to unhide this person. This field will only be set if hide_type is HIDDEN.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedDataNEXT_ID: 6list(SocialDiscoveryExternalEntityKey)
hideTypeIf this field is not set, the person is visible (implicit).SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedDataNEXT_ID: 6String
suggestionConfidenceSocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedDataNEXT_ID: 6String
itemSocialPersonalizationKnexAnnotationlist(SocialPersonalizationKnexAnnotationItem)
confidenceSocialPersonalizationKnexAnnotationItemNext Tag: 8number
descriptionDescription of the item for debugging. Note that this field is populated only in a few select places.SocialPersonalizationKnexAnnotationItemNext Tag: 8String
equivalentMidIf this field exists, then there exists a commonly used MID (typically a public MID, i.e., one in /m/) that approximates the meaning for this particular k’nex topic. For example, the value of this field for k’nex topic Tennis (/t/236) is /m/07bs0. The difference between k’nex /m/07bs0 and webref /m/07bs0 is as follows. If a content is annotated with webref /m/07bs0, then the content has to explicitly mention “Tennis” in some way, whereas if a content is annotated with k’nex /m/07bs0, then the content simply needs to talk about stuff related to tennis. Note that this field is not populated for all queries. For example, the compound concept “Tennis in California” does not have an associated mid. This field is intended to help external clients transit to k’nex.SocialPersonalizationKnexAnnotationItemNext Tag: 8String
generalityA score that measures how broad / narrow a topic is, independent of the document and/or user profile. This is an experimental score and is not populated by default. Currently, it is in the range of [0, 1], where the higher the score is, the more general a topic is. Please talk to sherlock-dev@ before using this score. Populated when debug_level > 0.SocialPersonalizationKnexAnnotationItemNext Tag: 8number
midThis is an MID in the /t/ namespace. We will migrate them to /g/ in Q3’15.SocialPersonalizationKnexAnnotationItemNext Tag: 8String
relatedEntitySocialPersonalizationKnexAnnotationItemNext Tag: 8list(SocialPersonalizationKnexAnnotationItemTopic)
topicalitySocialPersonalizationKnexAnnotationItemNext Tag: 8number
midSocialPersonalizationKnexAnnotationItemTopicString
scoreSocialPersonalizationKnexAnnotationItemTopicnumber
doNotPublishSocialStanzaDeliveryRestrictionRestrictions that affect the delivery of the stanza. By default, Stanzas are publishable, which means that they are eligible for indexing, aggregation, and other delivery options (Goops, Moonshine, notifications). A stanza can be created in a “do not publish” state; the stanza will not be published anywhere. The restriction can subsequently be removed with an UpdateStanza call, at which point the post will be treated as if it were newly created. A few notes/limitations about this option: 1. Client should keep a stanza unpublishable for a small period of time (if possible to) so that our ranking system does not consider this as a stale post (thus downranking the post). 2. Client should keep the number of unpublishable stanzas to a minimum, to reduce under-serving. 3. Updating a stanza from publishable to unpublishable after creation is not supported 4. At this time, publishing options are only supported on root stanzas; let us know if you require this for child stanzas. 5. Similarly, this is only supported as a global restriction. It may not be set as a per-destination-stream restriction.boolean
moderationReasonThe reason why this stanza was moderated provided by client.SocialStanzaModerationInfoModerationInfo stores the information of moderation for a stanza in a specific destination stream. Including who moderated and why.String
moderatorSocialStanzaModerationInfoModerationInfo stores the information of moderation for a stanza in a specific destination stream. Including who moderated and why.SecurityCredentialsPrincipalProto
moderatorTypeType of moderation. Semantically REQUIRED, http://go/required At write time, only ModeratorType.AUTO_MODERATOR is allowed. For all other cases, this information is inferred from the request at write time.SocialStanzaModerationInfoModerationInfo stores the information of moderation for a stanza in a specific destination stream. Including who moderated and why.String
abuseTypesThe abuses.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.list(AbuseiamAbuseType)
appealStateThe appeal state.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.String
contentRestrictionField to explain various restrictions of the Stanza. Some examples of restrictions are: – Not permitted because of legal restrictions of geography/country of viewer or creator. – Content not suitable for current viewer i.e. porn, abusive, racy. – Creator restricted the content to an age group. – etc…SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.AbuseiamContentRestriction
deleteReasonDelete reasons. This is a repeated field because an stanza can be deleted multiple times due to different reasons such as user_delete, admin_delete.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.list(String)
deliveryRestrictionDelivery restrictions, if present.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.SocialStanzaDeliveryRestriction
destinationStreamSocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.AppsPeopleActivityBackendDestinationStream
moderationInfoThe moderation info. At write time, this field is only allowed to be set when moderator_type is AUTO_MODERATOR. For other moderator types, moderation_reason is the only field that can be set by clients.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.SocialStanzaModerationInfo
moderationStateThe moderation state.SocialStanzaStanzaRestrictionContains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: – Abusive – Legal – Racy – Content not suitable for age – Porn – Blocked by country/geo of viewer. – Restricted by stanza creator (not the user specific block). – etc… Please see go/stanza-abuse-flow for more details.String
siteSitechunker site granularity for this resultSpamBrainDataThis holds SpamBrain values which are populated in docjoins. The data is populated at sitechunked host level and sitechunked domain level in the doc_attachments, and saved in Perdocdata in respective fields.String
versionedDataVersioned scores of SB classifiersSpamBrainDataThis holds SpamBrain values which are populated in docjoins. The data is populated at sitechunked host level and sitechunked domain level in the doc_attachments, and saved in Perdocdata in respective fields.list(SpamBrainScore)
modelNameSpamBrainScoreString
sbScoreThe value corresponding to this version.SpamBrainScorenumber
versionIdThe version id (derived from the epoch – larger number means newer score)SpamBrainScoreinteger
dropInServingSpamCookbookActionThis protocol buffer indicates actions that we take based on Cookbook recipes (see http://cookbook/) matching a particular document.boolean
hackedDateNautilusSpamMuppetjoinsMuppetSignalsinteger
hackedDateRaidenSpamMuppetjoinsMuppetSignalsinteger
raidenScoreSpamMuppetjoinsMuppetSignalsfloat
siteSpamMuppetjoinsMuppetSignalsString
endTimeUsecThe end time of the input audio that this result refers to. This value should increase across LanguageIdentificationResult emitted by the Greco server running LangId, and reflects the server having processed more of the input audio.SpeechS3LanguageIdentificationResultResponse proto for the LangId service running on a Greco server in prod. Next Tag: 6String
rankedTopSupportedLanguagesRanked list of top-N language codes. Ranking is based on ConfidenceIntervals of supported languages, and N is defined in the LanguageIdentificationConfig.SpeechS3LanguageIdentificationResultResponse proto for the LangId service running on a Greco server in prod. Next Tag: 6list(SpeechS3Locale)
startTimeUsecGlobal start time. This value should be fixed across all LanguageIdentificationResults for a given utterance.SpeechS3LanguageIdentificationResultResponse proto for the LangId service running on a Greco server in prod. Next Tag: 6String
topLanguageConfidenceConfidence interval of the top recognized language.SpeechS3LanguageIdentificationResultResponse proto for the LangId service running on a Greco server in prod. Next Tag: 6String
voicedUtteranceIdentifies when the provided audio sample does or doesn’t contain voiced samples. E.g. an unvoice utterance happens when the EOS signal is received before any frame because all frames were filtered by the endpointer. For events where voiced_utterance is false, ranked_top_supported_languages is defined but scores are not to be trusted. All LanguageIdentificationResults contains a valid value of voiced_utterance.SpeechS3LanguageIdentificationResultResponse proto for the LangId service running on a Greco server in prod. Next Tag: 6boolean
formatThe format of the string in “locale”. Should be one of LocaleFormat.SpeechS3Localeinteger
localeSpeechS3LocaleString
atomicSizeSize of atomic type, in bytes.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.integer
atomicTypeNumeric type of data elements (if generic)SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
bitRateFor compressed signals with fixed bitrate, this is the number of bits per second.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.number
byteOrderByte-order of the atomic_type When atomic_type == “char”, byte_order should be always “1”. When atomic_type == “int16”, byte_order can be either “01” (Intel) or “10” (Motorola). Byte order should default to Intel when in question.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
detailsTypically contains the parameter settings of the program that created the file.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
dimensionArray dimensions for a single sample. * For audio samples: * mono: rank==0, dimension==[1] * stereo: rank==0, dimension==[2] (samples are interleaved) * For typical ASR features representing energy, 12 MFCC coefficients, and first and second derivatives: * rank==1 and dimension==[39].SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.list(integer)
elementsPerSampleThe number of atomic elements stored per sample. This is the product of all the entries in the dimension array. Written “out of order” in this file to be close to the dimension field, from which it can always be computed.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.integer
rankThe rank of each sample. For a waveform (signals that are sequences of scalar values), this is 0. For vector-valued signals (used as signals containing sequences of features, for example), this is 1. scalar=0, vector=1, matrix=2, …SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.integer
sampleCodingSample encoding. Can be “ulaw”.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
sampleRateFor periodic signals, this is the number samples per second, else 0.0SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.number
sampleSizeSize of a single sample, in bytes.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.integer
sampleTypeStructure of each sample. “generic” means that the samples are multi-dimensional arrays of atomic_type with the specified rank.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
startTimeTime origin for the signal, in seconds. Warning: Using float can result in rounding errors: float’s smallest distance between two representable values (1 ULP; see https://en.wikipedia.org/wiki/Unit_in_the_last_place) between 1024 and 2048 (representing ~17-34 min) is 0.0001220703125, what is approximately double of what we need to represent 1 sample in a 16 kHz sample rate audio. The error is double in the 2048s-4096s, 4x in the 4096s-8192s range etc. Higher sample rate encounters rounding errors earlier: with 96 kHz, rounding errors start at ~2 min (128s).SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.number
totalSamplesThe number of samples in file. Can be inferred for generics from file size.SpeechWaveHeaderA general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.String
bugIdThe buganizer ID associated with this legal request. This is required.StorageGraphBfgLegalRequestMetadataString
directWriteRecordIdsIf one triple is directly-written after recon by LG without going through Composer, we add the record id it’s from. Otherwise, it’s empty. Note: 1) LG will dedup record ids before updating it. So this field shouldn’t see duplicated record ids. 2) This is used internally by LG only. So if set by clients, they will be dropped by LG.StorageGraphBfgLivegraphProvenanceMetadataMetadata on source assertions that isn’t part of the user-visible Triple payload, and that doesn’t really represent data provenance, but that’s used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn’t be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to “hide” those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6list(String)
lgInternalWriterIdIdentifies the LG internal writers that asserted the triple. This is the same as ‘origin_id’ in LG. This will only be populated by the LG writers to FactStoreStorageGraphBfgLivegraphProvenanceMetadataMetadata on source assertions that isn’t part of the user-visible Triple payload, and that doesn’t really represent data provenance, but that’s used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn’t be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to “hide” those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6String
provenanceOnlyAdditionWhether this provenance is a provenance only addition or not. A provenance is considered an “addition” if it belongs to a triple that we expect FactStore to contain on its own (i.e through some inference), and thus we will *not* attempt to write it explicitly. This is a composer only populated field. Clients are not expected to populate this field.StorageGraphBfgLivegraphProvenanceMetadataMetadata on source assertions that isn’t part of the user-visible Triple payload, and that doesn’t really represent data provenance, but that’s used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn’t be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to “hide” those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6boolean
triangulationKeyTriples typically have a single triangulation key. This field supports > 1 keys to allow staged transition to a different key scheme. To successfully triangulate in the Livegraph Composer, the triple must have >=3 instances and each triple instance having a pairwise disjoint set of triangulation keys. The triangulation keys supplied for a single input triple are treated part of the same set, so a single triple cannot self-triangulate, regardless of how many triangulation keys it has. Note2: If a triple has multiple provenances, each one is expected to set the same triangulation_keys.StorageGraphBfgLivegraphProvenanceMetadataMetadata on source assertions that isn’t part of the user-visible Triple payload, and that doesn’t really represent data provenance, but that’s used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn’t be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to “hide” those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6list(String)
weakDataWARNING! The feature is still under active development and the exact semantics may be subject to change pending KE Design Review. Data marked as weak will be less preferred to regular data which does not have the marker. This allows ingesting data with a lower chance of negatively affecting existing features and products, at the cost of potentially not showing the data when competing data is available. Specifically, weak data is less preferred by conflict resolution inside of Livegraph composition. Additionally, RefX triggering will prefer to trigger based on signals computed from regular data. Aside from data providers choosing to mark their data as weak, Livegraph and RefX are the only horizontal systems expected to use this information. Please contact livegraph-team@ if you see a need for this to change. See go/weak-data for more information.StorageGraphBfgLivegraphProvenanceMetadataMetadata on source assertions that isn’t part of the user-visible Triple payload, and that doesn’t really represent data provenance, but that’s used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn’t be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to “hide” those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6boolean
dataAccessRestrictionsBitmap of LlmDataAccessRestriction.StorageGraphBfgLlmPolicyMetadataMetadata fields for LLM related data usage restrictions. See go/bard-kg-data-acl for more details.integer
clientIdsAllowedStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.list(String)
isEditorialStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.boolean
modificationsAllowedInt values corresponds to the values of image_repository.licensed.api.restrictions.Modification enum.StorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.list(String)
regionsAllowedStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.KeGovernanceTypedRegions
regionsDisallowedStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.KeGovernanceTypedRegions
requiresAttributionStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.boolean
requiresFirstPartyOnlyStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.boolean
requiresLinkbackStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.boolean
requiresShareAlikeStorageGraphBfgLmsPolicyMetadataMetadata fields for LMS. See go/lms-online-restrictions for details.boolean
availabilityEndTimestampTimestamp after which data with this policy cannot be used. This value must be strictly larger/later than availability_start_time, if both are set.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeDateTime
availabilityStartTimestampTimestamp before which data with this policy cannot be used. This value must be strictly smaller/earlier than availability_end_time, if both are set.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeDateTime
legalAllowedRegionsList of regions in which the data with this policy is allowed to be used, while the data need to be removed in all regions outside this list according to legal request. This field should be used when the data is only allowed in a few regions and it is inconvenient to enumerate all of the regions in `legal_removal_regions` field. `legal_allowed_regions` and `legal_removal_region` together should include all possible regions, setting one field implies the other. Please set only one of them so the other field’s values are implied. See details: http://go/ke-allowed-countries-policy-1p WARNING: This field is for legal purposes only. Please do not populate it without consulting ke-data-governance@.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangelist(KeGovernanceTypedRegions)
legalRemovalRegionsList of regions in which the data with this policy need to be removed according to legal request. WARNING: This field is for legal purposes only. Please do not populate it without consulting ke-data-governance@.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangelist(KeGovernanceTypedRegions)
llmPolicyMetadataPolicy metadata fields for LLM related data usage restrictions. Only expected to be used by SCP internally — please consult ke-data-governance@ before populating this field.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeStorageGraphBfgLlmPolicyMetadata
lmsPolicyMetadataPolicy metadata fields for LMS data. Only expected to be used by LMS providers — please consult ke-data-governance@ before populating this field.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeStorageGraphBfgLmsPolicyMetadata
policyDataScopeKeysThis triple is protected by the policies with PolicyDataScope identified by these global unique ids.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangelist(integer)
policySourceTypePolicy metadata are VERTICAL by default. Vertical policy makers / providers does not need to set this field explicitly.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeString
rwjPolicyMetadataPolicy metadata fields for Real World Journey (RWJ) data. Only expected to be used by RWJ providers — please consult ke-data-governance@ before populating this field.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeStorageGraphBfgRwjPolicyMetadata
umpPolicyMetadataPolicy metadata fields for UMP data. Only expected to be used by UMP providers — please consult ke-data-governance@ before populating this field.StorageGraphBfgPolicyMetadataMetadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there’s no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won’t be embargoed automatically; if `availability_end_timestamp` is not set, they won’t expire automatically. LINT.IfChangeStorageGraphBfgUmpPolicyMetadata
attributionUrlPublicly-visible URLs claiming this fact. Can not be empty — at least one URL must be provided.StorageGraphBfgPublicInformationMetadatalist(String)
lastVerifiedDateMost recent date at which ‘attribution_url’s were verified, as UNIX epoch time in milliseconds. This is required.StorageGraphBfgPublicInformationMetadataString
eligibleSurfacesInt values correspond to the usecases used in CDS. See: google3/googlebase/verticals/model/usecase_id.proto.StorageGraphBfgRwjPolicyMetadataMetadata fields for Real World Journey. See go/rwj-kg-dg for details.list(String)
authorityFeedbackThis fact was provided via KGO / Entity Authority.StorageGraphBfgSpiiCertificationA fact about potentially sensitive personal info (http://what/SPII) can be “certified” iff it meets specific requirements. See go/kg-spii-certification for details.StorageGraphBfgAuthorityFeedbackMetadata
legalRequestThis fact was provided via a legal request.StorageGraphBfgSpiiCertificationA fact about potentially sensitive personal info (http://what/SPII) can be “certified” iff it meets specific requirements. See go/kg-spii-certification for details.StorageGraphBfgLegalRequestMetadata
publicInformationThis fact is public information. (See go/kg-spii-certification for a description of what qualifies as public information — simply finding a fact online is not sufficient to certify a fact as public.)StorageGraphBfgSpiiCertificationA fact about potentially sensitive personal info (http://what/SPII) can be “certified” iff it meets specific requirements. See go/kg-spii-certification for details.StorageGraphBfgPublicInformationMetadata
accessRequiredData providers shall use this to specify access requirement.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
accessRequiredIntFor KE internal use only. Data providers shall *not* set this. At ingress, LG Record service will read access_required and properly translate it to access_required_int. KE horizontal systems shall use this field instead of access_required; so that binaries would not depend on the release of a newly introduced AccessRequirement enum. (go/easy-ar-onboarding)StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22integer
authoringTimestampStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
creatorFreebase: the freebase user id in the form ‘/user/userid’ KG: the Google LDAP of the developer or MDB group that set up the triplification and import pipeline for this data source.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
datasetFreebase & KG: the dataset the assertion was loaded fromStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
extractionPatternStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
extractionTimestampStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
freebaseAttributionBelow are deprecated Provenance fields. They are not indexed or served in KE infrastructure (they are stripped at ingress in Livegraph).StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
isSupportingDataIndicates that the corresponding data is supporting evidence for reconciliation only, and is *not* an assertion that should be visible to other systems or to external users. Note that this also means that no provenances indicating supporting data will be visible in the composed graph. Please see go/supporting-kg-triples-design-doc for additional details and background. If a triple is sent to Livegraph with multiple provenances each of them must have is_supporting_data bit set for it to be considered valid supporting evidence triple.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22boolean
lgMetadataInternal metadata used by Livegraph and possibly other horizontal KG infra systems. This is not part of the logical triple or its provenance, and contents may not be visible downstream of LG.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22StorageGraphBfgLivegraphProvenanceMetadata
policyMetadataMetadata specifying data governance policies. This information will be processed and enforced in KE systems. For more context, see go/ke-triple-dg-policy-and-metadata. WARNING: This field is WIP and please do not populate it without consulting ke-data-governance@.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22StorageGraphBfgPolicyMetadata
processUsed to uniquely identify data sources. Freebase: the OAuth application KG: the name of the source directory the triple was loaded from (eg, “amg”, “tms “, “collections”). KV: identifier of an extraction system, e.g., SAFT or Tractzor.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
provenanceExtensionStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22Proto2BridgeMessageSet
rankingToken‘ranking_token’ (which must be accompanied by the ‘process’ field above or will be ignored) is used to distinguish subsets of data within a single process, solely for the purposes of composition in Livegraph. This field is useful when partitioning of data is needed, but using a separate process is intractable due to organizational or infrastructure limitations. For example, if a process such as “geo” wishes to distinguish some of their /type/object/name triples as higher priority in Composer’s conflict resolution rules, then they can add a config entry with a dedicated ranking_token and tag the relevant triples with that ranking_token. This field should only be used in conjunction with a Composer-side configuration to use it for value selection. It is not appropriate to use this field as free-form metadata. This value must match [[:alnum:]][[:alnum:]_-]{0,127} (i.e., [a-zA-Z0-9]+[a-zA-Z0-9_-]* and must be less than 128 characters in length) , or else its containing triple will be considered malformed and will be rejected by Livegraph at ingress. As of 2018-02-14, this field is used within Livegraph’s Composer and is exposed in Livegraph’s Lookup APIs to aid debugging, but it is not indexed or served by TopicServer.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
requiresTriangulationWhen specified as part of triples input to Livegraph (go/livegraph), this indicates that the triple needs to be triangulated by 3 different sources before it can be served in production. A triple’s source is identified by its URL(provenance.source).host(). Please see go/baike-triangulation for more background on this. WARNING: If you’re a new client trying to enable triangulation for your feed, please contact lg-composition@/kashk@ before using this feature.StorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22boolean
restrictionsStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22list(String)
sourceFreebase & KG: if the triples were extracted from the web, the source URL where the assertion was found. (generally empty in freebase-sourced triples) TopicServer will serve/populate/retain if REQUIRES_CITATION is also set, or if the process is explicitly allowed. http://g/topic-server/vn9PBWtVKqI/arQEDqKTAgAJStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22String
sourceCategoryStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22list(String)
sourceDocIdStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22list(String)
spiiCertificationStorageGraphBfgTripleProvenancea message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22StorageGraphBfgSpiiCertification
availabilityEndsTimestamp after which data with this policy cannot be used.StorageGraphBfgUmpPolicyMetadataMetadata fields for UMP. A piece of data satisfies UMP policy if: (data access region is in the `regions_allowed` list) AND (data access time >= availability_start_timestamp) AND (data access time < availability_end_timestamp)DateTime
availabilityStartsTimestamp before which data with this policy cannot be used.StorageGraphBfgUmpPolicyMetadataMetadata fields for UMP. A piece of data satisfies UMP policy if: (data access region is in the `regions_allowed` list) AND (data access time >= availability_start_timestamp) AND (data access time < availability_end_timestamp)DateTime
regionsAllowedStorageGraphBfgUmpPolicyMetadataMetadata fields for UMP. A piece of data satisfies UMP policy if: (data access region is in the `regions_allowed` list) AND (data access time >= availability_start_timestamp) AND (data access time < availability_end_timestamp)KeGovernanceTypedRegions
averageFractionShowAverage fraction of podcast listened per show. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
inClusterProbProbability of a random user from this cluster listening to this podcast randomly (K-means specific feature)SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
surfaceSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
userLanguageLanguage of shows in user history and how much they listened to each.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101list(SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage)
durationTotalSecondsEpisodeTotal duration listened for this episode by all users. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
nicheLiftPer cluster lift where the lift_squashing_factor is set to +2SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
negativeReactionBoostScoreboost score from the similarity between the candidate and the shows with user negative feedback, currently the score will be applied directly to the final ranking score: go/podcast-reaction-reranking-v1, but can be used as reranker model feature in the future.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
trendingScorePercentShow level trending score percent from Wernicke corpus.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
feedPagerankScaled pagerank score for the feed url in [0..1]. Not to be confused with pagerank above, which measures the pagerank for the feed’s homepage.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
episodesPublishedPerMonthHow frequently are podcasts published by this show. To see publishing frequency calculation go here: http://shortn/_6zzfyEpBRqSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
fractionTotalShowSome of all fraction of this show listened by users. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
linkOwnershipVerifiedOwnership verification status for the episode page URL.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101boolean
colistenedShowColistenAffinityThis captures the probability that this show could have been listened by the user in lieu of what they have subscribed or listened to.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
listenedShowListeningAffinityThis captures the fraction of total listening time accounted for by this show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
csaiScoreScore of csai safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
categoryMatchcategory_match is a 0 to 1 score depicting how much of the user’s listening history matches the categories of this podcast recommendation.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
peFractionScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
popularLiftPer cluster lift where the lift_squashing_factor is set to -3SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
mediumUserListeningWebrefSimilarityMatch score between user listening mids and episode webref entities, where the listening is limited to last two mohths activity. Values are in a 0.0 to 1.0 range.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
convAiToxicitySevereScoreSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
subscribedShowListeningAffinityThis captures the fraction of total listening time accounted for by this subscribed show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
dnnShowLevelRankOrdinal rank features like this have been found to be useful in Hermione Recipes, where the top ranked items from a candidate generator is always retained. Ranks are integral values starting with 1 for the highest affinity show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
finalReactionBoostScorefinal reaction boost score computed from positive_reaction_boost_score and negative_reaction_boost_score. The score will be applied as a multiplier on the ranking score to adjust the ranking.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
numUniqueListenersShowFrom: indexing/speech/proto/colisten-matrix.proto Absolute number of unique listeners during the past month.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
vulgarScoreScore of vulgar safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
globalProbProbability of a random user listening to this podcast randomlySuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
userClusterDistanceThe distance between user’s Anima embedding and the centroid of the cluster in k-means.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
showOnlyImpressionsShow only impressions. Doesn’t include shows of episode impressions.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peListenScoreShowAnima User Embedding based features. Dot product of Anima User Embedding and podcast embeddings from UserEmbeddingBasedSignals (podcasts/quality/proto/ranking_signals.proto)SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
kmeansShowLevelRankRanks are integral values starting with 1 for the highest affinity show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
listenTimeMinNumber of minutes of podcasts listened by the userSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101integer
showImpressionsPastWeekNumber of show impressions during the past week.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
episodeImpressionsNumber of all episode impressions.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
showBaseQualityBase quality of the document, used as a multiplier for the query-specific score. Should be in [0, 1] range. See: http://g3doc/indexing/moonshine/generic/g3doc/doc/scoringSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
pornScoreScore of porn safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
isCanonicalA binary value based on whether this is a canonical source for a cluster.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101boolean
averageDurationSecondsEpisodeAverage duration listened per episode. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peListenTotalScoreShowSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
fractionTotalEpisodeSome of all fraction of this listened by users. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
showPopularRankExpresses the absolute popularity rank within all documents.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
durationTotalSecondsShowTotal duration listened for this show by all users. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
subscriptionShowLevelRankThe rank of the show in the subscription candidate generator. Ranks are integral values starting with 1 for the highest subscribed affinity show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peDurationScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
longUserListeningWebrefSimilarityMatch score between user listening mids and episode webref entities, where the listening can have happened at any time in the past. Values are in a 0.0 to 1.0 range.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
spoofScoreScore of spoof safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
fringeScoreScore of fringe safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
clusterFeedMinutesThe total minutes listened to this podcast show by users in this clusterSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peListenScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
locationFeatureIdFeature ID of a location. For more info, see go/feature-id.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
dnnV2aScoreDot product of user embedding and podcast show embedding from the two tower model v2aSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
numListensNumber of podcasts listened by the userSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101integer
balancedLiftPer cluster lift where the lift_squashing_factor is set to 0.4SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
peDurationScoreShowSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
rankPercentContribrank_percent_contrib = 100 / ( 1 + rank_percent ) Here rank_percent was derived from show level data in Wernicke corpus So if rank_percent of a feed was 3, then the feature value would be: 100 / (1 + 3) = 25. This indicator falls off quickly from 100 to almost 1 as we go from rank_percent 0 to 100.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
showImpressionsNumber of show episode impressions.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
secondsSincePublicationA reranking feature showing the age of the episode that is being recommended. This is computed as (current time – publication_time) publication_time of the episode is defined: (http://shortn/_S46Ouk5ZWW) publication_time is specified as seconds since Unix Epoch.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
showLanguageLanguage of the show from show data.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
userInterestsSalientSimilarityMatch score between user interest mids and episode salient entities. in a 0.0 to 1.0 range.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
positiveReactionBoostScoreboost score from the similarity between the candidate and the shows with user positive feedback, currently the score will be applied directly to the final ranking score: go/podcast-reaction-reranking-v1, but can be used as reranker model feature in the future.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
peFractionScoreShowSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
recentUserListeningWebrefSimilarityMatch score between user listening mids and episode webref entities, where the listening is limited to recent activity. Values are in a 0.0 to 1.0 range.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
numListenersInKmeansClusterThe number of users in this k-means cluster.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
ulpLanguageInferred language preferences of the user with their probabilities.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101list(SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage)
episodeDurationSecThe duration of a single episode, in seconds. – For show documents, this is a duration of a typical recent episode, or an approximation thereof. – For episode documents, this is the duration of the episode itself.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
medicalScoreScore of medical safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
peFractionTotalScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
explicitShowWhether the show is marked as explicit by the authorsSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
averageFractionEpisodeAverage fraction of podcast listened per episode. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
showOnlyImpressionsPastWeekSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
queryLanguageThis is the language extracted from the query_language.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peDurationTotalScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
peDurationTotalScoreShowSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
listenedShowLevelRankThe rank of the show in the top listened shows candidate generator. Ranks are integral values starting with 1 for the highest affinity show.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peListenTotalScoreEpisodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
numListenersToShowInKmeansClusterThe number of users in the k-means cluster who have listened to this feed.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
episodeImpressionsPastWeekNumber of episode impressions during the past week.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
languageMatchHow much of user listening history match the language of this episodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
rankThe index in the list of most popular podcasts.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
ulpLanguageMatchHow much of ulp match the language of this episodeSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
numSubscribersShowFrom: indexing/speech/proto/colisten-matrix.proto The number of subscribers for this podcast series.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
peFractionTotalScoreShowSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
userInterestsWebrefSimilarityMatch score between user interest mids and episode webref entities. in a 0.0 to 1.0 range.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
colistenedShowLevelRankThis captures the rank of the podcast show in the colisten candidate generator.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
averageDurationSecondsShowAverage duration listened per show. Ignores duration < 10s. Computed offlineSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101String
violenceScoreScore of violence safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
dnnV2aScoreSigmoidSigmoid of the score obtained by dot product of user embedding and show embedding. See https://b.corp.google.com/issues/158602034#comment2 for intuition.SuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101number
offensiveScoreScore of offensive safe search score go/safesearchSuperrootPodcastsRecommendationsPodcastRecsFeaturesLINT.IfChange Next ID: 101float
langSuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguageString
scoreSuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguagenumber
areaCodeThe local “area code”, if there is such a concept.TelephoneNumberString
countryCodeThe international direct dialing code for the country, as per ITU E.164: http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.htmlTelephoneNumberinteger
extensionExtension (to be dialed after connection).TelephoneNumberString
nationalPrefixTo call this number from within the same country, the national call prefix may be necessary. This is 1 in the US, 0 in the UK, etc. In the US, it’s reasonable to omit the leading 1 when writing the number, but in other countries it is less optional.TelephoneNumberString
numberThe actual number, broken down into sections as per local convention. Note that the actual formatting of these sections (hyphen vs space, usage of parentheses) will vary according to local custom.TelephoneNumberlist(String)
attachmentTeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37list(TeragoogleDocumentInfoAttachment)
averageTermWeightThe average weight of terms in the document. If not available, there will be no term weight averaging: font sizes will be taken literally from the document HTML.TeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37integer
docThe document itself. If present, the docservers parse the contents to create a mustang repository.TeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37GDocumentBase
extendedDocidThe serialized ExtendedDocId, needed to construct a proper docinfo response if the docinfo request is missing it and it’s present.TeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37String
globalDocidthe global docid, we need it in the docservers (Continuum mode) to construct proper docinfo response when the docinfo request does not contain a valid global docidTeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37String
originalEncodingIf the original encoding isn’t UTF8TeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37integer
sectionTeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37list(TeragoogleDocumentInfoSection)
sectionTypeIndicates format of ‘tokens’ field in all Section entries.TeragoogleDocumentInfoThe docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It’s not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37String
nameTeragoogleDocumentInfoAttachmentMisc. attachments to be added to the dynamic repository the docservers build. These override any attachments created by parsing the GDocumentBase.String
optionsTeragoogleDocumentInfoAttachmentMisc. attachments to be added to the dynamic repository the docservers build. These override any attachments created by parsing the GDocumentBase.TeragoogleRepositoryAttachmentOptions
valueTeragoogleDocumentInfoAttachmentMisc. attachments to be added to the dynamic repository the docservers build. These override any attachments created by parsing the GDocumentBase.String
fieldNameList of field repository (subsection) names within the section.TeragoogleDocumentInfoSectionSections to be added to the dynamic repository the docservers build. ‘tokens’ is either a sequence of tokens encoded using the TokenSequenceEncoder (MDU), or a TokenspaceRepository (depends on what’s set in section_type. If ‘doc’ is present, then the contents of these sections override what was created by parsing ‘doc’.list(String)
nameTeragoogleDocumentInfoSectionSections to be added to the dynamic repository the docservers build. ‘tokens’ is either a sequence of tokens encoded using the TokenSequenceEncoder (MDU), or a TokenspaceRepository (depends on what’s set in section_type. If ‘doc’ is present, then the contents of these sections override what was created by parsing ‘doc’.String
tokensTeragoogleDocumentInfoSectionSections to be added to the dynamic repository the docservers build. ‘tokens’ is either a sequence of tokens encoded using the TokenSequenceEncoder (MDU), or a TokenspaceRepository (depends on what’s set in section_type. If ‘doc’ is present, then the contents of these sections override what was created by parsing ‘doc’.String
compressionTeragoogleRepositoryAttachmentOptionsCompression type to be applied to section/attachment.String
muppetTitleLengthInDeciemsTotal max length of title in deciemsTitleSizeParamsData related to title sizing calculations in Muppet.integer
muppetTitleNumLinesNumber of lines for titleTitleSizeParamsData related to title sizing calculations in Muppet.integer
VisitorsPastDayIndicates how many distinct toolbar visitors this page had in the past day. Will only be present if the number is reasonably large.ToolBarPerDocDataDO NOT USE THIS FOR ANYTHING LIVE WITHOUT PERMISSION! If you want to use this for anything user-facing file a logs-access ticket describing what you want to do. This data is currently only available in the freshdocs pipeline, so it will only be present in instant mustang and certain librarian shards. Email freshdocs-indexing with questions.integer
allianceSTAR_ALLIANCETravelFlightsAirlineConfigNext ID: 29String
baggageCarryonLimitationsUrlsDefault url for baggage fee information.TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
baggageFeeUrlsDefault url for baggage fee information.TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
countryCodeISO 3166-1 alpha-2 country code in which this airline is domestic.TravelFlightsAirlineConfigNext ID: 29String
countryContactInfoLocalizedContactInfo allows localization by country and language. Once the data is ready, we will start filling both fields. After that the old field will be deprecated and deleted at some point.TravelFlightsAirlineConfigNext ID: 29list(TravelFlightsAirlineConfigCountryContactInfo)
dupFlagtrue, if this carrier’s IATA code is a “controlled duplicate” (goto/controlled-duplicate).TravelFlightsAirlineConfigNext ID: 29boolean
fareFamilyUrlsTravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
fqtvPartnerCodeIATA codes of airlines who this airline’s travel can be credited to for mileage accrual.TravelFlightsAirlineConfigNext ID: 29list(String)
greenFaresInfoTravelFlightsAirlineConfigNext ID: 29TravelFlightsAirlineConfigGreenFaresInfo
iataCodeNote that some iata_codes are reused (`dup_flag` field). For details, including how to resolve collisions for airlines shown in Google Flights, see: go/controlled-duplicate go/flights-data/airlines#resolving-iata-code-collisions cs/go/controlled-duplicate U2 – some have no IATA codeTravelFlightsAirlineConfigNext ID: 29String
icaoCodeEZY – some have no ICAO codeTravelFlightsAirlineConfigNext ID: 29String
innovataCodeU2! – with optional dedup sign (‘!’)TravelFlightsAirlineConfigNext ID: 29String
localizedContactInfoTravelFlightsAirlineConfigNext ID: 29list(TravelFlightsAirlineConfigLocalizedContactInfo)
midNote: fields #16 and #17 are ununused. The identifier of the airline, e.g. /m/07y2s for United Populated using airlines_mids.csv.TravelFlightsAirlineConfigNext ID: 29String
namesEasyJet/イージージェットTravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
passengerAssistanceUrlsDefault url for passenger assistance information.TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
popularityNumber of flights with this airline over the next 180 days.TravelFlightsAirlineConfigNext ID: 29integer
shortNamesKLM – instead of ‘KLM Royal Dutch Airlines’TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
sustainabilityProgramUrlsURLs for airlines’ sustainability programs.TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
typeTravelFlightsAirlineConfigNext ID: 29String
urlshttp://www.airfrance.us/TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
waiverSummaryUrlsDefault url for waiver information.TravelFlightsAirlineConfigNext ID: 29TravelFlightsNameCatalogProto
dataTypically, formatted phone number.TravelFlightsAirlineConfigContactInfoString
typeTravelFlightsAirlineConfigContactInfoString
contactInfoTravelFlightsAirlineConfigCountryContactInfoAirline contact info grouped by country.list(TravelFlightsAirlineConfigContactInfo)
countryCodeTwo char country code, e.g. “US”TravelFlightsAirlineConfigCountryContactInfoAirline contact info grouped by country.String
bonusMilesProgramNameTravelFlightsAirlineConfigGreenFaresInfoString
bonusMilesQuantityTravelFlightsAirlineConfigGreenFaresInfoString
bonusMilesQuantityTypeTravelFlightsAirlineConfigGreenFaresInfoString
bonusMilesTypeTravelFlightsAirlineConfigGreenFaresInfoString
contributionFramingTravelFlightsAirlineConfigGreenFaresInfoString
contactInfoTravelFlightsAirlineConfigLocalizedContactInfoAirline contact info grouped by language. The language locale subcode will determine the country.list(TravelFlightsAirlineConfigContactInfo)
languageIETF BCP-47, e.g. “en” or “zh-HK-Hant”TravelFlightsAirlineConfigLocalizedContactInfoAirline contact info grouped by language. The language locale subcode will determine the country.String
languageTravelFlightsNameCatalogEntryString
textTravelFlightsNameCatalogEntryString
nameTravelFlightsNameCatalogProtolist(TravelFlightsNameCatalogEntry)
DelegatedProjectNameProject delegation name to support bandwidth enforcement. Harpoon will call SetDelegatedUser() with the specified DelegatedProjectName and a domain associated with the RequestorID provided in the client capatibility file.TrawlerClientServiceInfoClientServiceInfo is meant for trawler/harpoon clients which are in turn services to store some data specific to their clients. E.g., Kodachrome may serve multiple other clients. In this case they can store their client name here. Webmirror may also store the feed name here even though a feed is technically not a service client. ClientServiceInfo is in nature similar to ClientInfo, except it’s stored in FetchReplyData (i.e., trawler logs), whereas ClientInfo is copied to FetchReply (outside FetchReplyData), thus it’s not stored in trawler logs.String
ServiceClientIDTrawlerClientServiceInfoClientServiceInfo is meant for trawler/harpoon clients which are in turn services to store some data specific to their clients. E.g., Kodachrome may serve multiple other clients. In this case they can store their client name here. Webmirror may also store the feed name here even though a feed is technically not a service client. ClientServiceInfo is in nature similar to ClientInfo, except it’s stored in FetchReplyData (i.e., trawler logs), whereas ClientInfo is copied to FetchReply (outside FetchReplyData), thus it’s not stored in trawler logs.String
clientLabelsTrawlerClientServiceInfoClientServiceInfo is meant for trawler/harpoon clients which are in turn services to store some data specific to their clients. E.g., Kodachrome may serve multiple other clients. In this case they can store their client name here. Webmirror may also store the feed name here even though a feed is technically not a service client. ClientServiceInfo is in nature similar to ClientInfo, except it’s stored in FetchReplyData (i.e., trawler logs), whereas ClientInfo is copied to FetchReply (outside FetchReplyData), thus it’s not stored in trawler logs.list(TrawlerClientServiceInfoClientLabels)
nameTrawlerClientServiceInfoClientLabelsClientLabels contains client-specified key/value pairs, used to annotate individual FetchRequests and FetchReplies. This is primarily useful when the Multiverse Nexus performs postprocessing of fetchreplies. ClientLabels essentially allow clients to use the Nexus UI to slice statistics computed on fetchreplies by the specified key/value pairs. Note: we don’t use “map” type here delibrately in order to avoid the non-deterministric serialization of the “map” field. See b/69064361 for more details.String
valuesTrawlerClientServiceInfoClientLabelsClientLabels contains client-specified key/value pairs, used to annotate individual FetchRequests and FetchReplies. This is primarily useful when the Multiverse Nexus performs postprocessing of fetchreplies. ClientLabels essentially allow clients to use the Nexus UI to slice statistics computed on fetchreplies by the specified key/value pairs. Note: we don’t use “map” type here delibrately in order to avoid the non-deterministric serialization of the “map” field. See b/69064361 for more details.list(String)
valueTrawlerClientServiceInfoClientLabelsClientLabelValues!ERROR! D12386 -> Formula Error: An unexpected error occurredlist(String)
EndPosTrawlerContentRangeInfoParsed version of a Content-Range field, which in http might look like: Content-Range: bytes 500-999/3156String
StartPosIn ContentRange, the first byte is 0 (rather than 1), and the positions are inclusive. Thus, length is EndPos+1-StartPosTrawlerContentRangeInfoParsed version of a Content-Range field, which in http might look like: Content-Range: bytes 500-999/3156String
TotalLengthTrawlerContentRangeInfoParsed version of a Content-Range field, which in http might look like: Content-Range: bytes 500-999/3156String
NotChangedTimeMsfetched from the web. Time when the page was lastTrawlerCrawlTimesThis is similar to CrawlDates group in FetchReplyData, except that 1) it’s a message; 2) it’s filled in each Redirects hop; and 3) the timestamps are in ms rather than seconds since Unix Epoch.String
OriginalCrawlTimeMsTime when the page wasTrawlerCrawlTimesThis is similar to CrawlDates group in FetchReplyData, except that 1) it’s a message; 2) it’s filled in each Redirects hop; and 3) the timestamps are in ms rather than seconds since Unix Epoch.String
ReuseTimeMschecked but found to be the same as before. If set, timestamp to indicateTrawlerCrawlTimesThis is similar to CrawlDates group in FetchReplyData, except that 1) it’s a message; 2) it’s filled in each Redirects hop; and 3) the timestamps are in ms rather than seconds since Unix Epoch.String
IDTrawlerEventEvent is for logging interesting events that happen during a url fetch. Interesting events include “fetch start”, “url rejected”, etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.String
MsgTrawlerEventEvent is for logging interesting events that happen during a url fetch. Interesting events include “fetch start”, “url rejected”, etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.String
NumOccurrencesTrawlerEventEvent is for logging interesting events that happen during a url fetch. Interesting events include “fetch start”, “url rejected”, etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.integer
OldestTimeStampInUSLimited to 3.TrawlerEventEvent is for logging interesting events that happen during a url fetch. Interesting events include “fetch start”, “url rejected”, etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.list(String)
TimeStampInUSTrawlerEventEvent is for logging interesting events that happen during a url fetch. Interesting events include “fetch start”, “url rejected”, etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.String
compressionTrawlerFetchBodyDataString
contentTrawlerFetchBodyDataString
uncompressedSizeSize hint. Set if compression != NO_COMPRESSIONTrawlerFetchBodyDataString
CrawlTimesTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerCrawlTimes
ThrottleClientIf present, Client API will enforce the contained constraintsTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerThrottleClientData
DNSHostSometimes the hostid and destination IP in the FetchReplyData are not for the hostname in the url. If that’s the case DNSHost will be the host that we have used when resolving hostid and DNS. Right now there are two cases: (1) malware team provides a proxy IP:Port to us, so DNSHost will be the proxy IP; and (2) PSS team provides a reference DNS host; so DNSHost will be the reference DNS host.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HostBucketDataData about the host bucket this request is in (if desired) Please talk with Trawler team before considering using this, since what we fill in here is subject to change.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerHostBucketData
DownloadTimeThe download time for this fetch (ms). This is the RTT time between fetcher and HOPE, note it does not include time from redirects, just initial hop. If you want the sum of the DownloadTime values for all fetches in the redirect chain, then use the DownLoadTime value in the FetchStats.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–integer
partialresponseTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataPartialResponse
IDSame as the ID of the matching request (used for matching internal fetchclient data in request/reply)TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
originalProtocolUrlIf the input url in FetchRequest is Amazon S3 protocol or Apple Itunes protocol, we will translate it into https url and log it as https url. In the meantime we will store the original s3/itunes url in this field. Before sending back to client, the Url will be translated back to s3 and this field will be cleard.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
FlooEgressRegionIf present, fetch was conducted using floonet and this is the location of floonet egress point we used.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
UseHtmlCompressDictionaryUse the special compression dictionary for uncompressing this. (trawler::kHtmlCompressionDict. Use trawler::FetchReplyUncompressor to uncompress; crawler/trawler/public/fetchreply-util.h)TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–boolean
EventsTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–list(TrawlerEvent)
HTTPTrailersThe received HTTP trailers if available.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–list(TrawlerFetchReplyDataHTTPHeader)
webioInfoTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataWebIOInfo
Endpoints——- If fetched, the IP from which we fetched, as well as source IP and ports. It is recommended to use trawler::DestinationIP()/HasDestinationIP() accessors, which return a proper IPAddress.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerTCPIPInfo
GeoCrawlEgressRegionIf present, the last hop of the fetch was conducted using floonet and this is the location of floonet egress point. It is different from EgressRegion and FlooEgressREgion because it is a Trawler transparent routing configured in the geo crawl rules(go/da-geo-crawl).TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HSTSInfoSet to: o HSTS_STATUS_NONE if there was no HSTS policy match for the URL’s host. o HSTS_STATUS_AVAILABLE if there was an HSTS policy, but the URL was not rewritten from HTTP to HTTPS because enable_hsts was not set in client capability config. o HSTS_STATUS_REWRITTEN if the HSTS policy was followed and url was rewritten from HTTP to HTTPS. This field only pertains to the current URL fetch and does not explain a redirect’s HSTS status. However, FetchReplyData.Redirects have their own HSTSInfo.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
FetchPatternFpWith the introduction of fetch pattern based hostload exceptions, one hostid may have multiple hostload buckets, each with its own hostload. In this case, FetchPatternFp will be set to identify the hostload bucket within the hostid. Note this field is only meaningful for the HostBucketData which is recorded only when the client requests to have as part of reply. However, this field is useful for certain stats gathering, so we choose to always record it if its value is available during the fetch.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
UrlEncodingEncoding info for the original url itself. Bitfield encoding; see UrlEncoding::{Set,Get}Value in webutil/urlencoding.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–integer
PostDataIf the fetch uses HTTP POST, PUT, or PATCH protocol, and WantPostData is true, the POST data will be copied here. This is only for initial hop. If there are redirects, HTTP POST will be changed to GET on subsequent hops, and the PostData will be cleared. There is only one exception, if the HTTP response code to the POST request is 307 (a new code introduced in RFC7321, sec. 6.4.7), we will preserve the request method and the PostData for the next hop.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
TransparentRewritesIf the url got rewriten by transparent rewrites, here it is the series of rewrites it got through. The fetched one is the lastTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–list(String)
HopCacheKeyForUpdateTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
GeoCrawlFallbackWhether we fallback from geo crawl to local crawl during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try geo-crawl anymore.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–boolean
ReuseInfo——– Returns trawler::ReuseInfo with status of IMS/IMF/cache query. Consider using HopReuseInfo instead, which has per-redirect hop detail. If there’s URL redirection, this field stores the reuse info of the last hop. For example, if the and URL redirect chain is [URL A] –> [URL B] –> [URL C], this field stores the reuse info of [URL C].TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
TimestampInMSWhen this reply came back from fetcher NOTE: TimestampInMS is used for internal debugging. To see when a document was crawled, check CrawlDates.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
CompressedBodyIs the associated body compressed ?TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–boolean
HttpResponseHeadersHTTP headers from the response (initial hop). Trawler does not fill this in; this is intended as a placeholder for crawls like webmirror that fill in and want to track this across redirect hops.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
RedirectSourceFetchIdIf this fetch was a result of a redirect, we populate the parent ID here.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
RobotsStatusStatus of the robots.txt fetch. Currently, this is present if: – Certain robots error cases, such as URL_TIMEOUT-TIMEOUT_ROBOTS or URL_UNREACHABLE-UNREACHABLE_ROBOTS_ERROR. – If WantRobotsBody is set in the FetchParams.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchStatus
trafficTypeTraffic type of this fetch.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HostIdIf known, the trawler::HostId that identifies the host (initial hop).TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HopRobotsInfoExtra information in robots.txt for this page (integer: or’ed together of type trawler::RobotsInfo) on a per-hop basis (initial hop)TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–integer
TotalFetchedSizeHow many raw bytes we read from the connection to the server when we fetched the page. Includes everything: HTTP headers, overhead for HTTP chunked encoding, whatever compressed/uncompressed form (i.e. gzip/deflate accept-encoding) the content was sent in, etc. This is NOT the same as the size of the uncompressed FetchReply::Body – if the webserver used gzip encoding, this value might be much smaller, since it only counts the compressed wire size. To illustrate, think of 3 sizes: 1) TotalFetchedSize – amount Trawler read over the wire from the server. If they used gzip/deflate, this might be 4-5x smaller than the body. 2) UnTruncatedSize/CutoffSize – how big is the full document, after uncompressing any gzip/deflate encoding? If truncated, this is reflected in CutoffSize. 3) FetchReply::Body size – most crawls enable Trawler compression to save storage space (gzip + a google html dictionary). The body size that the end Trawler client sees is post-compression.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
GeoCrawlLocationAttemptedSet only when GeoCrawlFallback is true. Logs the geo crawl location we attempted but failed for this request.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HttpVersionStores the HTTP version we used in the final hop.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HopCacheKeyForLookupReturns the cache key used when doing cache lookup/update, on a per-hop basis (initial hop) Note this field will not be set if cache lookup/update is disabled/skipped.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
EgressRegionIf present, the edge region that we have used.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
RobotsInfoExtra information in robots.txt for this page (ORed together bits from trawler::RobotsInfo). e.g. nosnippet vs. noarchive vs nofollow vs noindex vs disallow Consider using HopRobotsInfo instead, which has per-redirect hop detail.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–integer
HopReuseInfoReturns trawler::ReuseInfo with status of IMS/IMF/cache query, on a per-hop basis (initial hop) For example, if the URL redirect chain is [URL A] –> [URL B] –> [URL C], this field stores the reuse info of [URL A].TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
RequestorIPAddressPackedMachine that sent Trawler this request, for logging. An IPAddress object, packed as a string.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
redirectsTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–list(TrawlerFetchReplyDataRedirects)
ProtocolVersionFallbackWhether we fallback from HTTP/2 to HTTP/1.1 during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try HTTP/2 anymore.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–boolean
BadSSLCertificateThis field, if non-empty, contains the SSL certificate chain from the server. The filed should be serialized SSLCertificateInfo protobuf, although it used to be text format. Hence, one should ideally use trawler::CertificateUtil to check this field and understand in more detail. This field is populated in two cases: (1) something is wrong with the server certificate and we cannot verify the server’s identity. In this case the URL most likely won’t display in a browser; (2) if you turned on WantSSLCertificateChain in the FetchRequest. In this case the server certificate may be perfectly fine (despite the field name). This is for the initial hop; additional hops are in Redirects group.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
ClientServiceInfoSome client specific data that’s set by client in the FetchRequest, and we just copy it here verbatim. This is similar to ClientInfo that we copy from FetchRequest to FetchReply, but this is copied to FetchReplyData, thus stored in trawler logs so can be useful for debugging cases.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerClientServiceInfo
deliveryReportTransfer operation detailed report.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataDeliveryReport
UrlThe original url in the request we are answering. Even though “optional,” url must be filled in on all well-formed replies. Trawler guarantees that it is filled in, and basically every client expects it (CHECKs in some cases). -> Not filling this field in is a bug, if you share this data with other crawls/pipelines. You should expect everybody else to require a url.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
ThrownAwayBytesSometimes we throw away content because we cannot store it in the internal buffers. These is how many bytes we have thrown away for this factor.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
HttpRequestHeadersThe HTTP headers we sent to fetch this URL (initial hop). Not normally filled in, unless FetchParams.WantSentHeaders is set.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
LastUrlStatusCrawl status of the last url on chainTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchStatus
protocolresponseTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataProtocolResponse
EligibleGeoCrawlEgressRegionIf present, it means this host might be eligible for geo crawl. However, this does not mean we enable geo-crawl for this request. Check “GeoCrawlEgressRegion” instead to see if this fetch is conducted via geo crawl.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
StatusStatus of the fetch – refers to the final status at the end of the redirect chain.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchStatus
RequestorIDRequestorId is the same on as in the request that triggers this reply — mainly for diagnostics purposeTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
TrawlerPrivateFor logging only; not present in the actual fetcher responseTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerTrawlerPrivateFetchReplyData
crawldatesTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataCrawlDates
PolicyDataTrawler can optionally add a policy label to a FetchReply. Some uses: – “spam” label via trawler_site_info – “roboted:googlebot” label as a signal to crawls supporting multiple useragents that it’s not safe to share the fetch replies with googlebot crawls.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–list(TrawlerPolicyData)
HttpProtocolThe http protocol we send to fetch this URL. This will only be set if the request is using httpTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
PredictedDownloadTimeMsThis is available only if a fetch results in TIMEOUT_WEB, and we were able to predict, based on content length and bandwidth we were using, how much time (in ms) would be needed to download the entire content.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–integer
fetchstatsTrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–TrawlerFetchReplyDataFetchStats
RobotsTxtThe robots.txt we used for this URL (initial hop). Not normally filled in unless WantRobotsBody is set. This is mostly for debugging purposes and should not be used for large volumes of traffic.TrawlerFetchReplyDataFetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: – cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields – tlookup, tlookup_server: want to be able to return the new fields – logviewer, fetchutil: annoying to get back ‘tag88:’ in results ————————– Next Tag: 125 ———————–String
NotChangedDatefetched from the web. Timestamp indicates whenTrawlerFetchReplyDataCrawlDatesReuse information returned if UrlState == CRAWLED, specifying when we may have reused from cache. See also ReuseInfo below. NOTE: Please use the CrawlTimes below. CrawlDates is deprecated. use CrawlTimes instead!integer
OriginalCrawlDateTimestamp when the page wasTrawlerFetchReplyDataCrawlDatesReuse information returned if UrlState == CRAWLED, specifying when we may have reused from cache. See also ReuseInfo below. NOTE: Please use the CrawlTimes below. CrawlDates is deprecated. use CrawlTimes instead!integer
ReuseDatethe page was last checked but found to be the same as before. If set, timestamp to indicateTrawlerFetchReplyDataCrawlDatesReuse information returned if UrlState == CRAWLED, specifying when we may have reused from cache. See also ReuseInfo below. NOTE: Please use the CrawlTimes below. CrawlDates is deprecated. use CrawlTimes instead!integer
eventsThe events store the detail of messages (usually error).TrawlerFetchReplyDataDeliveryReportDepending on which Data Acquisition API the client uses, the fetched content can be delivered to the client in the RPC, via Goops, or copied to the client’s storage system (possibly after transformation). In the latter case, DeliveryReport will contain info about the delivery status, such as whether we have permission error, whether the destination storage is out of quota, etc).list(TrawlerEvent)
filePathThe complete path (include the file name) of the file downloaded. For requests that require delivery, this path will be the user specified location. For requests that use Multiverse default storage, this path will be the managed by Multiverse.TrawlerFetchReplyDataDeliveryReportDepending on which Data Acquisition API the client uses, the fetched content can be delivered to the client in the RPC, via Goops, or copied to the client’s storage system (possibly after transformation). In the latter case, DeliveryReport will contain info about the delivery status, such as whether we have permission error, whether the destination storage is out of quota, etc).String
statusStatus of the transfer action.TrawlerFetchReplyDataDeliveryReportDepending on which Data Acquisition API the client uses, the fetched content can be delivered to the client in the RPC, via Goops, or copied to the client’s storage system (possibly after transformation). In the latter case, DeliveryReport will contain info about the delivery status, such as whether we have permission error, whether the destination storage is out of quota, etc).String
BotOverheadMSOverhead spent RPCing with the Bot/proxy.TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
ClientControlflowStatsTrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.TrawlerFetchReplyDataFetchStatsClientStateStats
ConnectTimeMsReport only with first request on connection, so that we keep track of the connect time with a host. Sometimes a connection is initiated by a prior request that times out before the connection is established. Another request can get scheduled on a connection that is already in the process of being established but has no request scheduled onto it. We want to keep track of the entire connect time even if a request didn’t need to wait for the entire connection establishment time. Sometimes a connection may get established before the first request uses it. We tag along the connect time with the first request using the connection. ConnectTimeMs also includes SSL negotiation time.TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
ControlflowStatsTrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.TrawlerFetchReplyDataFetchStatsStateStats
DownLoadTimeDownLoadTime = Share of connect time + ServerResponseTimeMs + TransferTimeMs (see below) in msTrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
EdgeEgressOverheadMsOverhead spent routing the request from HOPE to edge egress nodes, which open connection to webservers. This is only set for edge fetches (e.g., through Floonet egress nodes).TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
SSLConnectTimeMsConnectTimeMs includes TCP connect time + SSL time, whereas SSLConnectTimeMs includes only the latter.TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
ServerResponseTimeMsTime between the request send and the receipt of the first fragment of the response. For HTTP responses the first fragment is the first fragment of the response payload (the headers are ignored).TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
TransferTimeMsTime to receive the entire response payload starting the clock on receiving the first fragment.TrawlerFetchReplyDataFetchStatsThe fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.integer
WaitContentCacheUsecTrawlerFetchReplyDataFetchStatsClientStateStatsRecords stats about state changes on the client side if there’re any. For example, there’s a state of cache lookup when using private-cache client library.integer
EndTrackingTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.String
StartTrackingTimeUsecStart and end timestamp tracking the delays for this request.TrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.String
WaitCompressTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitContentCacheUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitCredentialTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitDNSTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitFetchClientUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitForCachedContentStreamingUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitForFetchUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitHostIdTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitNextFlowUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitRobotsCacheTimeUsecobsolete. Not set.TrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitRobotsFetchTimeUsecobsolete. Not set.TrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitRobotsTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
WaitScheduleTimeUsecTrawlerFetchReplyDataFetchStatsStateStatsThe following are only populated if Params.WantStateStats is true.integer
keyTrawlerFetchReplyDataHTTPHeaderheader : valueString
valueTrawlerFetchReplyDataHTTPHeaderheader : valueString
BodyLocationIf set, indicates where the fetched body is, e.g. a CNS file path. FetchReply.Body should be empty in this case. In the case where client does not support streaming but the content is too large to be accumulated in memory, we keep writing the streaming chunks to some storage unit and notify client when it is done.TrawlerFetchReplyDataPartialResponse#NAME?String
ChunkNumberFetch number in this series of fetchesTrawlerFetchReplyDataPartialResponse#NAME?integer
ContentRangeIf there is a Content-Range header, the ranges in itTrawlerFetchReplyDataPartialResponse#NAME?TrawlerContentRangeInfo
ETagAny ETag seen in the headersTrawlerFetchReplyDataPartialResponse#NAME?String
FetchIDID which links all partial fetches for this urlTrawlerFetchReplyDataPartialResponse#NAME?String
IsFinalResponseIs this the final response for this fetch?TrawlerFetchReplyDataPartialResponse#NAME?boolean
CodeResponse code. We emulate the HTTP response codes for all protocols that we know. — HTTP: response code for the downloaded page. — FTP: similar with HTTP: 200 – OK, 40X – errors (not found, etc), 500 – server unavailableTrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).integer
ContentTypeContent type as inferred by the fetcher (webutil/http/content-type.proto)TrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).String
CutoffSizeWhere did we cut off? Includes headers plus truncated but uncompressed content. Present if and only if we truncated the document.TrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).String
HttpVersionDEPRECATED, see field 113. Stores the HTTP version we used in the final hop.TrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).String
ProtocolVersionFallbackDEPRECATED, see field 114. Whether we fallback from HTTP/2 to HTTP/1.1 during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try HTTP/2 anymore.TrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).boolean
UnTruncatedSizeThe amount of data we got from the webserver before any truncation, but after undoing any HTTP gzip/deflate encoding. For HTTP, this includes headers and uncompressed content. Content size is excluded if content was not successfully fetched. See description above TotalFetchedSize for comparison.TrawlerFetchReplyDataProtocolResponseGroup with protocol specific response (determined by the protocol of the url that generated the content we return).String
BadSSLCertificateThe server SSL certificate chain in SSLCertificateInfo protobuf format. See this field in FetchReplyData (i.e., the initial hop) for more description on when it will be populated.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
CrawlTimesPer redirect hop timestamps. ThisTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.TrawlerCrawlTimes
DownloadTimeDownload time of this fetch (ms)TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.integer
Endpoints## stats If fetched, ip info.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.TrawlerTCPIPInfo
HSTSInfoThis specifies if the url in a redirect was rewritten to HTTPS because of an HSTS policy for the domain. See comments on FetchReplyData.HSTSInfo for how this field’s values. A redirect that was rewritten with HSTS will have HSTS_STATUS_REWRITTEN ## here.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
HTTPResponseCodeThe HTTP response code for this hop. We need this since multiple response codes may have the same redirect type (e.g., 302 and 307 are both REDIRECT_TEMPORARILY), but clients may want to know which one was received. Note this is set only for the hops that are followed (i.e., TargetUrl is present). If the last redirect hop was not followed the fetch status will be URL_NOT_FOLLOWED, and the response code will be in the top level ProtocolResponse field.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.integer
HopPageNoIndexInfoExtra trawler::PageNoIndexInfo for this hop. Integer: ORed together bits from trawler::PageNoIndexInfo. The information specified by this field comes from the http header or content of the source url, not the “TargetUrl” in this Redirects group.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.integer
HopReuseInfotrawler::ReuseInfo with status of IMS/IMF/cache query, for this hop.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
HopRobotsInfoExtra trawler::RobotsInfo for this hop. Integer: ORed together bits from trawler::RobotsInfoTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.integer
HostIdIf known, the hostid for this hopTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
HttpRequestHeadersThe http headers we sent for fetching this redirect hop. Not normally filled in, unless FetchParams.WantSentHeaders is set.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
HttpResponseHeadersThe http headers we received from this redirect hop. Trawler does not fill this in; this is intended as a placeholder for crawls like webmirror that fill in and want to track this across redirect hops.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
RawTargetUrlbytes: can contain bad encoding.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
RefreshTimeRefresh time in meta redirect tagTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.integer
RobotsTxtThe robots.txt we used for this fetch. Not normally filled in unless WantRobotsBody is set.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
SourceBodyFor meta-redirects, this field may contain the body of the source document. Currently only filled client side and not implemented (yet) for server-side redirects.TrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.TrawlerFetchBodyData
TargetUrlDifference between the following two fields: TargetUrl is set when we have followed the redirect target, and the url is canonicalized. RawTargetUrl is set in either of the following two cases: (1) The url has not be been followed. For example, the redirect is intended to be handled by the client. In the fetch reply response, you will see the url’s status as URL_NOT_FOLLOWED-NOT_FOLLOWED*. (2) The extracted redirect url is different from its *canonicalized* form. For example, if the target url contains fragments, then this RawTargetUrl will have the fragments. Redirect targetTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
TypeURL and redirect typeTrawlerFetchReplyDataRedirectsThe sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.String
webioTrawlerFetchReplyDataWebIOInfoWebIO is the new hostload model introduced in 2023. It measures the occupancy of 1 outgoing fetch connection for 1 minute.number
webioPercentageTierTrawlerFetchReplyDataWebIOInfoWebIO is the new hostload model introduced in 2023. It measures the occupancy of 1 outgoing fetch connection for 1 minute.String
ReasonThe Reason field gives further clarifying details about why or how the fetch had the given outcome. For instance, if State is URL_ERROR – was it a 404/NotFound or a DNS error? The Reason field is present iff State != URL_CRAWLED. For a given crawl status of URL_FOO, the Reason value will be one of the various FetchFooReason enum values from crawler/trawler/trawler_enums.protoTrawlerFetchStatusinteger
StateThe State field describes the basic outcome of a fetch (URL_CRAWLED, URL_ROBOTED, URL_ERROR, etc). The value is one of the UrlStatusType enum values from crawler/trawler/trawler_enums.proto Note, there are several combinations of this Status/Reason tuple that could mean that your content is crawled or can be bucketed in a particular type of error. So instead of comparing the enumeration values manually, we suggest to use the predicate functions such as IsContentCrawled() provided in crawler/trawler/public/basictypes.h (see details there).TrawlerFetchStatusString
ClientTrafficFractionHow much existing trafficTrawlerHostBucketData!ERROR! D12527 -> Formula Error: An unexpected error occurrednumber
ClientWeightFractionbelong to the client How much weight the clientTrawlerHostBucketData!ERROR! D12528 -> Formula Error: An unexpected error occurrednumber
CurrentActiveConnectionsHow many connections are actively used for downloading ?TrawlerHostBucketData!ERROR! D12529 -> Formula Error: An unexpected error occurredinteger
IsFullIs this bucket currently full ?TrawlerHostBucketData!ERROR! D12530 -> Formula Error: An unexpected error occurredboolean
LastScheduleIntervalMsHow many ms ago we last scheduled a urlTrawlerHostBucketData!ERROR! D12531 -> Formula Error: An unexpected error occurredString
MaxActiveConnectionsThe current hostload value (# of connections) – if negative does not applyTrawlerHostBucketData!ERROR! D12532 -> Formula Error: An unexpected error occurrednumber
MediumTermLoadThe load the recent times (the actual hostload that we apply is MaxActiveConnections / MediumTermLoad) – a hostload of 1.00 is normal, while over 1.0 is higher than normal loadTrawlerHostBucketData!ERROR! D12533 -> Formula Error: An unexpected error occurrednumber
MinInterRequestSecsThe min delay between requests (in secs) – if negative does not applyTrawlerHostBucketData!ERROR! D12534 -> Formula Error: An unexpected error occurrednumber
NonFullIntervalMsIf is full, when is becoming non-full (in ms)TrawlerHostBucketData!ERROR! D12535 -> Formula Error: An unexpected error occurredString
TotalCapacityQpsThe following four fields attempt to make things simpler for clients to estimate available capacity. They are not populated yet as of 2013/08/21. Even after they are populated, they may change. So talk to trawler-dev@ before you use the fields. Total qps for this hostidTrawlerHostBucketData!ERROR! D12536 -> Formula Error: An unexpected error occurrednumber
TotalUsedQpsCurrently used qpsTrawlerHostBucketData!ERROR! D12537 -> Formula Error: An unexpected error occurrednumber
urllistTrawlerHostBucketData!ERROR! D12538 -> Formula Error: An unexpected error occurredlist(TrawlerHostBucketDataUrlList)
ClientCanCrawlIs this client/requestorid allowed to crawl now? (based on resource use)TrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:boolean
IsDefaultNodeIs this the ‘default’ user’s listTrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:boolean
IsListForUrlWas this the list that a given request landed in?TrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:boolean
NumCurrentFetches# of current active fetchesTrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:integer
NumUrls# of urls currently in the queueTrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:integer
PartnerTotalCapacityQpsTotal qps for this partner dedicated hostload, for non partner it will be -1.0.TrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:number
PartnerTotalUsedQpsCurrently used qps for this partner dedicated hostlaod, for non partner it will be -1.0.TrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:number
RequestTypeThe type of the request (low latency vs. high throughput)TrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:String
RequestorFpThe fp64 of the requestor stringTrawlerHostBucketDataUrlListPer each list that wishes to schedule url we return one of these:String
cloudRegionTrawlerLoggedVPCDestinationInformation about VPC fetches tracked for logging purposes.String
vnidTrawlerLoggedVPCDestinationInformation about VPC fetches tracked for logging purposes.NetFabricRpcVirtualNetworkId
crawlPolicyIdTrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.integer
crawlPolicyNameTrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.String
hyperdriveAppNameHyperdrive Analytics.TrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.String
hyperdriveTableNameTrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.String
topicIdPropagate the id instead of the string name to save storage resource. TODO (b/317133951) consider deprecate the two fields in string above.TrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.integer
topicNameTrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.String
trafficTypeTrawlerMultiverseClientIdentifierContain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.String
clientCellTrawlerOriginalClientParamsThe information about the original client who starts the request.String
clientIpTrawlerOriginalClientParamsThe information about the original client who starts the request.String
clientRpcTypethrough which RPC requestTrawlerOriginalClientParamsThe information about the original client who starts the request.String
clientUsernameTrawlerOriginalClientParamsThe information about the original client who starts the request.String
ExtraDatain roboted case, the RobotsInfoTrawlerPolicyDataTrawler can add a policy label to a FetchReply. The two main cases are: – “spam” label added for specific spammer IPs listed in trawler_site_info, which most crawls auto-reject. – “roboted:useragent” (e.g. “roboted:googlebot”) if InfoOnlyUserAgents field is set in FetchParamsinteger
Label“spam” or “roboted:googlebot”TrawlerPolicyDataTrawler can add a policy label to a FetchReply. The two main cases are: – “spam” label added for specific spammer IPs listed in trawler_site_info, which most crawls auto-reject. – “roboted:useragent” (e.g. “roboted:googlebot”) if InfoOnlyUserAgents field is set in FetchParamsString
ALPNNegotiatedProtocolALPN negotiated protocol, see https://tools.ietf.org/html/rfc7301 The value will either be empty, or one of the protocol names sent by the client that the server accepted. Examples include “h2” and “acme-tls/1”.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-String
CertificateChainIf present, this consists of the remote webserver’s X.509 certificate chain in DER format. The chain stored here is the *reversed* result of SSL_get_peer_cert_chain(). That is to say, it is the chain presented by the peer (which may differ from the chain that was built and verified), but in leaf-last order. Typically the root cert will not be included. But do not assume anything, because servers do all manner of weird things. (For example on the beginning of the chain, there might be also some irrelevant certificates besides the root certificate.) Certificates may be the empty string, indicating an encoding failure. See also |IsTruncated|. Certs can be loaded with util/sig/cert.h Cert::LoadBinaryCert(), converted to ASCII PEM format (CertificateUtil::CertificateToPEM()) or shown as text at the commandline by piping them into ‘openssl x509 -text -inform DER’.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-list(String)
ErrorMessagesErrorMessages contains errors from HTTPS validation. Examples of such errors include invalid certificates, failure to build a certificate chain, certificates that do not match the expected hostname, and internal errors. If ErrorMessages is empty, HTTPS validation succeeded. Otherwise, it failed. This is the only guarantee about the contents of this field, though legacy code exists that embeds invalid assumptions, b/70904498. New code should not do anything with this field other than test whether it is empty and display its value to humans. If you need to know more about the details of a particular HTTPS validation, you can revalidate |CertificateChain| independently.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-list(String)
IsTruncatedThis SSLCertificateInfo had its fields truncated because it was too large. It is no longer set (cl/205356251) but may be true in old records.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-boolean
OCSPResponseStapled OCSP response obtained during the TLS handshake, if any. An OCSP (Online Certificate Status Protocol) response is an indication, signed by the issuing CA, that the certificate has not been revoked. A TLS handshake extension allows servers to “staple” a response to the certificate served in the handshake, saving the need for the client to fetch it itself from the CA. This field contain the stapled OCSP response if the server served one. See RFC6066, Section 8 for the data format: https://tools.ietf.org/html/rfc6066#section-8TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-String
SCTListSCTList obtained during the TLS handshake, if any. See RFC6962, Section 3.3 for the data format: https://tools.ietf.org/html/rfc6962#section-3.3TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-String
SSLCipherSuiteTrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-integer
SSLCipherSuiteNameTrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-String
SSLProtocolVersionDetails about the SSL/TLS protocol and cipher. See RFC5246 and google3/crawler/trawler/hope/proto/ssl.proto for more details.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-integer
SSLProtocolVersionNameThe names of the SSL protocol version and cipher suite. These strings are implementation defined and may be subject to change.TrawlerSSLCertificateInfoThis protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. ————————– Next Tag: 13 ——————————-String
DestinationIPAddressPackedAddress of the destination host. Extract with trawler::DestinationIP() or decode with PackedStringToIPAddress().TrawlerTCPIPInfoTo keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).String
DestinationPortTrawlerTCPIPInfoTo keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).integer
SourceIPAddressPackedSource address of the crawl machine we originated the fetch from. Extract with trawler::SourceIP() or decode with PackedStringToIPAddress().TrawlerTCPIPInfoTo keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).String
SourcePortTrawlerTCPIPInfoTo keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).integer
IsBandwidthThrottleTrawlerThrottleClientDataboolean
MaxAllowedRateMax doc_requestor urls/second allowed from this client to this fetcher.TrawlerThrottleClientDatanumber
PostDataSizeWhat’s the post data size (in bytes) if it’s a post request.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
numDroppedRepliesNumber of times we drop the content of a stream reply or the final reply, which can only be caused by REJECTED_NO_RPC_BUFFERS now.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
HintIPAddressIf we do not have Endpoints in FetchReplyData (e.g., url rejected due to hostload limit), do we have a guess of the server IPAddress (e.g., from robots fetch)? This helps us classify URLs based on country code, etc. The field is filled with IPAddress::ToPackedString().TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
RpcStartDeadlineLeftMsRPC deadline left at the start of url control flow. Can be useful for debugging rpc deadline exceeded error received by clients, this field is only recorded if RpcEndDeadlineLeftMs is small enough.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
largeStoreHitLocationSet to the hit location (CNS filename) if cache comes from large store.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
isDedicatedHostloadTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
dependentFetchTypeDependent fetch typeTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
isVpcTrafficSet if the fetch goes through the virtual private cloud path so we can track the VPC traffic.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
httpVersionStores the HTTP version we used in the last hop.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
BotGroupNameIf we fetched using BotFetchAgent, what is the BotGroupName?TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
isBidiStreamingFetchWhether this is a bidirectional streaming fetch.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
authenticationInfoStores the OAuth authentication method.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
RequestUserNameLog the loas username in trawler private to help with debugging. Store the username in trawler private so clients won’t see it from FetchReply. To reduce disk usage, we only log the loas username if the requestorid being used does not have ClientUsernameRestrictions.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
cacheHitTypeOnly set if the fetch uses cache content (is_cache_fetch is true).TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
originalClientParamsStore the original client information.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49TrawlerOriginalClientParams
IsRobotsFetchWas this an internally-initiated robots.txt fetch?TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
resourceBucketIf the requestor shares resource bucket with other requestorids, we will store the resource bucket name in these fields.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
cacheAcceptableAgeCorresponds to AcceptableAge field in FetchParams.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
ProducerNote TrawlerPrivateFetchReplyData is never sent back to clients. The following field is just for Trawler and Multiverse internal tracking, and clients should not look at this field at all.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
ProxyInstanceIf set, this fetch was done through a proxy (e.g., fetchproxy).TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
cdnProviderTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
concurrentStreamNumHow many concurrent streams are on the connection when the request finishes (including this request). Export this value to monitor the stream multiplexing for HTTP/2.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
cacheAcceptableAfterDateCorresponds to AcceptableAfterDate field in FetchParams.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
credentialIdLog the credential idTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
ResponseBytesThe number of bytes we sent back to the client.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
downloadFileNameIf the response header contains Content-Disposition header “attachment; filename=”google.zip”: the download_file_name would be “google.zip”TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
isFloonetFetchWhether or not this is a Floonet fetch request. Floonet requests have inherent lower availability (due to HOPE rejections when HOPE is in degraded mode, and other Floonet specific reasons). Therefore, it is important for debugging and for our availability SLO to know whether of not it is a floonet fetch. IMPORTANT NOTE: This field is only currently set for traffic that explicitly requires Floonet and can not failover to use Googlebot (i.e. “transparent” or “implicit” Floonet fetches).TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
multiverseClientIdentifierMultiverse client informationTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49TrawlerMultiverseClientIdentifier
TrawlerInstanceWhich Trawler cell was this response fetched in? (e.g. “HR” or “YQ”)TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
HSTSHeaderValueHTTP Strict-Transport-Security (RFC6797) header value. We log this so we can generate a list of hosts that prefer HTTPS over HTTP.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
tierService tier info will be used in traffic grapher for ploting per tier graph.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
Is5xxHostIdRepresents if the HostId belongs to HostId set in 5xx url patterns, it can work as a tag when emitting requestor minute summary, this helps us to aggregate traffic affected by 5xx patterns, and test if there are any fetching changes.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
UserAgentSentThe useragent string sent to the remote webserver. It corresponds to UserAgentToSend field in FetchParams.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
googleExtendedObeyWildcardRobotsStatusWe check if Google-Extended is allowed to crawl this URL, wildcard rules are obeyed, this is for internal analysis. Check RobotsTxtClient::RobotsStatus for the meaning of number.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
RobotsBodyIf this was a robots.txt fetch (IsRobotsFetch above), this may contain the robots.txt body. (It may not, for instance, 404s are omitted; current policy is URL_CRAWLED + partially crawled) This includes http headers + body.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
UserAgentSentFpThe fp2011 of useragent sent to the remote webserver, note it corresponds to UserAgentToSend field in FetchParamsTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
prodRegionLog the prod region (only for regional harpoon requestor ids)TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
RpcEndDeadlineLeftMsRPC deadline left at the end of url control flow. Can be useful for debugging rpc deadline exceeded error received by clients, this field is only recorded if it’s small enough.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
isFromGrpcProxyWhether or not this response is sent from gRPC proxy service.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
ServerSignatureAn arbitrary string signature identifying the remote server type/version. In the case of HTTP, this would be the contents of the “Server:” header.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
googleExtendedRobotsStatusWe check if Google-Extended is allowed to crawl this URL and store the result here, wildcard rules are not obeyed, this is for internal analysis. Check RobotsTxtClient::RobotsStatus for the meaning of number.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
BotHostnameThis is the HOPE server that we sent the url to. We log the HOPE backend cell and hope server shard number (e.g., ‘qf:6’). This allows us to understand how we are balancing our load to the HOPE servers.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
subResourceBucketTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
vpcDestinationThe following are vpc information that’s only set if is_vpc_traffic is true.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49TrawlerLoggedVPCDestination
bypassedHostOverfullCache hit for this url, bypassed host_overfull error.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
CacheRequestorIDPresent if the reply is from the trawler cache. This is the requestorid of the trawler client that populated the cache with the data we are reusing.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49String
HadInMemCacheHitTrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49boolean
FetcherTaskNumberWhich Trawler fetcher task fetched this URL.TrawlerTrawlerPrivateFetchReplyDataThis is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49integer
debugA debug message that summarizes how the score was computed. Populated if result was matched and in debug mode.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.String
docidThe docid of the result, if available.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.String
estimatedNavinessThe naviness for this result. Each matcher can determine the naviness to use for the result. This can be copied directly from the result, or estimated based on clicks or some other heuristic. The value should be between 0 and 1 and should indicate the probability that the user will click on that result. The estimated_naviness is used to break ties when between results with the same rank.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.number
provenanceAll provenances of this result support.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.list(UniversalsearchNewPackerKnowledgeResultSupportProvenance)
rankThe 0 based rank for this result. When the source is MAIN_GSR this corresponds to the index of the result in the generic search response specific in AddKnowledgePackerPreprocessors. Otherwise, the rank should be estimated so the result is closest in importance to the web result at the same rank.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.integer
scoreA score from 0 to 1 inclusive that represents the strength of the result support. A score of one indicates this result is entirely about this interpretation.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.number
sourceThe source of the result support.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.String
urlThe result url when available.UniversalsearchNewPackerKnowledgeResultSupportInformation about the result support for a given interpretation.String
entityGroupTypeEntity group type of the supported entity. This field should only be set for support on entities.UniversalsearchNewPackerKnowledgeResultSupportProvenanceInformation about provenance of a result support.String
fromAnswer!ERROR! B12636 -> Formula Error: An unexpected error occurredUniversalsearchNewPackerKnowledgeResultSupportProvenanceInformation about provenance of a result support.boolean
nameThe provenance provider name.UniversalsearchNewPackerKnowledgeResultSupportProvenanceInformation about provenance of a result support.String
NotChangedTimeMsfetched from the web. Time when the page was lastUrlPoisoningDataUrl poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6String
OriginalCrawlTimeMsTime when the page wasUrlPoisoningDataUrl poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6String
ReuseTimeMschecked but found to be the same as before. If set, timestamp to indicateUrlPoisoningDataUrl poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6String
numSpamSiblingsUrlPoisoningDataUrl poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6integer
urlwhen it is fetched from the repository. URL of the document for debuggingUrlPoisoningDataUrl poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6String
canonicalCodeThe canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.UtilStatusProtoWire-format for a Status objectinteger
codeNumeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.protoUtilStatusProtoWire-format for a Status objectinteger
messageDetail messageUtilStatusProtoWire-format for a Status objectString
messageSetmessage_set associates an arbitrary proto message with the status.UtilStatusProtoWire-format for a Status objectProto2BridgeMessageSet
spaceThe following are usually only present when code != 0 Space to which this status belongsUtilStatusProtoWire-format for a Status objectString
policyThe list of trusted genome policy.VendingConsumerProtoTrustedGenomeAnnotation—————————————————————————— Proto message containing the trusted genome entities that belong to an app. Document type: ANDROID_APP See go/gd-server-design for more info. ## Next tag: 4VendingConsumerProtoTrustedGenomePolicy
testCodeThe list of test code, used to log when serving. The test code is set in both control and experiment annotations when they are different.VendingConsumerProtoTrustedGenomeAnnotation—————————————————————————— Proto message containing the trusted genome entities that belong to an app. Document type: ANDROID_APP See go/gd-server-design for more info. ## Next tag: 4list(String)
trustedGenomeHierarchyThe list of trusted genome hierarchy. One trusted_genome_hierarchy may contain one or multiple entities. This is required for TG 2.0 tags.VendingConsumerProtoTrustedGenomeAnnotation—————————————————————————— Proto message containing the trusted genome entities that belong to an app. Document type: ANDROID_APP See go/gd-server-design for more info. ## Next tag: 4list(VendingConsumerProtoTrustedGenomeHierarchy)
categoryIdThe category id matching this trusted genome entity. e.g. Action tag with id /m/025zzc matches category of id GAME_ACTIONVendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12String
idThe identifier of a play trusted genome entity. Required.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12String
isLocalizedIndicate whether the trusted genome entity has localized title.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12boolean
levelThe level of the entity. E.g. in hierarchy like Action -> Platformer > Endless Runner. Action is level 1, Platformer is level 2 and Endless Runner is level 3. Currently, only APP_TAXONOMY and GAME_TAXONOMY type may have the levels. For entity that does not have hierarchy, its level is 1. Required.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12integer
predicateNameThe name of the relation between the app and the entity. Required.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12String
queryTextThe localized query string for this trusted genome entity. This query will be used when we want to bring users to SERP on click.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12String
recsTopicIdThe corresponding recs topics created from the trusted genome entity if available.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12list(String)
scoreThe confidence score of the entity to the app.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12number
titleThe localized title. Required.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12String
userVisibleThis boolean is used to decide whether this entity will be shown on user-facing features in the Store or not.VendingConsumerProtoTrustedGenomeEntityProto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12boolean
entityList of entities (one or multiple) that belong in the same hierarchy. The entries will be ordered such that the first entry will be of level 1, and the second entry will be of level 2, and so on. RequiredVendingConsumerProtoTrustedGenomeHierarchyProto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5list(VendingConsumerProtoTrustedGenomeEntity)
hierarchyTypeThe (hierarchy-level) type of this Trusted Genome hierarchy. Will only be populated when meeting certain criteria, e.g. ‘GD2_Game_Main’ means this hierarchy of entities can serve as the main game genre for Game Discovery 2.0.VendingConsumerProtoTrustedGenomeHierarchyProto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5String
sourceThe source of this Trusted Genome hierarchy.VendingConsumerProtoTrustedGenomeHierarchyProto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5String
trustedGenomeTypeThe (entity-level) type of trusted genome entities in this hierarchy. Required.VendingConsumerProtoTrustedGenomeHierarchyProto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5String
localizedRegionOverrideOverride text for region for special treatment. Override will be used in special cases for example regions are too long to show in UI, the override will be “CA/NV/…” to cut it short. By keeping a region override string we’ll have more flexibility to adjust what we show on UI. Optional.VendingConsumerProtoTrustedGenomePolicyProto message containing policy related information.String
policyTypePolicy type. e.g. Government Endorsed, Apollo Required.VendingConsumerProtoTrustedGenomePolicyProto message containing policy related information.list(String)
targetRegionContains target region for the current policy. OptionalVendingConsumerProtoTrustedGenomePolicyProto message containing policy related information.list(VendingConsumerProtoTrustedGenomePolicyTargetRegion)
localizedRegionLocalized name for targeted regions. e.g. San Francisco Bay Area Required.VendingConsumerProtoTrustedGenomePolicyTargetRegionString
midAssociated KG entity mid for region. e.g. /m/06pvrVendingConsumerProtoTrustedGenomePolicyTargetRegionString
channelMapMaps channel indexes of an audio stream to indexes corresponding to the specified ambisonics channel ordering scheme. For example: A 1st order pheriphonic ambisonics format is configured with 4 audio channels corresponding to ambisonic components W, X, Y, Z respectively. The channel_ordering scheme is specified as CHANNEL_ORDERING_ACN (which implies a W, Y, Z, X ordering). Therefore the channel_map is [0, 3, 1, 2].VideoAmbisonicsAmbisonicsMetadatalist(integer)
channelOrderingVideoAmbisonicsAmbisonicsMetadataString
nonDiegeticStereoVideoAmbisonicsAmbisonicsMetadataboolean
normalizationVideoAmbisonicsAmbisonicsMetadataString
numChannelsVideoAmbisonicsAmbisonicsMetadatainteger
orderVideoAmbisonicsAmbisonicsMetadatainteger
typeVideoAmbisonicsAmbisonicsMetadataString
versionVideoAmbisonicsAmbisonicsMetadatainteger
ownerREQUIRED: the current owner of this video. Please note that owner does not get implicit reader/writer access. You must set them explicitly.VideoAssetsVenomACLValid fields in ACL are “mdb/groupname”, or “user/username”, e.g., “mdb/youtube-prod”, or “user/alice”.String
readerAllowed readers of this video.VideoAssetsVenomACLValid fields in ACL are “mdb/groupname”, or “user/username”, e.g., “mdb/youtube-prod”, or “user/alice”.list(String)
writerAllowed writers of this video.VideoAssetsVenomACLValid fields in ACL are “mdb/groupname”, or “user/username”, e.g., “mdb/youtube-prod”, or “user/alice”.list(String)
objectiveThe objective this transition is about. REQUIRED.VideoAssetsVenomTransitionAs video mutations are reconciled by Venom, we can tell if the ingredient did or did not reach certain objectives. When processing has completed, all objectives will have a corresponding transition. All transitions are reset for every mutation, but will take into account assets outside of that mutation. For example, if Asset X fails, and was part of “OBJECTIVE_PRIMARY_ASSETS_DONE”, a rerun of Asset Y is destined to result in OUTCOME_FAILED, regardless of the fate of Asset Y. Some phenonema have effects on most or all Objectives. For example, a bad input file will result on OUTCOME_INFEASIBLE across the board (eventually, for now it’s just GO_LIVE and DO_ALL, work in progress), and a failure to produce Format 18 will cause OUTCOME_FAILED across most Objectives.String
outcomeWhether the objective is reached or not. REQUIRED.VideoAssetsVenomTransitionAs video mutations are reconciled by Venom, we can tell if the ingredient did or did not reach certain objectives. When processing has completed, all objectives will have a corresponding transition. All transitions are reset for every mutation, but will take into account assets outside of that mutation. For example, if Asset X fails, and was part of “OBJECTIVE_PRIMARY_ASSETS_DONE”, a rerun of Asset Y is destined to result in OUTCOME_FAILED, regardless of the fate of Asset Y. Some phenonema have effects on most or all Objectives. For example, a bad input file will result on OUTCOME_INFEASIBLE across the board (eventually, for now it’s just GO_LIVE and DO_ALL, work in progress), and a failure to produce Format 18 will cause OUTCOME_FAILED across most Objectives.String
reasonAn optional debug string indicating the reason for this transition. This is typically omitted for OUTCOME_SUCCESS. e.g. “The video’s content is invalid due to failed blobstore cloning.”VideoAssetsVenomTransitionAs video mutations are reconciled by Venom, we can tell if the ingredient did or did not reach certain objectives. When processing has completed, all objectives will have a corresponding transition. All transitions are reset for every mutation, but will take into account assets outside of that mutation. For example, if Asset X fails, and was part of “OBJECTIVE_PRIMARY_ASSETS_DONE”, a rerun of Asset Y is destined to result in OUTCOME_FAILED, regardless of the fate of Asset Y. Some phenonema have effects on most or all Objectives. For example, a bad input file will result on OUTCOME_INFEASIBLE across the board (eventually, for now it’s just GO_LIVE and DO_ALL, work in progress), and a failure to produce Format 18 will cause OUTCOME_FAILED across most Objectives.String
idREQUIRED. IDs have some constraints: – 32 bytes max: this is enforced by the server – for the time being, must be parseable as a youtube ID (basically a base64-encoded string which maps to a 64-bit integer). This restriction will eventually be lifted.VideoAssetsVenomVideoIdA VideoId is the unique identifier of a video. Privacy: VideoIds are visible in logs, notifications, etc and must not contain PII.String
nsLINT.ThenChange( //depot/google3/googledata/production/playbooks/video-assets/clients.md, //depot/google3/video/assets/venom/proto/namespace.proto ) REQUIRED.VideoAssetsVenomVideoIdA VideoId is the unique identifier of a video. Privacy: VideoIds are visible in logs, notifications, etc and must not contain PII.String
bitrateAudio bitrate in bits/s.VideoAudioStreamNext tag: 10String
channelsNumber of audio channels.VideoAudioStreamNext tag: 10integer
codecIdAudio codec ID. Uses the numeric value corresponding to the CodecId enum object, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:CodecId%20f:google3/video/vidproc/vsi/videostreaminfo.protoVideoAudioStreamNext tag: 10integer
contentTypeContent type of the stream. Only populated with valid “acont” xtag values at the moment. Supported acont xtag values can be found in google3/video/storage/common/xtag_validation.cc. Examples: “original”, “dubbed”, “descriptive”, “commentary”, etc.VideoAudioStreamNext tag: 10String
languageLanguage, examples: “eng”, “en”, “enG”, etc.VideoAudioStreamNext tag: 10String
lengthSecAudio length, in seconds. This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero.VideoAudioStreamNext tag: 10float
loudness1770LkfsVideoAudioStreamNext tag: 10number
sampleRateAudio sample rate.VideoAudioStreamNext tag: 10String
streamIndexIndex of the stream in the file, 0-based.VideoAudioStreamNext tag: 10String
keyVideoClipInfoGeneric clip information contains a key string and a value string.String
valueVideoClipInfoGeneric clip information contains a key string and a value string.String
videoHasClosedCaptionsVideoClosedCaptionsboolean
anchorQbstDistanceQBST distance between the anchor and the top navboost query of the video if exists, or the video title otherwise.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
asrAverageBabelSimilarityScoreAverage of babel similarity between the anchor and all asr sentences.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
asrMaximumBabelSimilarityScoreMaximum babel similarity between the anchor and the asr sentences.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
bleurtFeaturesFeatures needed for Bleurt inference.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.VideoContentSearchBleurtFeatures
bleurtScoreThe Bleurt inference score generated using the bleurt_features.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
descartesScoreWithTitleDescartes similarity score between video title and anchor label.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
descriptionAverageBabelSimilarityScoreAverage of babel similarity between the anchor and all description sentences.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
descriptionMaximumBabelSimilarityScoreMaximum babel similarity between the anchor and the description sentences.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
dolphinDescriptivenessScoreThe predicted descriptiveness and usefulness rating scores generated by the Unified Dolphin model. Rating template: experimental/video/video_anchors_oneside_without_thumbnail/template.jhtmlVideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
dolphinEnsembleScoreIf the dolphin model is an ensemble model, this contains the scores associated to each individual ensemble model.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.list(VideoContentSearchDolphinEnsembleScore)
dolphinFeaturesThe features used to generate the Dolphin score.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.VideoContentSearchDolphinFeatures
dolphinScoreThe score generated by the Dolphin callout model.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
dolphinUsefulnessScoreVideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
labelPhraseEmbeddingA phrase embedding for the anchor label. The model used to generate the embedding can be found in VideoAnchorSets: video_score_info.common_features.label_phrase_embedding_modelVideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.list(number)
mumDescriptivenessScoreThe predicted descriptiveness of the anchor using the MUM unified scoring model.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
mumUsefulnessScoreThe predicted usefulness of the anchor using the MUM unified scoring model.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
retentionScoreA score that is correlated with retention probability of the interval associated with this anchor (start time to end time). Retention probability of an interval is 1 – (probability the user does not watch the interval all the way through, given they started watching it). This score may be predicted by a model, or calculated from actual retention data.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
saftDocumentA saft document generated from the anchor label.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.NlpSaftDocument
timedLabelFeaturesFor annotating labels and their timing and context info. For example, this is used for anchor labels within a passage.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.list(VideoContentSearchCaptionLabelFeatures)
timestampVideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.list(VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestamp)
titleAnchorBabelMatchScoreBabel similarity between the anchor and the video title.VideoContentSearchAnchorCommonFeatureSetContains anchor level features that apply to all anchor types. Next id: 22.number
asrConfidenceThe ASR confidence for the label span, if available.VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestampWhen an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.number
isSentenceStartWhether or not this token is the first token in a sentence.VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestampWhen an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.boolean
labelBeginCharIndexThe character index range for the span. The end index is exclusive.VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestampWhen an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.String
labelEndCharIndexVideoContentSearchAnchorCommonFeatureSetLabelSpanTimestampWhen an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.String
timeMsThe time of the span.VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestampWhen an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.String
dolphinDescriptivenessStatsA summary of the Dolphin descriptiveness scores of the anchors in the set.VideoContentSearchAnchorsCommonFeatureSetContains anchor set level features that apply to all anchor types.VideoContentSearchMetricStats
dolphinUsefulnessStatsA summary of the Dolphin usefulness scores of the anchors in the set.VideoContentSearchAnchorsCommonFeatureSetContains anchor set level features that apply to all anchor types.VideoContentSearchMetricStats
mumDescriptivenessStatsA summary of the MUM descriptiveness scores of the anchors in the set.VideoContentSearchAnchorsCommonFeatureSetContains anchor set level features that apply to all anchor types.VideoContentSearchMetricStats
mumUsefulnessStatsA summary of the MUM usefulness scores of the anchors in the set.VideoContentSearchAnchorsCommonFeatureSetContains anchor set level features that apply to all anchor types.VideoContentSearchMetricStats
hasMissingStarburstWhether or not any of the anchor thumbnails have missing Starburst embeddings.VideoContentSearchAnchorsThumbnailInfoboolean
hasMissingThumbnailsWhether or not any of the anchors have missing thumbnails.VideoContentSearchAnchorsThumbnailInfoboolean
thumbnailDiversityA score representing how diverse a set of thumbnails is. This is currently defined as one minus the median pairwise cosine similarity between thumbnail Starburst embeddings.VideoContentSearchAnchorsThumbnailInfonumber
imagesearchDocidServing docid for the thumbnail in the images-tbn tables.VideoContentSearchAnchorThumbnailProperties of the thumbnail image to show for an anchor.String
isThumbnailMissingSet to true when no thumbnail could be generated for this anchor.VideoContentSearchAnchorThumbnailProperties of the thumbnail image to show for an anchor.boolean
servingMetadataMetadata about the anchor thumbnail computed by Amarna, including dimensions and the size in bytes.VideoContentSearchAnchorThumbnailProperties of the thumbnail image to show for an anchor.ImageBaseThumbnailMetadata
thumbnailInfoInformation about the thumbnail anchor.VideoContentSearchAnchorThumbnailProperties of the thumbnail image to show for an anchor.VideoContentSearchAnchorThumbnailInfo
timestampMsMillisecond timestamp of the frame used for the thumbnail.VideoContentSearchAnchorThumbnailProperties of the thumbnail image to show for an anchor.integer
colorEntropyEntropy of the clustered color distribution.VideoContentSearchAnchorThumbnailInfonumber
imageDataThumbnail image data for SafeSearch classification.VideoContentSearchAnchorThumbnailInfoImageData
isUnsafeConvenience field that consolidates signals for whether this thumbnail is safe.VideoContentSearchAnchorThumbnailInfoboolean
starburstV4Embedding64d float vector of starburst v4 embedings.VideoContentSearchAnchorThumbnailInfoDrishtiDenseFeatureData
thumbnailBytesThe raw data for a thumbnail.VideoContentSearchAnchorThumbnailInfoString
fallbackAspectProduct aspect to be used if non of the other aspects exist.VideoContentSearchAspectProduct aspect.String
saftAspectProduct aspect produced by running SAFT annotation.VideoContentSearchAspectProduct aspect.String
confidenceThe confidence score of the token: between 0 and 1.VideoContentSearchAsrCaptionContains token-level information about ASR captions.number
durationMsThe duration that the token is spoken for.VideoContentSearchAsrCaptionContains token-level information about ASR captions.number
startTimeMsThe time in the video at which the token starts being spoken.VideoContentSearchAsrCaptionContains token-level information about ASR captions.integer
textThe speech token.VideoContentSearchAsrCaptionContains token-level information about ASR captions.String
candidateVideoContentSearchBleurtFeaturesContains features needed for Bleurt inference.String
referenceVideoContentSearchBleurtFeaturesContains features needed for Bleurt inference.String
asrMentionTextIf the description anchor has been recognized as an entity and that entity has also been mention in the ASR, this is the mention text from the ASR.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.String
asrMentionTranscriptOffsetThe start index of the ASR entity mention from the beginning of the ASR transcript. The index is included so that individual mentions that share the same mid and time can be distinguished which happens when an entity is mentioned multiple times in an ASR sentence. Each mid/asr_mention_transcript_offset will be unique.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.integer
asrSentenceThe nearest ASR sentence.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.String
asrStartTimeThe begin time in ms of the ASR sentence.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.integer
bertScoresThe result of the BERT inference using the title, ASR sentence and entity mention text.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.list(number)
broadnessA score to help determine how specific this entity is.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
durationCoverageThe percentage of the video covered by the span of the first mention to the last mention.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
entityConnectednessThe webref connectedness score of the entity.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
entityDescriptionA short text describing the entity.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.String
entityInfoInformation about how many documents the entity occurred in and how many total mentions the entity has across the entire video corpus.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.VideoContentSearchCaptionEntityDocInfo
entityMentionInDescriptionWhether or not the entity mention text appears in the description of the video.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.boolean
estimatedMentionTimeThe estimated begin time in ms of the entity mention using the text offset divided by the ASR duration.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.integer
groupCohesionAverage similarity between this anchor and other anchors in the set.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
hypernymConfidenceThe confidence of the hypernym used as the set label.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
hypernymCountNumber of hypernyms used for calculating similarity.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
hyperpediaSalientTermsSimilarityThe cosine similarity between the document salient terms and the hyperpedia hypernyms for a given entity.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
inWebrefEntitiesWhether or not this entity is in the webref entities.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.boolean
isOracleEntityTrue if the given entity appears as an Oracle followup query.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.boolean
isProductWhether this entity counts as a ‘product’ for the purpose of dividing entities between the ‘related topics’ and ‘products in this video’ features.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.boolean
maxMentionConfidenceThe maximum confidence of all of the entity mentions in the transcript.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
mentionConfidenceThe confidence that the ASR mention matches the given mid.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
mentionsNumber of times an entity is mentioned in the ASR transcript.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.integer
msFromLastAnchorThe duration in ms between this anchor and the previous anchor or the beginning of the video if this is the first anchor.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.integer
nextAsrSentenceThe ASR sentence after asr_sentence or “” if it is the last sentence.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.String
otherAsrMentionTextThe ASR text of each mention of the entity.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.list(String)
otherEstimatedMentionTimesEach time the entity was mentioned.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.list(integer)
previousAsrSentenceThe ASR sentence before asr_sentence or “” if it is the first sentence.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.String
trustedNameConfidenceThe confidence that the ASR mention is a trusted name.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
webrefEntityTopicalityThe webref entity topicality score if the entity is a webref entity and 0 if not.VideoContentSearchCaptionEntityAnchorFeaturesFeatures and debug info for individual caption entity video anchors.number
aggregateScoreThe total score used for filtering and selecting entity sets.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.number
clusterSizeThe prefiltered size of the entity set.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.integer
entitiesInWebrefEntitiesThe number of entities in the anchor set that are in the webref entities.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.integer
entityMentionInDescriptionCountThe number of anchors where the entity mention text appears in the description of the video.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.boolean
groupCohesionThe average cosine similarity between hypernyms of members of the set.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.number
hypernymThe most prominent hypernym across the entities in the set.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.String
hypernymSalienceThe salience of the best hypernym for the set.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.number
medianMentionsMedian number of times any member of the set was mentioned in the ASR transcript.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.integer
mentionSalienceMentions divided by the total number of entity mentions in the video.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.number
salienceSalience of the set computed by aggregating the hypernyms from each member and calculating the cosine similarity with the salient terms.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.number
topHypernymThe top N hypernyms for the entities in the set.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.list(String)
totalMentionsNumber of times any member of the group was mentioned in the ASR transcript.VideoContentSearchCaptionEntityAnchorSetFeaturesFeatures and debug info for clusters of caption entity video anchors.integer
entityDocCountThe number of documents where this entity was mentioned at least once.VideoContentSearchCaptionEntityDocInfoContains information about document appearances of an entity.String
entityMentionCountThe number of times the entity was mentioned across the entire corpus.VideoContentSearchCaptionEntityDocInfoContains information about document appearances of an entity.String
midThe entity id.VideoContentSearchCaptionEntityDocInfoContains information about document appearances of an entity.String
totalDocCountThe number of documents in the corpus.VideoContentSearchCaptionEntityDocInfoContains information about document appearances of an entity.String
totalMentionCountThe number of mentions of any entity across the entire corpus.VideoContentSearchCaptionEntityDocInfoContains information about document appearances of an entity.String
asrCaptionVideoContentSearchCaptionInfoContains transcript-level data about a video whether it comes from ASR or closed captions.list(VideoContentSearchAsrCaption)
saftDocumentVideoContentSearchCaptionInfoContains transcript-level data about a video whether it comes from ASR or closed captions.NlpSaftDocument
alignedOcrTextsOCR anchors with overlapping time-window with this anchorVideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.list(VideoContentSearchOCRText)
alignedTimeThe time stamp in milliseconds for the reference text (e.g. description anchor time).VideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.String
contextTextText around the aligned_time of a long duration, say [-15 minutes, +15 minutes]VideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.String
labelTextThe main label text for the feature.VideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.String
textSimilarityFeaturesIdentified matching text by similarity.VideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.VideoContentSearchTextSimilarityFeatures
textSpanAtAlignedTimeThe text span in the passage starting from the aligned time.VideoContentSearchCaptionLabelFeaturesContains timing and text for a given label.String
dolphinFeaturesThe features used to construct the inference example.VideoContentSearchCaptionSpanAnchorFeaturesVideoContentSearchSpanDolphinFeatures
dolphinScoresThe inference result from the Dolphin span model.VideoContentSearchCaptionSpanAnchorFeaturesVideoContentSearchSpanDolphinScores
embeddingDistanceEmbedding distances (e.g. cosine distance) to the other anchors of the same video.VideoContentSearchCaptionSpanAnchorFeatureslist(number)
postGapInMsTime gap in ms to the next anchor. Always positive number.VideoContentSearchCaptionSpanAnchorFeaturesinteger
preGapInMsTime gap in ms to the previous anchor. Always a positive number.VideoContentSearchCaptionSpanAnchorFeaturesinteger
saftBeginTokenIndexThe range of tokens in video_info.saft_doc for the anchor label.VideoContentSearchCaptionSpanAnchorFeaturesinteger
saftEndTokenIndexVideoContentSearchCaptionSpanAnchorFeaturesinteger
saftTranscriptEndCharOffsetVideoContentSearchCaptionSpanAnchorFeaturesinteger
saftTranscriptStartCharOffsetThe range of characters in video_info.saft_transcript for the anchor label.VideoContentSearchCaptionSpanAnchorFeaturesinteger
spanAsrConfidenceStatsA summary of the ASR confidence for the selected candidate.VideoContentSearchCaptionSpanAnchorFeaturesVideoContentSearchMetricStats
spanDolphinScoreA summary of the Dolphin span token scores for the selected candidate.VideoContentSearchCaptionSpanAnchorFeaturesVideoContentSearchMetricStats
wordCountWord count of the span text, tokenized with SAFT.VideoContentSearchCaptionSpanAnchorFeaturesinteger
anchorSetDolphinScoreStatsA summary of the dolphin scores over the anchor set.VideoContentSearchCaptionSpanAnchorSetFeaturesVideoContentSearchMetricStats
repliesVideoContentSearchCommentAnchorSetFeaturesA message containing set-level comment anchor features. Next ID: 3list(VideoContentSearchCommentAnchorSetFeaturesComment)
rootCommentVideoContentSearchCommentAnchorSetFeaturesA message containing set-level comment anchor features. Next ID: 3VideoContentSearchCommentAnchorSetFeaturesComment
commentIdThe ID that YouTube uses to uniquely identify the comment.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8String
likeCountThe total number of likes (positive ratings) the comment has received.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8integer
miniStanzaThe MiniStanza object that represents the comment. If populated, all other fields in this message may be empty.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8YoutubeCommentsClusteringMiniStanza
publishedAtThe date and time when the comment was orignally published, specified in ISO 8601 format.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8String
textDisplayThe comment’s text, in HTML.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8String
textOriginalThe original, raw text of the comment.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8String
updatedAtThe date and time when the comment was last updated, specified in ISO 8601 format.VideoContentSearchCommentAnchorSetFeaturesCommentA structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8String
entityTextCoverageWhen the description anchor text has been recognized as an entity, how much of the description anchor text is covered by the entity mention.VideoContentSearchDescriptionAnchorFeaturesnumber
inAsrWhether or not a mention of the description anchor exists in the ASR.VideoContentSearchDescriptionAnchorFeaturesboolean
isDescriptionAnchorWhether or not the anchor was created from the description for use in training data. This will be set to true for positive examples and false for negative examples.VideoContentSearchDescriptionAnchorFeaturesboolean
spanToAsrTimeThe distance from the ASR sentence to the description anchor time in ms.VideoContentSearchDescriptionAnchorFeaturesinteger
asrAnchorCountThe number of description anchors that were matched to captions in the ASR.VideoContentSearchDescriptionAnchorSetFeaturesinteger
asrAnchorFractionThe fraction of anchors that were matched to captions in the ASR.VideoContentSearchDescriptionAnchorSetFeaturesnumber
uniqueAsrMidCountThe number of unique mids which where matched to description anchors.VideoContentSearchDescriptionAnchorSetFeaturesinteger
contextTokenCountThe number of tokens in the context (sentence) where the description span is extracted from.VideoContentSearchDescriptionSpanInfoMetadata about the span when the anchor source is description span.integer
dolphinScoresThe inference result from the Dolphin span model if the anchor’s source is description span.VideoContentSearchDescriptionSpanInfoMetadata about the span when the anchor source is description span.VideoContentSearchSpanDolphinScores
spanDolphinScoreStatsA summary of the Dolphin span token scores for the selected candidate. Currently, dolphin_scores in DescriptionSpanInfo would only contain a single span candidate so this field is essentially the copy of the score_stats for that span candidate.VideoContentSearchDescriptionSpanInfoMetadata about the span when the anchor source is description span.VideoContentSearchMetricStats
spanTokenCountThe number of tokens in the description span. The description span is formed from non-contiguous segment spans of a sentence (context), where each segment span’s score satifsies the min span thresholds.VideoContentSearchDescriptionSpanInfoMetadata about the span when the anchor source is description span.integer
spanTokenCountRatioThe ratio of span_token_count / context_token_count.VideoContentSearchDescriptionSpanInfoMetadata about the span when the anchor source is description span.number
dolphinScoreThe score generated by the Dolphin callout model.VideoContentSearchDolphinEnsembleScoreContains information about the scores from each individual dolphin ensemble model.number
modelNameVideoContentSearchDolphinEnsembleScoreContains information about the scores from each individual dolphin ensemble model.String
altQueryThe alt query used for building the Dolphin example.VideoContentSearchDolphinFeaturesString
answerThe answer used for building the Dolphin example.VideoContentSearchDolphinFeaturesString
queryThe query used for building the Dolphin example.VideoContentSearchDolphinFeaturesString
timeMsThe time stamp of the video anchor in milliseconds.VideoContentSearchDolphinFeaturesString
titleThe title used for building the Dolphin example.VideoContentSearchDolphinFeaturesString
urlThe url of the video.VideoContentSearchDolphinFeaturesString
descriptivenessOutputKeyThe output put keys for Dolphin PredictResponseVideoContentSearchDolphinScoringConfigString
ensembleModelNamesIf the dolphin model is an ensemble model (e.g. Video QnA model which consists of 4 teacher models), stores each individual model name.VideoContentSearchDolphinScoringConfiglist(String)
inferenceBatchSizeThe inference batch size to use for inference methods that handle batching.VideoContentSearchDolphinScoringConfiginteger
inferenceMethodThe method to use for inference. This must be set or inference will fail.VideoContentSearchDolphinScoringConfigString
maxRpcRetriesHolds value of flag –max_rpc_retries.VideoContentSearchDolphinScoringConfiginteger
modelNameModel name used for ModelSpec in PredictRequest used in the PredictionService API.VideoContentSearchDolphinScoringConfigString
modelPathOnly used when using the bulk_inference API. See go/dolphin-models to learn about the different dolphin models.VideoContentSearchDolphinScoringConfigString
outputKeyTODO(alexiaxu) To deprecate this field in the future Output key for Dolphin PredictResponse.VideoContentSearchDolphinScoringConfigString
rpcDeadlineSecondsHolds value of flag –rpc_deadline (converted to seconds).VideoContentSearchDolphinScoringConfigfloat
serviceBnsTensorflow inference BNS address when using PredictionService API.VideoContentSearchDolphinScoringConfigString
usefulnessOutputKeyVideoContentSearchDolphinScoringConfigString
categoryThe Webref category that this entity belongs to e.g. “/moka/software”.VideoContentSearchEntityAnnotationsEntity annotations for one of the mids representing an anchor label or a query text.String
confidenceThe overall confidence that this entity is annotated somewhere in the label.VideoContentSearchEntityAnnotationsEntity annotations for one of the mids representing an anchor label or a query text.number
isRestrictedWhether or not this entity belongs to a set of blocklisted categories.VideoContentSearchEntityAnnotationsEntity annotations for one of the mids representing an anchor label or a query text.boolean
midThe Webref entity mid.VideoContentSearchEntityAnnotationsEntity annotations for one of the mids representing an anchor label or a query text.String
collectionIdCollection id.VideoContentSearchEntityGroupInfoString
labelLabel for this anchor group.VideoContentSearchEntityGroupInfoString
frameSimilarityThe similarity between this topic and starburst features for frames in [frames[frame_level_starburst_start_index], frames[frame_level_starburst_start_index + len(frame_similarity)].VideoContentSearchFrameSimilarityIntervalFrame-level similarities info for each topic for an interval of frames.list(number)
framesEndTimestampMsTimestamp in milliseconds for the last frame in this frame interval.VideoContentSearchFrameSimilarityIntervalFrame-level similarities info for each topic for an interval of frames.String
framesStarburstStartIndexThe index of the first frame within this interval of similar frames. VideoMultimodalTopicFeatures.frame_starburst_data.VideoContentSearchFrameSimilarityIntervalFrame-level similarities info for each topic for an interval of frames.integer
framesStartTimestampMsTimestamp in milliseconds for the first frame in this frame interval.VideoContentSearchFrameSimilarityIntervalFrame-level similarities info for each topic for an interval of frames.String
denseVectorRaw float feature vector of the starburst representation.VideoContentSearchFrameStarburstDataStarburst frame-level dense data.list(number)
sbVersionStarburst version. Possible values are: STARBURST_TEXT_V4 STARBURST_TEXT_V4_5 STARBURST_TEXT_V4_PLC STARBURST_TEXT_V5VideoContentSearchFrameStarburstDataStarburst frame-level dense data.String
timestampMsTimestamp in milliseconds for this frame.VideoContentSearchFrameStarburstDataStarburst frame-level dense data.String
passageFeatures for inferences from generative models.VideoContentSearchGenerativePredictionFeaturesString
predictionsInference results.VideoContentSearchGenerativePredictionFeatureslist(String)
targetVideoContentSearchGenerativePredictionFeaturesString
groundTruthTopicThis field is present if we already have a ground truth topic from the training data.VideoContentSearchGenerativeTopicPredictionFeaturesThe inference result features coming from the prediction service that generates the topics.String
modelNameThe name of the model where the predictions come from.VideoContentSearchGenerativeTopicPredictionFeaturesThe inference result features coming from the prediction service that generates the topics.String
predictionsInference results from the prediction service. Since we generally use beam search with beam_size > 1, this field is repeated to capture all the generated topic beams.VideoContentSearchGenerativeTopicPredictionFeaturesThe inference result features coming from the prediction service that generates the topics.list(String)
bestAsrAndDescriptionAnchorsMatchInfoThe match info about the description anchor matches with the ASR n-grams in the instruction passage. Each element represents the best match between a given description anchor and all qualified n-grams within the passage.VideoContentSearchInstructionTrainingDataAnchorFeaturesAnchor-level metadata about the instruction anchors. Each instruction passage anchor can contain multiple instruction steps and multiple description anchors and thus the following fields are defined as repeated.list(VideoContentSearchSimilarityMatchInfo)
bestDescriptionAndInstructionAnchorsMatchInfoThe match info about the description anchor matches with the instruction anchors in a instruction passage. Each element represents the best match between a given description anchor and all the instruction anchors in the passage.VideoContentSearchInstructionTrainingDataAnchorFeaturesAnchor-level metadata about the instruction anchors. Each instruction passage anchor can contain multiple instruction steps and multiple description anchors and thus the following fields are defined as repeated.list(VideoContentSearchSimilarityMatchInfo)
instructionAnchorsMatchInfoThe match info about the instruction steps matches with the ASR. Each instruction step corresponds to a step extracted from a web doc. Each instruction passage can contain multiple instruction step matches thus the repeated field.VideoContentSearchInstructionTrainingDataAnchorFeaturesAnchor-level metadata about the instruction anchors. Each instruction passage anchor can contain multiple instruction steps and multiple description anchors and thus the following fields are defined as repeated.list(VideoContentSearchSimilarityMatchInfo)
babelMatchThe babel match info of the list anchor with its matched ASR text.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.VideoContentSearchTextMatchInfo
descriptionSpanInfoThe description span metadata about list anchor when the anchor source is DESCRIPTION_SPANS.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.VideoContentSearchDescriptionSpanInfo
listItemIndexThe list item index of this anchor in the video description.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.integer
matchScoresThe metadata about this list item’s matches with different ASR snippets. This is currently used in the base model (DTW) to generate candidate anchors.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.list(VideoContentSearchMatchScores)
pretriggerScoreThe score from the pretrigger model.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.number
titleAnchorBabelMatchScoreBabel similarity between the anchor and the video title.VideoContentSearchListAnchorFeaturesAnchor-level Metadata about list description anchors.number
aggregatedSpanTextThe following fields are used for description span anchors, The aggregated span token texts over all the span candidates of the anchor set.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.String
anchorSetSpanScoreStatsA summary of the span scores over the anchor set. This summary is calculated over the aggregation of the individual token spans belonging to the span candidates of anchors.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
babelMatchScoreStatsMedian, average and standard deviation of babel_match_score among anchors in the same VideoAnchors cluster.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
contextTokenCountStatsA summary of the context token counts over the anchor set.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
durationSpanRatioThe ratio of anchors timespan duration over the total duration of the video. Anchors timespan duration is defined as the time span from the first anchor to the last anchor in VideoAnchors.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.number
durationToPredictedTimeMsStatsMedian, average and standard deviation of duration_to_predicted_time_ms among anchors in the same VideoAnchors cluster.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
listAnchorSourceThe source of anchors extracted from the video descriptions.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.String
listDescriptionItemsSizeThe total number of list items mentioned in the video description. Not all these list items are necessarily found as list anchors.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.integer
matchedListDescriptionAnchorsRatioThe number of matched anchors in the list anchors over the total number of post-filtering list items in the video description, i.e. matched_list_description_anchors_ratio = matched_list_description_anchors_size / post_filtering_list_description_items_size.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.number
matchedListDescriptionAnchorsSizeThe number of matched list anchors found in the ASR. The matched list anchors are a subset of the post-filtering list items in the video description, and as such matched_list_description_anchors_size <= post_filtering_list_description_items_size.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.integer
postFilteringListDescriptionItemsSizeThe total number of list items in the video description that are actually considered for matching. This is a subset of list items in the video description that passed filterings such as language filtering, i.e. post_filtering_list_description_items_size <= list_description_items_sizeVideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.integer
pretriggerScoreStatsMedian, average and standard deviation of pretrigger_score among anchors in the same cluster.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
spanTokenCountRatioStatsA summary of the span token count ratios over the anchor set.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
spanTokenCountStatsA summary of the span token counts over the anchor set.VideoContentSearchListAnchorSetFeaturesCluster-level Metadata about list anchors. Next id: 15.VideoContentSearchMetricStats
descriptionAnchorTimeMsThe timestamp of when the description anchor is annotated to appear in the video in ms.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.integer
descriptionAnchorTimeToMatchedTimeMsThe time gap of when the description anchor is annotated to appear in the video (description_anchor_time_ms) from when it’s matched in the ASR as the list anchor.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.String
editDistanceClosest edit distance between the anchor generated by description span and the description anchor where the span anchor must be within small threshold time difference of the description anchor timestamp.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.integer
editDistanceRatioedit_distance over the description anchor’s label length.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.number
matchedDescriptionTextThe description anchor text used for matching to Span anchor text.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.String
matchedSpanTextThe description span anchor text that was the best match for the nearby description anchor.VideoContentSearchListTrainingDataAnchorFeaturesAnchor-level metadata about the description anchors used as list items to build training data for list anchors.String
editDistanceRatioStatsSummary of the edit_distance_ratios of the description spans from their best matched description anchor texts.VideoContentSearchListTrainingDataSetFeaturesCluster-level metadata about the description anchors used as list items to build training data for list anchors.VideoContentSearchMetricStats
editDistanceStatsSummary of the edit_distances of the description spans from their best matched description anchor texts.VideoContentSearchListTrainingDataSetFeaturesCluster-level metadata about the description anchors used as list items to build training data for list anchors.VideoContentSearchMetricStats
matchedDescriptionAnchorsTimegapStatsMedian, average and standard deviation of time gaps of when the description anchors is annotated to appear in the video (description_anchor_time_ms) from when they are matched in the ASR as the list description anchors.VideoContentSearchListTrainingDataSetFeaturesCluster-level metadata about the description anchors used as list items to build training data for list anchors.VideoContentSearchMetricStats
numDescriptionAnchorsNumber of description anchors in the description of this video.VideoContentSearchListTrainingDataSetFeaturesCluster-level metadata about the description anchors used as list items to build training data for list anchors.integer
matchInfoVideoContentSearchMatchScoreslist(VideoContentSearchTextMatchInfo)
methodThe method used for matching, e.g. ‘babel’, ‘nlp’, ‘neon’, ßß’phonetic’.VideoContentSearchMatchScoresString
maxVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
meanVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
medianVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
minVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
stddevVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
sumVideoContentSearchMetricStatsMedian, mean and standard deviation of a feature value.number
frameSimilarityIntervalThe list of frame sequence similarities to this topic. The list of frames are picked to be around the topic timestamp. The set of frames selected are thresholded at a value to ensure the selected frame intervals are similar to the query.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8list(VideoContentSearchFrameSimilarityInterval)
generativeTopicPredictionFeaturesThe inference results from the prediction services that generate the topics.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8list(VideoContentSearchGenerativeTopicPredictionFeatures)
navboostAnchorFeaturesFeatures related to queries generated using document navboost data with timed anchors. Only populated if the query was generated using this approach.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8VideoContentSearchNavboostAnchorFeatures
topicThe text of the generated topic.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8String
topicEndMsEnd time of the topic.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8String
topicStartMsStart time of the topic.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8String
videoQuerySourceHow the query was generated.VideoContentSearchMultimodalTopicFeaturesMultimodal features for a single generated topic. Next ID: 8String
maxFrameSimilarityIntervalThe similarity info for the frame with maximum similarity to the topic in its visual interval. The repeated similarity field in this proto has a single value corresponding to the maximum similarity. This similarity score is used to filter and pick the training data examples.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.VideoContentSearchFrameSimilarityInterval
normalizedTopicThe topic/query normalized for Navboost and QBST lookups as well as fetching of the Rankembed nearest neighbors.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.String
qbstTermsOverlapFeaturesQBST terms overlap features for a candidate query.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.VideoContentSearchQbstTermsOverlapFeatures
rankembedNearestNeighborsFeaturesRankembed similarity features for a candidate nearest neighbor rankembed query.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.VideoContentSearchRankEmbedNearestNeighborsFeatures
saftEntityInfoThe information about the saft entity annotation for this topic.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.VideoContentSearchSaftEntityInfo
topicDenseVectorRaw float feature vector of the topic’s co-text embedding representation in the Starburst space.VideoContentSearchMultimodalTopicTrainingFeaturesMultimodal features for a single generated topic used to build training data.list(number)
entityTypeType name: e.g. /saft/person for a person’s name.VideoContentSearchNamedEntityMessage for SAFT named entities.String
textText referring to an entity of type entity_type;VideoContentSearchNamedEntityMessage for SAFT named entities.String
anchorTextThe anchor text used in the generated query.VideoContentSearchNavboostAnchorFeaturesFeatures for queries generated using document navboost data with timed anchors.String
navboostTextThe navboost query used in the generated query.VideoContentSearchNavboostAnchorFeaturesFeatures for queries generated using document navboost data with timed anchors.String
sourceHow the navboost-anchor query was constructed.VideoContentSearchNavboostAnchorFeaturesFeatures for queries generated using document navboost data with timed anchors.String
minCharEditDistanceThe minimum char edit distance between the normalized OCR text and candidate word strings taken from a time window around the OCR appearance.VideoContentSearchOcrAsrFeatureinteger
minCharEditDistanceAsrTextThe matched ASR candidate for minimum char edit distance.VideoContentSearchOcrAsrFeatureString
minCharEditDistancePercentThe min_char_edit_distance divided by the length of the OCR string.VideoContentSearchOcrAsrFeaturenumber
ocrTextNormalizedForCharMatchThe normalized OCR text which was used to match the candidate.VideoContentSearchOcrAsrFeatureString
ocrTextNormalizedForCharMatchLengthThe length of the normalized OCR text.VideoContentSearchOcrAsrFeatureinteger
pretriggerScoreThe score from the pretrigger model.VideoContentSearchOcrAsrFeaturenumber
wordOverlapAsrTextThe ASR text that was used for the word overlap calculation.VideoContentSearchOcrAsrFeatureString
wordOverlapCountThe number of words found both in the OCR text and the ASR in a time window around OCR appearance.VideoContentSearchOcrAsrFeatureinteger
wordOverlapPercentThe word_overlap_count divided by the number of words in the OCR text.VideoContentSearchOcrAsrFeaturenumber
normalizedWordOverlapScoreThe word_overlap_score divided by the greatest word_overlap_score for any cluster in the VideoAnchorSets.VideoContentSearchOcrAsrSetFeaturenumber
wordOverlapScoreA score based on the number of overlapped words between the OCR and ASR for anchors in the cluster.VideoContentSearchOcrAsrSetFeaturenumber
editDistanceThe string edit distance from the anchor label to the nearest OCR text.VideoContentSearchOcrDescriptionTrainingDataAnchorFeaturesMetadata about the join of description anchors and OCR data which is used to build training data.integer
editDistanceRatioedit_distance over the description anchor’s label length.VideoContentSearchOcrDescriptionTrainingDataAnchorFeaturesMetadata about the join of description anchors and OCR data which is used to build training data.number
matchedDescriptionTextThe description anchor text used for matching to OCR text.VideoContentSearchOcrDescriptionTrainingDataAnchorFeaturesMetadata about the join of description anchors and OCR data which is used to build training data.String
matchedFrameTimeMsThe time of the selected OCR frame in ms. The best frame in a window around the target description anchor will be selected.VideoContentSearchOcrDescriptionTrainingDataAnchorFeaturesMetadata about the join of description anchors and OCR data which is used to build training data.integer
matchedOcrTextThe OCR text that was the best match for the nearby description anchor.VideoContentSearchOcrDescriptionTrainingDataAnchorFeaturesMetadata about the join of description anchors and OCR data which is used to build training data.String
maxEditDistanceThe max edit distance of any description anchor to its closest OCR text.VideoContentSearchOcrDescriptionTrainingDataSetFeaturesMetadata about the join of description anchors and OCR data for a set of description anchors.integer
maxEditDistanceRatioThe maximum of (edit distance of any description anchor to its closest OCR text over description anchor label length).VideoContentSearchOcrDescriptionTrainingDataSetFeaturesMetadata about the join of description anchors and OCR data for a set of description anchors.number
medianEditDistanceThe median edit distance of any description anchor to its closest OCR text.VideoContentSearchOcrDescriptionTrainingDataSetFeaturesMetadata about the join of description anchors and OCR data for a set of description anchors.integer
ocrFeatureAdditional details about position/font/color etc. for the OCR textVideoContentSearchOCRTextContains OCR text, its start time and additional details about position/fontsVideoContentSearchOnScreenTextFeature
ocrTextThe OCR recognized text labelVideoContentSearchOCRTextContains OCR text, its start time and additional details about position/fontsString
timeMsThe time in ms at which the OCR text appears on the frameVideoContentSearchOCRTextContains OCR text, its start time and additional details about position/fontsString
averageTextAreaRatioAverage text area ratio throughout video frames. Text area ratio for a frame is defined by sum(text area) / image area.VideoContentSearchOcrVideoFeatureFeatures for video level info.number
clusterIdToFrameSizeCluster id to the num of frames in each cluster.VideoContentSearchOcrVideoFeatureFeatures for video level info.map
durationInMsTotal time of this video in milliseconds.VideoContentSearchOcrVideoFeatureFeatures for video level info.integer
langIdDetectedLanguageVideo level detected language by lang id, aggregated from each frame.VideoContentSearchOcrVideoFeatureFeatures for video level info.String
numClustersThe number of ShotInfo clusters.VideoContentSearchOcrVideoFeatureFeatures for video level info.integer
numFramesThe number of video frames contained in ShotInfo cluster.VideoContentSearchOcrVideoFeatureFeatures for video level info.integer
ocrDetectedLanguageVideo level detected language, aggregated from each frame.VideoContentSearchOcrVideoFeatureFeatures for video level info.String
averageConfidenceAverage confidence.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
averageDurationRatioVideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
averageHorizontalPositionVideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
averageOcrTextLengthDeprecated. Please use ocr_text_length_stats.median instead. The average length of anchor labels. average_ocr_text_length is deprecated, because now ocr_text_length_stats has a field for holding the same value.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
averageOfAverageTextHeightRatioDeprecated. Please use text_height_ratio_stats.mean instead. Average value of text height ratio (over image height), which is taken average over the same text. average_of_average_text_height_ratio is deprecated, because now text_height_ratio_stats has a field for keeping the same value.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
averageVerticalPositionAverage of label center position.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
clusterRatioThe number of anchors in the cluster over the number of anchors in the video.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
clusterSizeThe number of anchors in the cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.integer
countingNumberRatioThe number of anchors that had a counting number over the number of anchors in total.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
durationMsStatsMedian, average and standard deviation of duration_ms among anchors in the same cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
frameSizeRatioFrame size ratio over total frames in video.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
logOcrTextLengthStatsAverage and standard deviation of logarithm of the length of labels among anchors in the same cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
logTextHeightRatioStatsAverage and standard deviation of log(average_text_height_ratio) among anchors in the same cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
logp1000DurationMsStatsAverage and standard deviation of log(1000 + duration_ms) among anchors in the same cluster. Since duration_ms can be zero, 1000 is added before applying logarithm.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
maxVideoDurationRatioBetweenAnchorsThe maximum ratio of duration between two consecutive anchors to video duration. This is calculated after all anchor filtering has been completed.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
maximumDurationRatioStats for ratio of frame time intervals, over total video time.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
medianClusteringDistanceThe median cluster distance for the anchors in the cluster. The way the distance is calculated will vary depending on the clustering method.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
medianDurationRatioVideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
medianOfAverageTextHeightRatioDeprecated. Please use text_height_ratio_stats.median instead. Median value of text height ratio (over image height), which is taken average over the same text. median_of_average_text_height_ratio is deprecated, because now text_height_ratio_stats has a field for keeping the same value.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
ocrAsrFeatureFeatures for the overlap between OCR and ASR.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchOcrAsrSetFeature
ocrTextLengthStatsMedian, average and standard deviation of the length of labels among anchors in the same cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
stddevDurationRatioVideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.number
textHeightRatioStatsMedian, average and standard deviation of average_text_height_ratio among anchors in the same cluster.VideoContentSearchOnScreenTextClusterFeatureFeatures for the set of OnScreenText.VideoContentSearchMetricStats
shotInfoCountDuringTextVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
averageFontweightVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
countingNumberCounting number in this anchor’s original label.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
backgroundBlueVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
relativeShotTimeMsPriorToEndTimeVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
topOcrLanguageOCR language that has the highest weight.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.String
relativeShotTimeMsPosteriorToStartTimeVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
averageAngleThe average of rotation angles (degree) of texts.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
durationMsDuration time in millisec.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
centerVerticalPositionRatioVertical position of the center of this text, by ratio [0.0, 1.0].VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
countingNumberOooRatio# of numbered anchors that are not out-of-order / # of all the numbered anchors. If no counting number is detected, this will be empty.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
medianClusteringDistanceThe median distance between this anchor and other anchors in the cluster. The way the distance is calculated will vary depending on the clustering method.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
foregroundRedVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
handwrittenTextRatio# of LINE entities that are recognized as handwritten texts over # of merged LINE entities.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
averageFontsizeFont size or weight information. This is extracted from internal message, so may not be available in future.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
backgroundGreenVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
averageHeightRatioVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
occurrenceRatiooccurrence_count over the number of anchors merged to this anchor.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
backgroundRedVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
nTextsInSameFrame# of OCR texts that appear in the same frame. If duration of this OCR text is not zero, the maximum number among multiple frames where this OCR text appears is set to this field.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
relativeShotTimeMsPriorToStartTimeShot boundary time nearest to OnScreenText’s start and end time. The time is relative to each OnScreenText’s start / end time (ex. -1 means shot time exists prior to the start / end time). If shot time and start/end time is the same, 0 is set in ‘prior’ field. If no shot info is available, the below fields are not set.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
originalLabelThe label this VideoAnchor originally had before label clearning steps.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.String
countingNumberPrefixPrefix for counting number in this anchor’s label. If no counting number is detected, this will be empty.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.String
relativeShotTimeMsPosteriorToEndTimeVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
centerHorizontalPositionRatioHorizontal position of the center of this text, by ratio [0.0, 1.0].VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
averageConfidenceAverage value of confidence.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
occurrenceCountThe number of OCR texts that have the same text among temporally-merged OCR texts.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
mergedLineCountThe number of LINE entities used for this text.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.integer
boxHeightRatioVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
ocrAsrFeatureFeatures for the overlap between OCR and ASR.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.VideoContentSearchOcrAsrFeature
hadUrlInLabelWhether or not this anchor had URL in its label before the label fixing step.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.boolean
leftPositionRatioLeft position of this text, by ratio [0, 1].VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
backgroundGrayVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
isCountingNumberOooWhether or not the counting number in this anchor’s label is out-of-order. If no counting number is detected, this will be empty.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.boolean
topPositionRatioNote that top-left position is (0, 0) for position values. Top position of this text, by ratio [0, 1].VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
foregroundGrayColor information, normalized to [0-1]. This color information is extracted from the largest word in the line entities of PageLayout message. See goodoc::PageLayoutEntity::Colors for details.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
foregroundGreenVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
languagesLanguages predicted by OCR. “repeated” is employed for this field because LINE entities of PageLayout message are sometimes annotated with multiple languages, and also two VideoAnchor that are annotated with different languages can be merged into one VideoAnchor. When two VideoAnchor are merged into one, the weight field values of the new VideoAnchor will be the average of weight field values weighted by merged_line_count.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.list(GoodocLanguageCombinationLanguage)
foregroundBlueVideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
countingNumberSuffixSuffix for counting number in this anchor’s label. If no counting number is detected, this will be empty.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.String
boxWidthRatioBox width and height ratio, against to the frame size, so the value range is [0, 1]. If this text feature consists of multiple text boxes, the box width / height is a union of each text box.VideoContentSearchOnScreenTextFeatureKeep feature values which are useful to filter titles, labels.number
qbstAnchorOverlapFraction of salient terms of original query covered by anchor text.VideoContentSearchQbstTermsOverlapFeaturesQBST terms overlap features for the candidate query.number
qbstNavboostOverlapFraction of salient terms of original query covered by top navboost query of the video.VideoContentSearchQbstTermsOverlapFeaturesQBST terms overlap features for the candidate query.number
answerSegment of text from the ASR.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
descartesDotScoreVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
descartesRankingScoreVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
dolphinModelTypeVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
dolphinScoreDolphin score calculated using the question as the query, the ASR passage as the answer. See go/dolphin-models to learn more.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
editDistanceEdit distance of the question and the title from 0 to 1 where 1 is most similar.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
endMsEnd time in milliseconds relative to the beginning of the video.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
ensembleScoreVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
isDuplicateOfTitleTrue if question_title_similarity is less than 0.2.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23boolean
neonScoreNeon similarity of question and title.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
pointwiseNormalizedGapScorePointwise GAP normalized score. Score ranges from 0 to 1 and corresponds to GAP precision. See go/wa-cgap-to-pgap-migration to learn more.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
qbstScoreQBST similarity of question and title.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
queryCountNavBoostFeature f_query_count for questions that are NavBoost queries.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
queryDocCountNavBoostFeature f_query_doc_count for questions that are NavBoost queries.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
questionQuestion from Related Questions SSTable or NavBoost.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
questionTitleSimilarityVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
questionTypeVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
startMsStart time in milliseconds relative to the beginning of the video.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
videoDurationMsDuration of the video.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
videoTitleVideo title.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
webrefMidMid corresponding to the WebRef entity from the CDoc that was used to source the question.VideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23String
webrefTopicalityScoreThe WebRef entity topicality score. Learn more about this score at: http://go/topicality-scoreVideoContentSearchQnaAnchorFeaturesFeatures for individual Q&A anchors. Next ID: 23number
backgroundEncodingPathPath to Descartes background encoding in the form of a serialized drishti.DenseFeatureData proto. This is generated by the flume_generate_background_encoding binary.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15String
descartesModelVersionThis field is used for debugging which model the decartes_model_score is generated from. You can learn more about the Descartes model at go/descartes-qa.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15String
descartesScoreThresholdDescartes score threshold for determining whether to output a QA pair as an anchor. This currently effects only the Descartes ranking score.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15number
dolphinConfigThe configuration used for fetching Dolphin scores.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15VideoContentSearchDolphinScoringConfig
ensembleModelPathPath to Ranklab ensemble model used in post-trigger step.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15String
ensembleModelScoreThresholdMinimum score for video anchor to pass the post-trigger step. Calculated by training a logisitic regression model with 95% precision. Training colab can be found at go/video-qa-ensemble.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15number
minEntityTopicalityScoreThreshold for determining whether to consider an entity from a CDoc for sourcing questions on that topic. Learn more about this score at: http://go/topicality-scoreVideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15number
minQuestionDistanceThreshold for determining whether questions belong in the same cluster.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15number
relatedQuestionsSstablePathPath to the Related Questions SSTable that maps entities to questions.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15String
spanDurationSecsThe duration threshold for merging captions.VideoContentSearchQnaAnchorSetFeaturesDebug info for Q&A anchors. Next ID: 15String
anchorReSimilarityRankembed similarity between the rankembed neighbor and the video anchor.VideoContentSearchRankEmbedNearestNeighborsFeaturesRankembed neighbor neighbor features for the candidate query.number
navQueryReSimilarityRankembed similarity between the rankembed neighbor and the top navboost query of the video.VideoContentSearchRankEmbedNearestNeighborsFeaturesRankembed neighbor neighbor features for the candidate query.number
reSimilarityRankembed similarity between the rankembed neighbor and the original query candidate.VideoContentSearchRankEmbedNearestNeighborsFeaturesRankembed neighbor neighbor features for the candidate query.number
canonicalEntityNameRepresentative canonical name for the entity.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
entitySalienceScore indicating the saliency (centrality) of this entity to the original_text.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.float
entityTypeNameThe type name, like “/saft/person”, “/saft/art”. See README.entity-types for the inventory of SAFT type tags.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
mentionTextRepresentative entity name mention extracted from original_text.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
mentionTypeSAFT Mention type.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
midFreebase MID for entity if this the saft entity corresponds to a Webref KG mid. This field is not always populated and is taken from FREEBASE_MID mid in EntityProfile in the saft entity annotation.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
originalTextThe original input text (e.g. the anchor text) where the saft entity annotation was run on.VideoContentSearchSaftEntityInfoSaft named-entities info for a given topic.String
asrForProConExtractionThe asr with sentence break that was used for pro/con extraction.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
snippetWordCountThe number of words in the ASR for the selected segment window.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
snippetQaScoreThe QA model score for the selected segment window against the question.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
anchorLabelSentimentThe sentiment score of the anchor label, with range: [-1, 1]. If using Lumin Pro/Con tags as the anchor labels, the “Pro” Lumin tag will have a score of 1 and Con Lumin tag will have a score of -1.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
productNameFromTitleThe product name from title extracted by the grampus model.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
snippetSubSegmentQaScoreThe QA model score for the best sub segment against the question.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
anchorLabelFirstMentionPosThe first anchor_label mention position (word index, 0-based). It is computed from the snippet_sub_segment if exists. Otherwise it is computed from the snippet. It is not populated if there is no such mention.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
babelSimilarityScoreThe Babel similarity score between the snippet and the anchor label.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
conScoreThe classification score of the anchor being a con opinion.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
isProWhether the anchor is classified as a pro opinion.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34boolean
luminAspectWordsMentionsThe number of times words in Lumin aspect (that is not a stopword) being mentioned in the snippet.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
mumScoreThe score from the MUM model if the pro/con anchor is extracted by MUM.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
grampusScoreThe score from the Grampus model if the pro/con is extracted by Grampus.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
snippetSubSegmentThe ASR for the best matched sub segment inside the selected segment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
snippetSentimentScoreThe go/scarlett sentiment score of the selected segment window. Positive score represents positive sentiment. Negative score represents negative sentiment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
luminAspectThe lumin aspect of the Pro/Con Lumin tag. e.g. “weight”.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
questionThe question used to score this video segment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
snippetSubSegmentSentimentScoreThe go/scarlett sentiment score of the best matched sub segment. Positive score represents positive sentiment. Negative score represents negative sentiment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
opinionsDolphinUsefulnessScoreVideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
snippetSubSegmentWordCountThe number of words in the ASR for the best matched sub segment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
mumProductAspectThe product aspect of the pro/con generated using the MUM model.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
luminScoreThe Lumin model score for the anchor label against the segment.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
isConWhether the anchor is classified as a con opinion.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34boolean
anchorOrAspectWordsMentionsThe number of times words in anchor label or Lumin aspect (that is not a stopword) being mentioned in the snippet. If a word exists in both anchor label and Lumin aspect, it shall be only counted once for a mention in the snippet.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
aspectProduct aspect being discussed by this Shopping Opinions.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34VideoContentSearchAspect
proScoreThe classification score of the anchor being a pro opinion.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
snippetThe ASR for the selected segment window.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
anchorOrAspectFirstMentionPosThe smaller number of anchor_label_first_mention_pos and lumin_aspect_first_mention_pos.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
isProConWhenExtractedFromMumTrue if the anchor is considered as pro or con when extracted from MUM.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34boolean
luminAspectFirstMentionPosThe first Lumin aspect mention position (word index, 0-based). It is computed from the snippet_sub_segment if exists. Otherwise it is computed from the snippet. It is not populated if there is no such mention.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
opinionsDolphinDescriptivenessScoreScores from Opinions Dolphin scorer. Opinions Dolphin scorer is built by finetuning the Dolphin-based Video Anchor Unified Scorer V2 on the Opinions anchors ratings. It outputs two scores, which are optimized for descriptiveness and usefulness ratings respectively. ‘descriptiveness_score’ measures how well the anchor label describes the video section. ‘usefulness_score’ measures how useful the anchor label is for jumping to an important section in the video. go/vs-opinions-migration-reportVideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34number
anchorLabelThe anchor label.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34String
anchorLabelWordsMentionsThe number of times words in anchor label (that is not a stopword) being mentioned in the snippet.VideoContentSearchShoppingOpinionsAnchorFeaturesFeatures for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34integer
instructionStartMsThe timestamp of when the first token in the token sequence is spoken in the video.VideoContentSearchSimilarityMatchInfointeger
instructionTextThe instruction step text coming from the web document. Currently only populated for best_description_and_instruction_anchors_match_info.VideoContentSearchSimilarityMatchInfoString
referenceTextThe reference text used for matching against token_sequence (e.g. description anchor text or instruction step text).VideoContentSearchSimilarityMatchInfoString
referenceTextTimeMsThe timestamp of when the reference text is pointing in the video (e.g. this is the description anchor timestamp when reference_text is description anchor. For instruction step used as the reference, no timestamps exists and thus this field is not populated).VideoContentSearchSimilarityMatchInfointeger
scoringMethodNameSimilarity scorer name.VideoContentSearchSimilarityMatchInfoString
similarityScoreThe similarity score given by the scoring method specified by the message scoring_method_name.VideoContentSearchSimilarityMatchInfonumber
stepIndexThe index of the step in HowToInstructions that this token_sequence corresponds to.VideoContentSearchSimilarityMatchInfointeger
tokenSequenceThe matched token sequence text in ASR.VideoContentSearchSimilarityMatchInfoString
tokenSequenceLengthThe length of the tokens in the token sequence.VideoContentSearchSimilarityMatchInfointeger
tokenStartPosThe token offset of the matched token sequence from the beginning of the document.VideoContentSearchSimilarityMatchInfointeger
passageThe text passage from ASR.VideoContentSearchSpanDolphinFeaturesString
titleThe title of the video.VideoContentSearchSpanDolphinFeaturesString
spanCandidateThe span candidates extracted from the list of span tokens. Each token is added to a span if its score is above a certain threshold.VideoContentSearchSpanDolphinScoreslist(VideoContentSearchSpanDolphinScoresSpanCandidate)
spanTokenThe token-score pairs for the passage.VideoContentSearchSpanDolphinScoreslist(VideoContentSearchSpanDolphinScoresSpanToken)
asrConfidenceStatsA summary of the token asr_confidence scores that make up the candidate.VideoContentSearchSpanDolphinScoresSpanCandidateVideoContentSearchMetricStats
scoreStatsA summary of the token scores that make up the candidate.VideoContentSearchSpanDolphinScoresSpanCandidateVideoContentSearchMetricStats
sourcePassageThe passage text from which this span candidate belongs to. In case of description spans, this field stores the sentence containing the span candidate where the sentence is a subset of the passage used for generating the span candidate.VideoContentSearchSpanDolphinScoresSpanCandidateString
textThe span candidate text.VideoContentSearchSpanDolphinScoresSpanCandidateString
timeMsThe start time for the span candidate.VideoContentSearchSpanDolphinScoresSpanCandidateString
asrConfidenceThe ASR confidence for the token, if available.VideoContentSearchSpanDolphinScoresSpanTokennumber
isSentenceStartWhether or not this token is the first token in a sentence.VideoContentSearchSpanDolphinScoresSpanTokenboolean
scoreA score correlated with the probability that the token is part of a span candidate.VideoContentSearchSpanDolphinScoresSpanTokennumber
textThe token text.VideoContentSearchSpanDolphinScoresSpanTokenString
timeMsThe start time of the passage with this token.VideoContentSearchSpanDolphinScoresSpanTokenString
prefilterClassificationLabelThe Prefilter classification label associated with the video that contains the VideoAnchorSets this object is asociated with. E.g. “basketball”.VideoContentSearchSportsKeyMomentsAnchorSetFeaturesFeatures for a set of Sports Key Moments (SKM) Anchors. Each instance of this object should be associated with a VideoAnchorSets object. Next ID: 3String
tensorflowModelVersionVersion of the underlying TensorFlow model.VideoContentSearchSportsKeyMomentsAnchorSetFeaturesFeatures for a set of Sports Key Moments (SKM) Anchors. Each instance of this object should be associated with a VideoAnchorSets object. Next ID: 3String
durationToPredictedTimeMsThe time gap of the matched_time_ms from the predicted timestamp of when this anchor should appear in the video.VideoContentSearchTextMatchInfoString
matchScoreThe float similarty score from the anchor label to matched_asr_text.VideoContentSearchTextMatchInfonumber
matchedAsrStartPosThe start token offset from the beginning of ASR where matched_asr_text starts.VideoContentSearchTextMatchInfointeger
matchedAsrTextThe ASR text that was a candidate match for the list anchor.VideoContentSearchTextMatchInfoString
matchedAsrTimeMsThe timestamp of the matched ASR in the video in milliseconds.VideoContentSearchTextMatchInfoString
matchedAsrTimeRatioThe ratio of the matched_asr_time_ms over the total duration of the video.VideoContentSearchTextMatchInfonumber
matchedAsrTokenCountThe number of tokens in matched_asr_textVideoContentSearchTextMatchInfointeger
matchedDescriptionItemIndexRatioThe ratio of the video description item index this match corresponds to over the total number of list description items for the video.VideoContentSearchTextMatchInfonumber
matchedDescriptionTextThe video description text matched with the ASR that’s used as the anchor label.VideoContentSearchTextMatchInfoString
matchedDescriptionTokenCountThe number of tokens in matched_description_text.VideoContentSearchTextMatchInfointeger
hypothesisTextThe hypothesis text that was used for the token overlap calculation.VideoContentSearchTextSimilarityFeaturesString
hypothesisTextTimeThe time in ms for the hypothesis_text.VideoContentSearchTextSimilarityFeaturesString
referenceTextVideoContentSearchTextSimilarityFeaturesString
scoringMethodNameSimilarity scorer name.VideoContentSearchTextSimilarityFeaturesString
similarityScoreThe similarity score given by the scoring method specified by the message scoring_method_name.VideoContentSearchTextSimilarityFeaturesnumber
tokenMatchCountToken by token matching stats. Exact matched token count.VideoContentSearchTextSimilarityFeaturesinteger
tokenMatchPercentThe token_overlap_count divided by the number of tokens in the hypothesis text.VideoContentSearchTextSimilarityFeaturesnumber
wordAlignmentWord by word alignment.VideoContentSearchTextSimilarityFeatureslist(VideoContentSearchTokenAlignment)
hypothesisIndexIndex of the token in hypothesis text.VideoContentSearchTokenAlignmentToken by token mapping between hypothesis text and reference text.integer
hypothesisTokenToken in hypothesis.VideoContentSearchTokenAlignmentToken by token mapping between hypothesis text and reference text.String
referenceIndexIndex of the word in reference.VideoContentSearchTokenAlignmentToken by token mapping between hypothesis text and reference text.integer
referenceTokenToken in label.VideoContentSearchTokenAlignmentToken by token mapping between hypothesis text and reference text.String
tokenIsMatchedWhether it’s a perfect match.VideoContentSearchTokenAlignmentToken by token mapping between hypothesis text and reference text.boolean
confidenceGenerated from th PseudoVideoData Timestamp Confidence field, which is quantized values in range 0-127. To convert to range 0-1 this field divides the PseudoVideoData Timestamp Confidence field by 127.VideoContentSearchTokenTimingInfoToken level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5number
durationMsVideoContentSearchTokenTimingInfoToken level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5String
startMsVideoContentSearchTokenTimingInfoToken level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5String
textShould be a single token.VideoContentSearchTokenTimingInfoToken level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5String
skipPatternStartOffsetInputstartOffset_input name as defined in https://schema.org/SeekToActionVideoContentSearchVideoActionsVideo level info for online pipeline usage. For example: skip pattern as defined in https://schema.org/SeekToAction.String
skipToTimePatternSkip to time pattern as defined in https://schema.org/SeekToActionVideoContentSearchVideoActionsVideo level info for online pipeline usage. For example: skip pattern as defined in https://schema.org/SeekToAction.String
anchorScoreThe score indicating anchor confidence.VideoContentSearchVideoAnchorNext ID: 23number
anchorTypeSpecifies the type of the anchor.VideoContentSearchVideoAnchorNext ID: 23String
contextTextContext text from ASR of long duration, used for longT5 models.VideoContentSearchVideoAnchorNext ID: 23String
destinationUrlWhen set, this is the link that should be used when clicking on a video anchor. This should jump to the given time in the video.VideoContentSearchVideoAnchorNext ID: 23String
durationThe duration of the video anchor in milliseconds.VideoContentSearchVideoAnchorNext ID: 23String
entityScoreThe score indicating the usefulness of the entity identified by ‘mid’.VideoContentSearchVideoAnchorNext ID: 23number
filterReasonIf is_filtered is true, this field illustrates the reasons.VideoContentSearchVideoAnchorNext ID: 23list(String)
isFilteredIf true, the anchor is filtered and not served online.VideoContentSearchVideoAnchorNext ID: 23boolean
isSafeConvenience field that consolidates signals for whether this label is safe.VideoContentSearchVideoAnchorNext ID: 23boolean
isScutiBadwhether this label is bad by go/scutiVideoContentSearchVideoAnchorNext ID: 23boolean
labelThe text label of the video anchor.VideoContentSearchVideoAnchorNext ID: 23String
labelScoreThe score indicating label confidence.VideoContentSearchVideoAnchorNext ID: 23number
midThe mid of the video anchor.VideoContentSearchVideoAnchorNext ID: 23String
namedEntitySpecifies named enitities the label has.VideoContentSearchVideoAnchorNext ID: 23list(VideoContentSearchNamedEntity)
precisionScoreThe precision for which the anchor should trigger. For example, if the desired precision is 95%, anchors with precision_score < 0.95 should be removed.VideoContentSearchVideoAnchorNext ID: 23number
scoreInfoAdditional scoring info used for debugging.VideoContentSearchVideoAnchorNext ID: 23VideoContentSearchVideoAnchorScoreInfo
starburstFeaturesVisual tokens for the anchor. Eg. starbust feature vectors for several frames concatenated together.VideoContentSearchVideoAnchorNext ID: 23VideoContentSearchVisualFeatures
thumbnailData about the thumbnail to display for this anchor.VideoContentSearchVideoAnchorNext ID: 23VideoContentSearchAnchorThumbnail
thumbnailUrlThe url for a frame to display for this anchor.VideoContentSearchVideoAnchorNext ID: 23String
timeThe time stamp of the video anchor in milliseconds.VideoContentSearchVideoAnchorNext ID: 23String
tokenTimingInfoTiming info for each token in the anchor label.VideoContentSearchVideoAnchorNext ID: 23list(VideoContentSearchTokenTimingInfo)
averageBookmarkUsefulnessAverage score of bookmark usefulness.VideoContentSearchVideoAnchorRatingScoreAggregated rating score, used in training pipeline, etc.number
averageDescriptionQualityAverage score of description quality.VideoContentSearchVideoAnchorRatingScoreAggregated rating score, used in training pipeline, etc.number
furballUrlFurball URL(s) of the rating score (may have been rated more than once)VideoContentSearchVideoAnchorRatingScoreAggregated rating score, used in training pipeline, etc.list(String)
anchorTypeVideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15String
entityGroupInfoThe list of entity groups derived from the caption entities.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15VideoContentSearchEntityGroupInfo
experimentalPredictedQuerylessTocUsefulnessSame as above, but used for experimenting with new models.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15number
filterReasonIf is_filtered is true, this field illustrates the reasons.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15list(String)
isFilteredIf true, the anchor set is filtered and not served online.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15boolean
mergedAnchorsSourcesThe anchor sources being used to generate this merged anchors. This field is filled only when this is a merged anchor.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15list(String)
predictedQuerylessTocUsefulnessThe score that predicts the usefulness of this anchor set on the Huh table of contents eval without considering the query.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15number
scoreThe quality of the anchor set.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15number
scoreInfoAdditional scoring info used for debugging.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15VideoContentSearchVideoAnchorsScoreInfo
shouldServeThumbnailsWhether or not thumbnails should be displayed when serving anchors.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15boolean
thumbnailForcedThis field indicates that the thumbnail should be hidden but is forced to show.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15boolean
thumbnailSetInfoInformation about the set of thumbnails.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15VideoContentSearchAnchorsThumbnailInfo
videoAnchorVideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15list(VideoContentSearchVideoAnchor)
videoIntroductionInformation about the video’s introduction segment.VideoContentSearchVideoAnchorsA video can have a list of text anchors, which have different anchor types. Next ID: 15VideoContentSearchVideoIntroduction
anchorCommonFeatureSetCommon features for any anchor types.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchAnchorCommonFeatureSet
attachmentsAdditional attachments which extend MessageSet.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27Proto2BridgeMessageSet
babelCheckpointPathThe path to the particular babel checkpointVideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27String
captionEntityAnchorFeaturesTraining features and debug info for caption entity anchors.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchCaptionEntityAnchorFeatures
captionSpanAnchorFeaturesFeatures for caption span anchors for use in training.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchCaptionSpanAnchorFeatures
descriptionAnchorFeaturesDescription anchor features for use in training.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchDescriptionAnchorFeatures
filterReasonA description of why the anchor was removed. This is intended for debugging anchor sets which use multiple heuristics to filter anchors.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27list(String)
filteredWhether or not the anchor will be removed in the final proto.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27boolean
generativeFeaturesGenerated predictions from generative modelsVideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27list(VideoContentSearchGenerativePredictionFeatures)
instructionAnchorFeaturesAnchor level features for Instruction anchors.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchInstructionAnchorFeatures
instructionTrainingDataAnchorFeaturesTraining data features for Instruction anchors.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchInstructionTrainingDataAnchorFeatures
labelLanguageDetected language of labelVideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27String
labelTransformationVideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27list(VideoContentSearchVideoAnchorScoreInfoLabelTransformation)
listAnchorFeaturesList anchor features.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchListAnchorFeatures
listTrainingDataAnchorFeaturesAnchor level metadata about the description anchors used to build training data for list anchors.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchListTrainingDataAnchorFeatures
multimodalTopicFeaturesMultimodal features for a generated topic.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchMultimodalTopicFeatures
multimodalTopicTrainingFeaturesFeatures for a generated topic used to build training data for multimodal topics.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchMultimodalTopicTrainingFeatures
normalizedBabelEmbeddingNormalized babel embedding of anchor.label(). If the label has more than one sentences, the embedding will be the averaged normalized embedding of each sentence.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27list(number)
ocrAnchorFeatureOCR anchor features.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchOnScreenTextFeature
ocrDescriptionTrainingDataAnchorFeaturesAnchor level metadata about the join of description anchors and OCR data which is used to build training data.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchOcrDescriptionTrainingDataAnchorFeatures
opinionsAnchorFeaturesShopping Opinions anchor features.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchShoppingOpinionsAnchorFeatures
qnaAnchorFeaturesQ&A anchor features for use in training.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchQnaAnchorFeatures
ratingScoreHuman rating score, used for training.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchVideoAnchorRatingScore
safeSearchClassifierOutputThe output of Safe Search’s MultiLabelClassifier.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27ClassifierPornQueryMultiLabelClassifierOutput
textSimilarityFeaturesASR matching feature for any anchor types.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27list(VideoContentSearchTextSimilarityFeatures)
thumbnailInfoInformation about the thumbnail anchor.VideoContentSearchVideoAnchorScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27VideoContentSearchAnchorThumbnailInfo
descriptionA label for the transformation.VideoContentSearchVideoAnchorScoreInfoLabelTransformationUsed to store the label before label cleaning or other transformations. If the label goes through multiple transformations, the original_label vector will include the transformations in chronological order.String
sourceLabelThe label that was transformated from.VideoContentSearchVideoAnchorScoreInfoLabelTransformationUsed to store the label before label cleaning or other transformations. If the label goes through multiple transformations, the original_label vector will include the transformations in chronological order.String
averageSetDescriptionQualityAverage score of set level description quality.VideoContentSearchVideoAnchorSetRatingScoreAggregated set level rating score, used in training pipeline, etc.number
averageSetNavigationUsefulnessAverage score of how useful the set is for navigation.VideoContentSearchVideoAnchorSetRatingScoreAggregated set level rating score, used in training pipeline, etc.number
videoActionsVideoContentSearchVideoAnchorSetsOne video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.VideoContentSearchVideoActions
videoAnchorsVideoContentSearchVideoAnchorSetsOne video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.list(VideoContentSearchVideoAnchors)
videoInfoVideoContentSearchVideoAnchorSetsOne video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.VideoContentSearchVideoInfo
videoScoreInfoVideoContentSearchVideoAnchorSetsOne video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.VideoContentSearchVideoScoreInfo
anchorsCommonFeatureSetCommon set-level features for any anchor types.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchAnchorsCommonFeatureSet
captionEntityAnchorSetFeaturesTraining features and debug info for caption entity anchors.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchCaptionEntityAnchorSetFeatures
captionSpanAnchorSetFeaturesVideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchCaptionSpanAnchorSetFeatures
commentAnchorSetFeaturesSet-level features for comment anchors.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchCommentAnchorSetFeatures
descriptionAnchorSetFeaturesDescription anchor features for use in training.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchDescriptionAnchorSetFeatures
filteredWhether or not the anchors will be removed in the final proto.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14boolean
listAnchorSetFeaturesSet-level features for list anchors.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchListAnchorSetFeatures
listTrainingDataSetFeaturesSet level metadata about the description anchors used to build training data for List Description anchors.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchListTrainingDataSetFeatures
ocrAnchorClusterFeatureOCR anchor cluster features.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchOnScreenTextClusterFeature
ocrDescriptionTrainingDataSetFeaturesSet level metadata about the join of description anchors and OCR data which is used to build training data.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchOcrDescriptionTrainingDataSetFeatures
qnaAnchorSetFeaturesMetadata such as model versions for Q&A anchors.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchQnaAnchorSetFeatures
ratingScoreHuman rating score, used for training.VideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchVideoAnchorSetRatingScore
sportsKeyMomentsAnchorSetFeaturesVideoContentSearchVideoAnchorsScoreInfoMessage to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14VideoContentSearchSportsKeyMomentsAnchorSetFeatures
anchorCountThe total number of anchors in all video anchor sets.VideoContentSearchVideoCommonFeaturesContains video level features that apply to all anchor types.integer
captionInfoThe caption data for the video transcript. The models used for unified scorer. Should be a filepath that contains saved_model.pb and a variables/ folderVideoContentSearchVideoCommonFeaturesContains video level features that apply to all anchor types.VideoContentSearchCaptionInfo
labelPhraseEmbeddingModelThe model used for generating label_phrase_embedding.VideoContentSearchVideoCommonFeaturesContains video level features that apply to all anchor types.String
unifiedScoringBertModelsVideoContentSearchVideoCommonFeaturesContains video level features that apply to all anchor types.list(String)
filterReasonA description of why the video was removed. This is intended for debugging generated queries that are filtered at the video level.VideoContentSearchVideoGeneratedQueryFeaturesContains video level features for generated queries that are applied at the video level.list(String)
prefilteredPassageCountThe total number of passages that were input to generating queries for this video. This count might be bigger than the total number of anchors in the video as some of the anchors might have been filtered by the pipeline.VideoContentSearchVideoGeneratedQueryFeaturesContains video level features for generated queries that are applied at the video level.integer
titleEntityAnnotationsEntity annotations for one of the mids representing the video title. This entity is either one of the blocklisted entities if at least of the mentioned entities in the title belongs to the blocklisted categories, or is the highest confidence entity for the title.VideoContentSearchVideoGeneratedQueryFeaturesContains video level features for generated queries that are applied at the video level.VideoContentSearchEntityAnnotations
totalRestrictedQueriesThe total number of queries that belong to the blocklisted categories for this video.VideoContentSearchVideoGeneratedQueryFeaturesContains video level features for generated queries that are applied at the video level.integer
amarnaDocidA hash of the video bytes used as a key to Amarna’s video_metadata table.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
asrLanguageLanguage information, extracted from content_based_metadata.speech_properties.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
crapsDataCraps data from the video cdoc.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31QualityNavboostCrapsCrapsData
descriptionVideo description.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
docLanguageLanguage information, extracted from DocProperties.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
durationMsVideo duration in ms.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31number
hasAsrWhether or not automatic speech recognition has been generated for this video.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31boolean
hasDescriptionAnchorsWhether or not the video has description anchors.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31boolean
isSafeConvenience field that is false if any of the video’s anchors have their is_safe field set to false.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31boolean
isWatchpageWhether or not this is watchpage.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31boolean
navqueriesNavqueries for the video.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31list(String)
nsrNSR for the video page document.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31number
numViewsNumber of views.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
pseudoVideoDataASR with timing info for each token copied from doc_videos.content_based_metadata.transcript_asr.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31PseudoVideoData
saftDocThe Saft document generated from the anchor labels.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31NlpSaftDocument
saftTranscriptThe transcript used to generate the Saft doc.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
salientTermSetSalient term set from the document. This message contains a lot of data and dependencies, so sub-messages are disabled in model evaluation in scorer.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31QualitySalientTermsSalientTermSet
subindexidThe subindexid from the cdoc. Stored as an int to avoid a cyclical dependency. Should be convertible to CompositeDoc.SubIndexType.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31list(integer)
titleVideo title.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
titleLanguageVideo title language Language information, set automatically by the SAFT LangID.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
transcriptAnnotationsTranscript annotations that include information about the ASR including timing and entity mentions.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31QualityWebanswersTranscriptAnnotations
uniqueChromeViewsNumber of unique visits in Chrome.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31integer
urlDocument url.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
verticalItemTop petacat verticals of the video produced by indexing/ml/vertical, sorted in descending order by vertical confidence.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31list(IndexingMlVerticalVerticalItem)
videoGenreGenre of the video from the page metadata. Concatenate all with a comma separator if there are multiple genres.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
videoTypeVideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
videoUrlVideo url. Note that VideoInfo::url is a page url that has this video, while this is a video file url.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31String
webrefEntitiesRepresents a collection of entities returned by the WebRef service. This message contains a lot of data and dependencies, so sub-messages are disabled in model evaluation in scorer.VideoContentSearchVideoInfoThis message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31RepositoryWebrefWebrefEntities
hasIntroIf set to true, it means the video has an introduction spanning from intro_start_ms to intro_end_ms.VideoContentSearchVideoIntroductionSpecifies whether a video has an introduction part that can be skipped. An introduction is the beginning part of a video that can be safely skipped without impacting user’s understanding of the overall video content.boolean
introEndMsTimestamp of the end of an introduction. Will only be set if has_intro is true. Indicates video may be skipped to this timestamp with minimal impact on understanding the overall video contents.VideoContentSearchVideoIntroductionSpecifies whether a video has an introduction part that can be skipped. An introduction is the beginning part of a video that can be safely skipped without impacting user’s understanding of the overall video content.String
introStartMsTimestamp of the beginning of an introduction. Will only be set if has_intro is true. This value may be nonzero.VideoContentSearchVideoIntroductionSpecifies whether a video has an introduction part that can be skipped. An introduction is the beginning part of a video that can be safely skipped without impacting user’s understanding of the overall video content.String
frameStarburstDataStarburst vectors. Sorted by timestamp.VideoContentSearchVideoMultimodalTopicFeaturesVideo-level Multimodal features for generated topics. Next ID: 2list(VideoContentSearchFrameStarburstData)
commonFeaturesAnchor scoring features that apply to all anchor types.VideoContentSearchVideoScoreInfoVideo level scoring info.VideoContentSearchVideoCommonFeatures
ocrVideoFeatureOCR specific video level feature.VideoContentSearchVideoScoreInfoVideo level scoring info.VideoContentSearchOcrVideoFeature
safeSearchClassifierOutputThe output of Safe Search’s MultiLabelClassifier for video title.VideoContentSearchVideoScoreInfoVideo level scoring info.ClassifierPornQueryMultiLabelClassifierOutput
versionThe version of this VideoAnchorSets in spanner.VideoContentSearchVideoScoreInfoVideo level scoring info.String
videoGeneratedQueryFeaturesVideo-level features that apply to all the generated queries within this VideoAnchorSets.VideoContentSearchVideoScoreInfoVideo level scoring info.VideoContentSearchVideoGeneratedQueryFeatures
videoMultimodalTopicFeaturesVideo-level features for Multimodal topics.VideoContentSearchVideoScoreInfoVideo level scoring info.VideoContentSearchVideoMultimodalTopicFeatures
featuresStarburst features semantic or visual/VideoContentSearchVisualFeaturesStartburst visual tokens or features, more details in go/starburst-mum-user-guidelist(number)
starbustVersionVideoContentSearchVisualFeaturesStartburst visual tokens or features, more details in go/starburst-mum-user-guideString
tokensStarburst visual tokensVideoContentSearchVisualFeaturesStartburst visual tokens or features, more details in go/starburst-mum-user-guidelist(integer)
expirationTimestampSecTimestamp (measured in seconds since epoch) when a video may not be used for inline playback in the interest feed.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangeString
googleAnalyticsIdPublisher’s Google Analytics Id to which we can report view metrics.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangeString
playbackCountryBlacklistAll two-letter codes for countries where this video may NOT be played.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangelist(String)
playbackCountryWhitelistAll two-letter codes for countries where this video may be played. If empty, then all countries not on the blacklist are allowed for playback.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangelist(String)
transcodeItagsSet of transcodes which are available for the video.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangelist(integer)
vastTagVAST tag for ads to be played along with this video. Currently, we only support VAST tags from Doubleclick and FreeWheel.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangeString
videoIdIdentifier video is known by in the video infrastructure. The format given here is the YoutubeId format (base-64) used in Venom; for Viper/Bandaid/ StreamingURLService, convert to ContentIdHex.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangeString
videoUrlOnExternalCdnSet if the video is hosted on an external CDN, in which case it is not to be transcoded and hosted at Google for the Interest Feed.VideoCrawlVideoInlinePlaybackMetadataThis message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChangeString
blPresentFlagIf a track contains the base layer substream.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfboolean
dvBlSignalCompatibilityIdWhether the stream is compatible with other sets of standard.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfinteger
dvLevelVideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfinteger
dvProfileVideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfinteger
dvVersionMajorSpecifies the major version number of the Dolby Vision specification that the stream complies with.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfinteger
dvVersionMinorSpecifies the minor version number of the Dolby Vision specification that the stream complies with.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfinteger
elPresentFlagIf a track contains the enhancement layer substream.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfboolean
fourccTagdvhe, dvh1, dvav, dva1: https://screenshot.googleplex.com/ipMGXFqLX9EVideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfString
rpuPresentFlagIf a track contains the reference picture unit substream.VideoDoViDecoderConfigurationDecoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdfboolean
matrixCoefficientsVideoFileColorInfoA message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.String
primariesVideoFileColorInfoA message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.String
rangeVideoFileColorInfoA message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.String
transferCharacteristicsVideoFileColorInfoA message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.String
maxContentLightLevelDefines the maximum content light level (in cd/m^2) over the entire video.VideoFileContentLightLevelA message holding the equivalent of the content light level information in HEVC or its representation in matroska/webm. This gives coarse stats on the luminance levels in the content and may be used as a hint by algorithms & displays to tone map.integer
maxFrameAverageLightLevelThe maximum (over entire video) of the frame average light level.VideoFileContentLightLevelA message holding the equivalent of the content light level information in HEVC or its representation in matroska/webm. This gives coarse stats on the luminance levels in the content and may be used as a hint by algorithms & displays to tone map.integer
gridOffset0HorizontalGrid positionsVideoFileFramePackingArrangementInformation on Frame Packing arrangementinteger
gridOffset0VerticalVideoFileFramePackingArrangementInformation on Frame Packing arrangementinteger
gridOffset1HorizontalVideoFileFramePackingArrangementInformation on Frame Packing arrangementinteger
gridOffset1VerticalVideoFileFramePackingArrangementInformation on Frame Packing arrangementinteger
interpretationContent interpretationVideoFileFramePackingArrangementInformation on Frame Packing arrangementString
quincunxSamplingQuincunx sampling flag indicating if quincunx sampling is usedVideoFileFramePackingArrangementInformation on Frame Packing arrangementboolean
typeArrangement typeVideoFileFramePackingArrangementInformation on Frame Packing arrangementString
applicationVersionApplication version is set to max version over all frames.VideoFileHDR10PlusStatsStats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.integer
averageTargetedSystemDisplayMaximumLuminanceThe average of the nominal maximum display luminance of the targeted system display over all frames.VideoFileHDR10PlusStatsStats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.float
masteringDisplayActualPeakLuminanceFlagThis flag is set if any frame has it.VideoFileHDR10PlusStatsStats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.boolean
maxNumWindowsVideoFileHDR10PlusStatsStats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.integer
targetedSystemDisplayActualPeakLuminanceFlagThis flag is set if any frame has it.VideoFileHDR10PlusStatsStats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.boolean
blueCoordinates of the blue primary of the mastering display.VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.VideoFileMasteringDisplayMetadataCIE1931Coordinate
greenCoordinates of the green primary of the mastering display.VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.VideoFileMasteringDisplayMetadataCIE1931Coordinate
maxLuminanceMaximum luminance of the display (in cd/m^2).VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.number
minLuminanceMinimum luminance of the display (in cd/m^2).VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.number
redCoordinates of the red primary of the mastering display.VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.VideoFileMasteringDisplayMetadataCIE1931Coordinate
whitePointCoordinates of the white point of the mastering display.VideoFileMasteringDisplayMetadataA message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.VideoFileMasteringDisplayMetadataCIE1931Coordinate
xVideoFileMasteringDisplayMetadataCIE1931CoordinateRepresentation of a color coordinate in CIE1931 color space.number
yVideoFileMasteringDisplayMetadataCIE1931CoordinateRepresentation of a color coordinate in CIE1931 color space.number
clampedOptimalFovBoundsLike above, but with high-pass motion filtering applied and yaw rotation limited to +/- 15-degreesVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataFOVBounds
cubemapVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataCubemapProjection
deprecatedCroppedAreaVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataCroppedArea
deprecatedInitialViewInitialView is from v1 spec, and is more or less equivalent to Pose from v2 spec. Therefore, InitialView found in xml metadata would populate the pose field in this proto.VideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataViewDirection
equirectVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataEquirectProjection
fullPanoHeightPixelsVideoFileSphericalMetadataGlobally allowed spherical meta data.integer
fullPanoWidthPixelsDimensions of the full video frame.VideoFileSphericalMetadataGlobally allowed spherical meta data.integer
meshVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataMeshProjection
metadataSourceMetadata source v2(svhd)VideoFileSphericalMetadataGlobally allowed spherical meta data.String
optimalFovBoundsIf video contains Wally-sanitized mesh and camera motion metadata (see go/wally-format ), this contains the optimal FOV (smallest FOV that encompass all combinations of input mesh FOV and rotations). This field will only be present if full FfmpegAnalyze is performed.VideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataFOVBounds
poseVideoFileSphericalMetadataGlobally allowed spherical meta data.VideoFileSphericalMetadataPose
projectionTypeMapping type used to map the sphere to the rectangular video E.g., “equirectangular”, http://en.wikipedia.org/wiki/Equirectangular_projection This is kept as string so that we can retain values that are unknown to us.VideoFileSphericalMetadataGlobally allowed spherical meta data.String
sourceCountThe number of camera sources used to generate this video.VideoFileSphericalMetadataGlobally allowed spherical meta data.integer
sphericalWhether the video is spherical or not.VideoFileSphericalMetadataGlobally allowed spherical meta data.boolean
stereoModeThe stereo mode.VideoFileSphericalMetadataGlobally allowed spherical meta data.String
stitchedWhether the video has already been stitched.VideoFileSphericalMetadataGlobally allowed spherical meta data.boolean
stitchingSoftwareThe stitching software.VideoFileSphericalMetadataGlobally allowed spherical meta data.String
timestampEpoch Timestamp of when the first frame in the video was recordedVideoFileSphericalMetadataGlobally allowed spherical meta data.String
heightVideoFileSphericalMetadataCroppedAreaThe cropping coordinates, in pixels.integer
leftVideoFileSphericalMetadataCroppedAreaThe cropping coordinates, in pixels.integer
topVideoFileSphericalMetadataCroppedAreaThe cropping coordinates, in pixels.integer
widthVideoFileSphericalMetadataCroppedAreaThe cropping coordinates, in pixels.integer
layoutValues 0 to 255 are reserved for current and future layouts. Value of 0 corresponds to a grid with 3 columns and 2 rows as follows: | right face | left face | up face | | down face | front face | back face |VideoFileSphericalMetadataCubemapProjectionSpecifies usage of cubemap projection.integer
paddingNumber of pixels to pad from the edge of each cube faceVideoFileSphericalMetadataCubemapProjectionSpecifies usage of cubemap projection.integer
projectionBoundsBottomVideoFileSphericalMetadataEquirectProjectionSpecifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)integer
projectionBoundsLeftVideoFileSphericalMetadataEquirectProjectionSpecifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)integer
projectionBoundsRightVideoFileSphericalMetadataEquirectProjectionSpecifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)integer
projectionBoundsTopVideoFileSphericalMetadataEquirectProjectionSpecifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)integer
endTiltInDegreesVideoFileSphericalMetadataFOVBoundsfloat
endYawInDegreesVideoFileSphericalMetadataFOVBoundsfloat
startTiltInDegreesVideoFileSphericalMetadataFOVBoundsfloat
startYawInDegreesVideoFileSphericalMetadataFOVBoundsfloat
boundsOnce mesh is analyzed, this field contains the bounds of the mesh(es) In case of stereo mesh, this will be the aggregate of both eye meshesVideoFileSphericalMetadataMeshProjectionSpecifies usage of mesh projection. “content” contains the mshp atom: version/flags, CRC, compression method, description of the mesh(es) (vertices, coordinates corresponding to each vertex, and vertex lists to describe the projection). See go/pir-spec for mshp atom data layout.VideoFileSphericalMetadataFOVBounds
contentVideoFileSphericalMetadataMeshProjectionSpecifies usage of mesh projection. “content” contains the mshp atom: version/flags, CRC, compression method, description of the mesh(es) (vertices, coordinates corresponding to each vertex, and vertex lists to describe the projection). See go/pir-spec for mshp atom data layout.String
typeThe mesh type field will only be populated when we have done analysis on the mesh. If this field is missing, mesh analysis has not been done.VideoFileSphericalMetadataMeshProjectionSpecifies usage of mesh projection. “content” contains the mshp atom: version/flags, CRC, compression method, description of the mesh(es) (vertices, coordinates corresponding to each vertex, and vertex lists to describe the projection). See go/pir-spec for mshp atom data layout.String
headingDegreesVideoFileSphericalMetadataPoseSpecifies the compass heading, pitch & roll for the origin of the projection. The origin for the “equirectangular” projection is the center of the image. The origin for the other projection types is defined as the location in the image that corresponds to the origin of an “equirectangular” projection.number
pitchDegreesVideoFileSphericalMetadataPoseSpecifies the compass heading, pitch & roll for the origin of the projection. The origin for the “equirectangular” projection is the center of the image. The origin for the other projection types is defined as the location in the image that corresponds to the origin of an “equirectangular” projection.number
rollDegreesVideoFileSphericalMetadataPoseSpecifies the compass heading, pitch & roll for the origin of the projection. The origin for the “equirectangular” projection is the center of the image. The origin for the other projection types is defined as the location in the image that corresponds to the origin of an “equirectangular” projection.number
headingDegreesVideoFileSphericalMetadataViewDirectioninteger
pitchDegreesVideoFileSphericalMetadataViewDirectioninteger
rollDegreesVideoFileSphericalMetadataViewDirectioninteger
aloudLoggingIdUsed to track videos produced via Aloud dubbing.VideoGoogleVideoClipInfoYT app video information. (go/yt-create-vsi-data)String
appVersionYT app version (ie. YT Create app version).VideoGoogleVideoClipInfoYT app video information. (go/yt-create-vsi-data)String
assetLoggingIdList of YT media asset logging ids.VideoGoogleVideoClipInfoYT app video information. (go/yt-create-vsi-data)list(String)
dubbingLoggingIdUsed to track videos produced via Universal Dubbing.VideoGoogleVideoClipInfoYT app video information. (go/yt-create-vsi-data)String
productTypeProduct used to create this video clip.VideoGoogleVideoClipInfoYT app video information. (go/yt-create-vsi-data)String
featureSetNameVideoLegosLegosAnnotationsSetString
legosAnnotationsVideoLegosLegosAnnotationsSetYoutubeDiscoveryLegosLegosAnnotations
annotationsSetVideoLegosLegosAnnotationsSetslist(VideoLegosLegosAnnotationsSet)
audioStreamEach entry corresponds to one audio stream in the original media file.VideoMediaInfoFeel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChangelist(VideoAudioStream)
containerIdContainer type of the file, e.g. FLV, H264, MP3. Uses the numeric value corresponding to the ContainerId enum objects, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:ContainerId%20f:google3/video/vidproc/vsi/videostreaminfo.protoVideoMediaInfoFeel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChangeinteger
fileSizeMedia file size in bytes.VideoMediaInfoFeel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChangeString
overviewThis is a high-level description of the media. It does not contain PII.VideoMediaInfoFeel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChangeVideoMediaOverview
videoStreamEach entry corresponds to one video stream (usually just one) in the original media file.VideoMediaInfoFeel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChangelist(VideoVideoStream)
aspectRatioVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
audioOverviewVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.list(VideoMediaOverviewAudioOverview)
authoringToolVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
colorDynamicRangeVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
creationTimeStampUsecCreation timestamp of this media_info, in Unix timestamp since epoch.VideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
dataOverviewVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.list(VideoMediaOverviewDataOverview)
frameRateVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
hasChaptersCurrently used by originals replacement pipeline to exclude all videos containing chapter info.VideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.boolean
mediaClipInfoOverviewVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.VideoMediaOverviewMediaClipInfoOverview
orientationThe orientation is annotated based on the final displayed resolution of the video file. A video will be labelled PORTRAIT whenever the height is greater than the width. The orientation is only labelled UNKNOWN in the case that the video stream had some transformation that was not a rotation in the video stream.VideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
originVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
projectionVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
resolutionThe resolution for a video takes into account the displayed video size, and takes into account the orientation. For example: – A 1920×1080 video will have ORIENTATION_LANDSCAPE and RESOLUTION_1080P – A 1080×1920 video will have ORIENTATION_PORTRAIT and RESOLUTION_1080P – A 1080×1080 video will have ORIENTATION_LANDSCAPE and RESOLUTION_1080PVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
spatialAudioModeVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
stereoModeVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
timedtextOverviewVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.list(VideoMediaOverviewTimedTextOverview)
videoOverviewVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.list(VideoMediaOverviewVideoOverview)
wallyMeshTypeThis only applies when: projection = PROJECTION_PARTIALLY_SPHERICALVideoMediaOverviewNext ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all –train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.String
channelsNumber of audio channels.VideoMediaOverviewAudioOverviewAudio stream description with no PII.integer
contentTypeContent type of the audio track extracted from VSI. This is only populated with valid “acont” xtag values at the moment, i.e., if VSI reports an invalid string, we ignore it. Supported acont xtag values can be found in google3/video/storage/common/xtag_validation.cc. Examples: “original”, “dubbed”, “descriptive”, “commentary”, etc.VideoMediaOverviewAudioOverviewAudio stream description with no PII.String
languageLanguage of the audio track extracted from VSI. Populated if it’s deemed a valid code by ISO639-2b, ISO639-2t or III library.VideoMediaOverviewAudioOverviewAudio stream description with no PII.String
loudness1770LkfsVideoMediaOverviewAudioOverviewAudio stream description with no PII.float
roundedUpOriginalDurationSecApproximate audio length, has the same caveats as its video equivalent.VideoMediaOverviewAudioOverviewAudio stream description with no PII.integer
spatialAudioModeVideoMediaOverviewAudioOverviewAudio stream description with no PII.String
hasCameraMotionMetadataWhether the data stream has camera motion metadata (dynamic) or not (static). Some Wally/VR180 videos do.VideoMediaOverviewDataOverviewData stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have data streams. Fields in proto are used to exclude clips with certain types of data streams.boolean
hasOzoAudioIf true, source contains metadata for OZO spatial audio support. See b/62393568 for more information about the OZO spatial audio format. Note that SpatialAudioMode is independent of this format.VideoMediaOverviewDataOverviewData stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have data streams. Fields in proto are used to exclude clips with certain types of data streams.boolean
hasGeolocationCorresponds to vsi.video_clip_info().has_geolocation()VideoMediaOverviewMediaClipInfoOverviewVideo clip info description with no PII.boolean
aspectRatioVideoMediaOverviewVideoOverviewVideo stream description with no PII.String
averageFpsPrefer average_fps to match the logic used in transcoder for format profile frame rate checks. First added for Photos, see b/165839654.VideoMediaOverviewVideoOverviewVideo stream description with no PII.float
codecIdVideoMediaOverviewVideoOverviewVideo stream description with no PII.integer
colorDynamicRangeVideoMediaOverviewVideoOverviewVideo stream description with no PII.String
fpsVideoMediaOverviewVideoOverviewVideo stream description with no PII.float
heightVideoMediaOverviewVideoOverviewVideo stream description with no PII.integer
resolutionVideoMediaOverviewVideoOverviewVideo stream description with no PII.String
roundedUpOriginalDurationSecApproximate video length. Data is rounded up to the next second, to avoid being PII. (Long ago, YTFE set a precedent of rounding up durations, rather than rounding to the closest second.) This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero. Prefer the value from MediaInfo::VideoStream over this value, which was added to resolve b/202864365.VideoMediaOverviewVideoOverviewVideo stream description with no PII.integer
videoHasClosedCaptionsVideoMediaOverviewVideoOverviewVideo stream description with no PII.boolean
widthVideoMediaOverviewVideoOverviewVideo stream description with no PII.integer
coreSignalsVideoPerDocDataMediaIndexVideoCoreSignals
framesVideoPerDocDataMediaIndexVideoFrames
frameBlobRefsThe blobRef where the representative frame is stored. This is repeated in order to support multiple thumbnails in the future.VideoPipelineViperThumbnailerColumnDatalist(BlobstoreBlobRef)
frameFileListVideo frame files (based on file_dir_to_save_frames parameter)VideoPipelineViperThumbnailerColumnDataVideoThumbnailsFrameFileList
frameTypeGeneratedFrame type generated (VR/360/3D/default).VideoPipelineViperThumbnailerColumnDataString
generatedFromDrishtiThumbnailerTrue if the thumbnails are generated from drishti_thumbnailer.VideoPipelineViperThumbnailerColumnDataboolean
highResPreviewThumbnailGeneratedVideoPipelineViperThumbnailerColumnDataboolean
hq720Generatedhq720.jpg is a 1280×720 pixel image generated only when the input video resolution is 1280×720 or higher.VideoPipelineViperThumbnailerColumnDataboolean
hqdefaultGeneratedThe flags below indicate whether certain optional thumbnail images were generated. hqdefault.jpg is a 480×360 pixel high quality image which should normally be always generated.VideoPipelineViperThumbnailerColumnDataboolean
hvcBackupGeneratedTrue if a set of backup HVC thumbnails is generated.VideoPipelineViperThumbnailerColumnDataboolean
improvedVerticalGeneratedTrue if the thumbnails are generated with background crop and scrim.VideoPipelineViperThumbnailerColumnDataboolean
maxresdefaultGeneratedmaxresdefault.jpg is an image of the same resolution as the input video. It is generated only when the input video is significantly higher-resolution than 640×480.VideoPipelineViperThumbnailerColumnDataboolean
maxresdefaultHeightHeight of the generated maxresdefault thumbnail.VideoPipelineViperThumbnailerColumnDatainteger
maxresdefaultWidthWidth of the generated maxresdefault thumbnail.VideoPipelineViperThumbnailerColumnDatainteger
movingThumbnailGeneratedTrue if moving thumbnails are generated.VideoPipelineViperThumbnailerColumnDataboolean
privateThumbnailsGeneratedTrue if private thumbnails were generated and stored in the thumbnail database.VideoPipelineViperThumbnailerColumnDataboolean
publicThumbnailsGeneratedTrue if public thumbnails were generated and stored in the thumbnail database.VideoPipelineViperThumbnailerColumnDataboolean
rerunStatusAnalysis result of running the rerun thumbnailerVideoPipelineViperThumbnailerColumnDataString
sddefaultGeneratedsddefault.jpg is a 640×480 pixel image generated only when the input video resolution is 640×480 or higher.VideoPipelineViperThumbnailerColumnDataboolean
storyboardGeneratedThis flag indicates if storyboard mosaic images were generated and stored in the thumbnail database.VideoPipelineViperThumbnailerColumnDataboolean
storyboardNumLevelsNumber of levels of storyboard generated (0 if policy default).VideoPipelineViperThumbnailerColumnDatainteger
storyboardPolicyPolicy number that governed the storyboard generation. If zero, no policy was used and the storyboard format is not fully specified by the parameters contained in this message.VideoPipelineViperThumbnailerColumnDatainteger
storyboardVersionVersion of the storyboard.VideoPipelineViperThumbnailerColumnDatainteger
storyboardVideoDurationMsVideo duration of the video.VideoPipelineViperThumbnailerColumnDatainteger
storyboardVideoHeightHeight of the video that was storyboarded.VideoPipelineViperThumbnailerColumnDatainteger
storyboardVideoWidthWidth of the video that was storyboarded.VideoPipelineViperThumbnailerColumnDatainteger
webpGeneratedThis flag indicates if images in WebP format were created and stored in the thumbnail database.VideoPipelineViperThumbnailerColumnDataboolean
infoVideoPipelineViperVSIColumnDataVideoVideoStreamInfo
inputReadTimeTotal time taken in seconds to read the inputVideoPipelineViperVSIColumnDatafloat
partialFileWas the VSI computed on a partial file ?VideoPipelineViperVSIColumnDataboolean
totalVsiTimeTotal time (of all attempts) taken in seconds to compute VSIVideoPipelineViperVSIColumnDatafloat
vsiStatsVideoPipelineViperVSIColumnDatalist(VideoPipelineViperVSIColumnDataVsiStats)
partialVsiTrue if the output vsi is a partial vsi.VideoPipelineViperVSIColumnDataVsiStatsThe stats of each output vsi.boolean
vsiTimeThe time (in secondes) from vsi_engine init to vsi written to output buffer.VideoPipelineViperVSIColumnDataVsiStatsThe stats of each output vsi.float
denominatorVideoRational32integer
numeratorVideoRational32integer
countmessage count of each payloadtypeVideoSEIMessageThis SEI message only takes the payload type and the sum of the payload sizes for all SEI messages of this type. More informations, such as timestamp, payload, may be added in the future.integer
cumulativeSizeIf the video stream has multiple SEI messages with the same payload type, this is the sum of all these payloads’ sizes.VideoSEIMessageThis SEI message only takes the payload type and the sum of the payload sizes for all SEI messages of this type. More informations, such as timestamp, payload, may be added in the future.String
payloadtypeuse int type in case there are payload types that are not included in the SEIPayloadType enum below. The enum can be used for lookupVideoSEIMessageThis SEI message only takes the payload type and the sum of the payload sizes for all SEI messages of this type. More informations, such as timestamp, payload, may be added in the future.integer
itu1770LoudnessDbLoudness measured using ITU-R BS. 1770VideoStorageLoudnessDataMeasurement of loudness. Next tag = 3number
perceptualLoudnessDbPerceived loudness of audio measured using replaygain.VideoStorageLoudnessDataMeasurement of loudness. Next tag = 3number
filenameVideoThumbnailsFrameFileIndividual video frame saved in an image file.String
heightVideoThumbnailsFrameFileIndividual video frame saved in an image file.integer
msOffsetVideoThumbnailsFrameFileIndividual video frame saved in an image file.integer
widthVideoThumbnailsFrameFileIndividual video frame saved in an image file.integer
frameFilesVideoThumbnailsFrameFileListList of individual video frames, each saved as an image filelist(VideoThumbnailsFrameFile)
checksumChecksum of the thumbnail bytes used to identify which image the score belongs to. Only filled when thumbnail version is 0.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
colorSamplingColor sampling score encoded as uint32. Encode/Decode using youtube::color::RgbToUint / UIntToRgb. Field is only relevant for TYPE_COLOR_SAMPLING.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16integer
denseFeaturesThumbnail dense features.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16list(number)
denseGeneralExtraFeaturesFeatureExtra extension for dense features.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16DrishtiFeatureExtra
externalImageIdA unique identifier for the image that is independent of the resolution. The Image ID accompanies the image bytes through its lifecycle, from creation till vanishing. Image ID is not based on image content; it is different than checksum (e.g. two different images with the same bytes may not have the same image ID). This ID is used as a unique identifier for clients such as T&S and classifiers. For more info refer to go/thumbnail-id-ts-ab-testing Note: Image ID’s are still in development and are currently not exposed externally (may be done in the future). Please contact yt-thumbnails-core@ before using it. Do not use externally or in logs before contacting yt-thumbnails-core@VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
isAssignedIf true, score is manually assigned.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16boolean
isInstantIf true, score will be instantly indexed by YouTube search indexer.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16boolean
modelVersionVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
overwriteReasonVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
quantizedFeaturesThumbnail quantized dense features, available in TYPE_STARBURST_COMPRESSEDVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
scoreVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16float
sparseFeaturesThumbnail sparse features, available in TYPE_STARBURSTVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16DrishtiSparseFeatureData
thumbnailSetVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
thumbnailVersionVersion number of the thumbnail. Should be consistent with the version number in the ytimg_content column family.VideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
typeVideoThumbnailsThumbnailScoreLINT.IfChange Score calculated from a thumbnail. NextID: 16String
langResultsThe complete list of language scores, sorted from high score to low.VideoTimedtextS4ALIResultslist(VideoTimedtextS4LangScore)
speechClassWhat kind of speech (if any) was detected.VideoTimedtextS4ALIResultsString
confidenceA score between 0.0 and 1.0; the relative probability that this is the language of the video. This should not be interpreted as an absolute probability. For instance, scores may be calculated for all languages even for videos for which no speech was detected.VideoTimedtextS4LangScorenumber
langCodeThe language code for one of the languages supported by automatic language identification.VideoTimedtextS4LangScoreString
countCounts itu-t t.35 message with the same country code and provider codeVideoUserDataRegisteredItuTT35This message contains user data registered itu-t t.35 datainteger
countryCodeVideoUserDataRegisteredItuTT35This message contains user data registered itu-t t.35 datainteger
providerCodeVideoUserDataRegisteredItuTT35This message contains user data registered itu-t t.35 datainteger
countCounts user data with the same uuid and payload If payload size is larger than limit, the payload will be ‘Payload size is larger than limit: ‘ + limit size Count will be for user data with same uuid and payload exceeds limit in this caseVideoUserDataUnregisteredThis message contains unregistered user data identified by a UUIDinteger
payloadPayload may not be filled in Payload may contain user dataVideoUserDataUnregisteredThis message contains unregistered user data identified by a UUIDString
uuidVideoUserDataUnregisteredThis message contains unregistered user data identified by a UUIDString
artistLists the artist of the original subject of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
audioVendorIdAudio vendor IDVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
authorDifferent containers use different video clip info. The following fields include info from popular formats: AVI, MOV, and WMV.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
commentVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
commissionedLists the name of the person or organization that commissioned the subject of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
copyrightRecords the copyright information for the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
digitizationTimeVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
directorVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
engineerThe engineer who worked on the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
geolocationOptional geo-location information in WGS 84.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26VideoVideoGeoLocation
infoVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
keywordsProvides a list of keywords that refer to the file or subject of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
makeThe camera make such as Apple, Samsung etc.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
mediumDescribes the original subject of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
metadataContainer level metadataVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26list(VideoClipInfo)
modelThe camera model such as iPhone7 or Pixel, etc.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
performerVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
producerVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
requirementsVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
softwareIdentifies the name of the software packages used to create the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
sourceProviderIdentifies the name of the person or organization who supplied the original subject of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
subjectDescribes the contents of the file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
technicianIdentifies the technician who digitized the subject file.VideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
titleVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
videoVendorIdVideo vendor IDVideoVideoClipInfoVideoClipInfo : meta information extracted from video file Next id: 26String
altitudeE2Altitude is in meters and multiplied by 100 (i.e., in centimeters). Up till 10 km this fits in 3 bytes.VideoVideoGeoLocationGeneric geo-location information. This is error-prone due to the fact that is uses signed integer fields, which are not supported by proto1 API and are cast to unsigned integers. Consider using the metadata_util function directly, which fills out a version 2 API proto.integer
latitudeE7Latitude and longitude are in degrees and multiplied by 10^7. This gives the worst precision of about 1 cm at the equator.VideoVideoGeoLocationGeneric geo-location information. This is error-prone due to the fact that is uses signed integer fields, which are not supported by proto1 API and are cast to unsigned integers. Consider using the metadata_util function directly, which fills out a version 2 API proto.integer
longitudeE7VideoVideoGeoLocationGeneric geo-location information. This is error-prone due to the fact that is uses signed integer fields, which are not supported by proto1 API and are cast to unsigned integers. Consider using the metadata_util function directly, which fills out a version 2 API proto.integer
bitrateVideo bitrate in bits/s.VideoVideoStreamString
codecIdVideo codec ID. Uses the numeric value corresponding to the CodecId enum object, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:CodecId%20f:google3/video/vidproc/vsi/videostreaminfo.protoVideoVideoStreaminteger
fpsVideo frame per second, obtained by parsing video header information. The value can be inaccurate for some types of codecs. See comments at http://cs/symbol:video_fps%20f:google3/video/vidproc/vsi/videostreaminfo.protoVideoVideoStreamfloat
heightVideoVideoStreaminteger
lengthSecVideo length, in seconds. This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero.VideoVideoStreamfloat
streamIndexIndex of the stream in the file, 0-based.VideoVideoStreamString
widthThe video stream’s width and height. Important notes: 1) These are the coded dimensions of the video stream and DO NOT take into account any rotation metadata that may be present in the video container. Prefer to use the MediaOverview::resolution and MediaOverview::orientation when possible. 2) In the case you want detailed displayed width/height information, you can use the MediaOverview::orientation to determine the displayed dimensions. E.g., in the case of PORTRAIT orientation: displayed_width = min(width, height) displayed_height = max(width, height) And for LANDSCAPE orientation: displayed_width = max(width, height) displayed_height = min(width, height)VideoVideoStreaminteger
profilevideo profileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioStreamVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84list(VideoVideoStreamInfoAudioStream)
fileHeaderFingerprintInput file header fingerprintVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoStreamVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84list(VideoVideoStreamInfoVideoStream)
videoNumberOfFramesNumber of Video frames Warning: running video::FfmpegVideoFileInformation() won’t set this info Ffmpeg tool does not report the number of frames accurately. We can’t rely on fps and video length. So we will set this after we processed every frame using the filter frameworkVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
pixFmtPixel format for the video stream.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
fileMagicThe file type string returned by libmagic, a third party library. It might accidentally include some user content. Some normal file_magic examples: — RIFF (little-endian) data, AVI, 1016 x 696, 30.00 fps, video: XviD, audio: (stereo, 48000 Hz) — MPEG sequence, v2, program multiplex — ISO Media, MPEG v4 system, iTunes AVC-LC — Microsoft Windows Movie Maker project fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
isImageFileTrue if the video is actually an image file (JPEG, PNG, GIF, etc) and not a video file.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoHasNonMonotonicPtsvideo has non-monotonic PTS.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
numTimedtextStreamsTotal number of timedtext streams in the fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoEndTimestampVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoFpsvideo frame per second, obtained by parsing video header information. It could be inaccurate for some types of codecs, notably, WMV, ASF, and FLV. It will be inaccurate for videos that does not have constant frame rate since it is the smallest framerate that can accurately represent all timestamps (see ffmpeg doc for AVStream.r_frame_rate). Also frame rate can be parsed from headers and can be wrong if it is not available there since ffmpeg uses a heuristic for determining it.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
videoNumberOfInvisibleFramesInvisible frame count Keep a count of frames that are not displayed should the full frame count be needed for the video stream. The only codec currently reporting this value is VP8 with alternate reference frames enabledVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoHasNonMonotonicDtsvideo has non-monotonic DTS (potential problem)VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
audioChannelsaudio channelsVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoPixelAspectRatiovideo pixel aspect ratioVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
videoClipInfoVideo clip information, such as copyright, title, and author.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84VideoVideoClipInfo
videostreaminfoVersionVersion number of the videostreaminfo application that generated this protobuf.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
audioFrameSizeaudio frame sizeVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioStreamCodecTagVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioEndTimestampVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
metadataVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84VideoVideoStreamInfoMetadata
timedtextStreamVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84list(VideoVideoStreamInfoTimedTextStream)
videoHasNonZeroStartEditListvideo (MOV) has a possibly av desync issue due to edit lists not starting at 0VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
numDataStreamsTotal number of data streams in the fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
avDistanceAudio-Video interleaving distance between packets (in bytes)VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioLengthaudio length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
parsedByInHouseParsersTrue if the file was successfully parsed by in-house parsers. Unset if parsing wasn’t attepmted.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoHasPossibleOpenGopvideo has possible open GOPVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
fileNameInput file name. DEPRECATED; don’t expect the file name to be correct.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
numVideoStreamsTotal number of video streams in the fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
dataStreamVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84list(VideoVideoStreamInfoDataStream)
audioSampleSizeNumber of meaningful bits per decoded audio sample. This is an implicit conceptual meaning. This is *NOT* the same as ffmpeg’s internal sample format that is used when actually decoding with ffmpeg.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
containsChaptersIf the video contains chapters info.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
containerTypeName of the container format guessed by ffmpeg.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioBitrateaudio bitrate in bits/sVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
containerIdContainer Id.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoInterlaceInformation on interlaced video.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
partialFileBy default we assume that the entire file was given computing the VSI – if that is not true this flag should be set to true.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoHeightVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
avLengthAudio and video length in seconds. It’s the max of the audio and video length. Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
averageVideoFpsAverage video fps from analyzing entire file.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
audioSampleRateaudio sample rateVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioNumberOfFramesNumber of audio frames. Ffmpeg does not report the number of frames accurately. video::TranscodedVideoFileInformation calls Google’s analyzer to get information of both audio and video frame numbers.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
imageStreamVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84list(VideoVideoStreamInfoVideoStream)
videoHasBFramesvideo has b framesVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
fileModifiedTimeInput file modification timeVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoStartTimestampStart/end timestamps of audio/video in ms.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
isAsfTrue if the video is likely to be an ASF file.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoRotationIs the video rotated ?VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoFrameSizevideo frame sizeVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoHasLeadingMoovAtomvideo (MOV) has moov atom before mdat atom allowing streaming transcodingVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoCodecIdPrimary video codec information Fields 1-2, 4-10, 28, 37, 44, 49, 51, 54-55, 57-62, 69 will be obsolete soon. Please start using the new repeated video_stream. For now, video_stream(0) will match these fields. Note however that some of the fields in VideoStream are not populated correctly yet in videostreaminfo.cc, but that will be handled gradually.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
parsedByFfmpegIf this field is not set, then only base video file information has been generated (and ffmpeg parsing hasn’t yet been done). If this is set to ‘false’, then ffmpeg failed to parse the file – otherwise it will set to ‘true’VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
videoBitratevideo bitrate in bits/sVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
audioCodecIdPrimary audio codec information Fields 15-20, 41-42, 48, 52-53 for audio will be obsolete soon. Please start using the new repeated audio_stream and video_stream. For now, audio_stream(0) will match these fields. Primary audio codec information starts:VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
googleVideoClipInfoYT app created video information,VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84VideoGoogleVideoClipInfo
levelVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoHasVariableAspectRatiovideo has frames with different aspect ratios.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
fileTypeHigh-level file type guessed by looking at the file headers and libmagic.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
isVideoInsaneSizeCheck if a video size insane or not. It is set if the input file is an MOV file.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
displayHeightVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
numAudioStreamsTotal number of audio streams in the fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoWidthsource video width and heightVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
fileSizeInput file size in bytesVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
audioStartTimestampVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
videoLengthvideo length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
videoHasFragmentsvideo (MOV) has fragmentsVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84boolean
yPsnrLuma PSNR of the transcoded file.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84float
numImageStreamsTotal number of image streams in the fileVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
videoStreamCodecTagVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
buildLabelBuild label of the VSI mpm.VideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84String
displayWidthfinal display video width and height if explicitly set in the video otherwise this can be calculated from source width/height and video_pixel_aspect_ratioVideoVideoStreamInfoNote that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84integer
ambisonicsOptional ambisonics metadata.VideoVideoStreamInfoAudioStreamNext id: 25VideoAmbisonicsAmbisonicsMetadata
bitrateaudio bitrate in bits/sVideoVideoStreamInfoAudioStreamNext id: 25String
channelPositionVideoVideoStreamInfoAudioStreamNext id: 25list(String)
channelsnumber of audio channelsVideoVideoStreamInfoAudioStreamNext id: 25integer
clockDiscontinuityUssome container allows for a clock discontinuity. In this case, the end_timestamp may not be the correct DTS of the stream.VideoVideoStreamInfoAudioStreamNext id: 25String
codecFourccVideoVideoStreamInfoAudioStreamNext id: 25String
codecIdPrimary audio codec informationVideoVideoStreamInfoAudioStreamNext id: 25String
codecStringRFC6381 Codec string.VideoVideoStreamInfoAudioStreamNext id: 25String
contentTypeSpecifies the content_type of the audio stream as given in the metadata.VideoVideoStreamInfoAudioStreamNext id: 25String
decodeOffsetThe bytes offset of the end of the first decodable packet.VideoVideoStreamInfoAudioStreamNext id: 25String
endTimestampVideoVideoStreamInfoAudioStreamNext id: 25String
frameSizeaudio frame sizeVideoVideoStreamInfoAudioStreamNext id: 25String
languageSpecifies the language of the audio stream as given in the metadata.VideoVideoStreamInfoAudioStreamNext id: 25String
lengthaudio length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).VideoVideoStreamInfoAudioStreamNext id: 25float
metadataMetadata for audio elementary stream;VideoVideoStreamInfoAudioStreamNext id: 25list(VideoClipInfo)
numberOfFramesNumber of audio frames.VideoVideoStreamInfoAudioStreamNext id: 25String
profileVideoVideoStreamInfoAudioStreamNext id: 25String
sampleRateaudio sample rateVideoVideoStreamInfoAudioStreamNext id: 25String
sampleSizeNumber of meaningful bits per decoded audio sample. This is an implicit conceptual meaning. This is *NOT* the same as ffmpeg’s internal sample format that is used when actually decoding with ffmpeg.VideoVideoStreamInfoAudioStreamNext id: 25integer
startTimestampStart/end timestamps of audio in ms.VideoVideoStreamInfoAudioStreamNext id: 25String
streamCodecTagVideoVideoStreamInfoAudioStreamNext id: 25String
streamIndexIndex of the stream in the file. it is 0 based.VideoVideoStreamInfoAudioStreamNext id: 25String
codecFourccVideoVideoStreamInfoDataStreamData streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+String
codecIdCodec informationVideoVideoStreamInfoDataStreamData streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+String
streamCodecTagVideoVideoStreamInfoDataStreamData streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+String
streamIndexIndex of the stream in the fileVideoVideoStreamInfoDataStreamData streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+String
lutsVideoVideoStreamInfoMetadataVideoVideoStreamInfoMetadataLutAttachments
videoFpaInformation on Frame Packing arrangementVideoVideoStreamInfoMetadataVideoFileFramePackingArrangement
lutVideoVideoStreamInfoMetadataLutAttachmentsAn attached 3D look up tablelist(VideoVideoStreamInfoMetadataLutAttachmentsLut3D)
dataLut data, sanitized and encoded in google’s binary coded form of 3D look-up tables.VideoVideoStreamInfoMetadataLutAttachmentsLut3DDescription and encoding of a 3d lut.String
fileNameOriginal file name of the lut (present in the original file)VideoVideoStreamInfoMetadataLutAttachmentsLut3DDescription and encoding of a 3d lut.String
sizeThe size (in each dimension) of the lut. For a 3D cube of size NxNxN, this will be N. If the value is -1, then the file was determined to be invalid. This is useful for logging files where the input could not be parsed, and is useful for to indicate info of the 3D lut without having to decode/inspect the binary data.VideoVideoStreamInfoMetadataLutAttachmentsLut3DDescription and encoding of a 3d lut.integer
codecIdCodec information.VideoVideoStreamInfoTimedTextStreamTimed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 – Line 21) do not belong here.String
metadataMetadata for the stream.VideoVideoStreamInfoTimedTextStreamTimed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 – Line 21) do not belong here.list(VideoClipInfo)
streamCodecTagVideoVideoStreamInfoTimedTextStreamTimed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 – Line 21) do not belong here.String
streamIndexIndex of the stream in the file. it is 0 based.VideoVideoStreamInfoTimedTextStreamTimed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 – Line 21) do not belong here.String
profileVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
rationalFpsThe nominal frame rate (‘fps’ field) represented as a fraction.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoRational32
pixFmtPixel format for the video stream.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
numberOfInvisibleFramesInvisible frame count Keep a count of frames that are not displayed should the full frame count be needed for the video stream. The only codec currently reporting this value is VP8 with alternate reference frames enabledVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
closedCaptionsVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoClosedCaptions
userDataUnregisteredUser data unregistered SEI messageVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48list(VideoUserDataUnregistered)
bitratevideo bitrate in bits/sVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
ituTT35User data registered Itu-T T.35 SEI messageVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48list(VideoUserDataRegisteredItuTT35)
masteringDisplayMetadataVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileMasteringDisplayMetadata
averageFpsThis represents the canonical frame rate of the video. This is named average_fps for historical reasons, and may not actually be the arithmetic mean. For variable frame rate videos, the algorithm may change again in future. Currently, full vsi set it with arithmetic mean, and partial vsi set it with median.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
hasBFramesvideo has b framesVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48boolean
widthsource video width and heightVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
metadataMetadata for video elementary stream;VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48list(VideoClipInfo)
interlaceInformation on interlaced video.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
heightVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
lengthvideo length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
pixelAspectRatiovideo pixel aspect ratioVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
rotationIs the video rotated ?VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
frameSizevideo frame sizeVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
numberOfFramesNumber of video frames.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
gopSizeStatistics about gop sizes of the video.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoVideoStreamInfoVideoStreamStatistics
codecIdPrimary video codec informationVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
contentLightLevelVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileContentLightLevel
streamCodecTagVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
doviConfigurationDolby Vision configuration if stream is compatible.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoDoViDecoderConfiguration
codecFourccVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
isInsaneSizeCheck if a video size insane or not. It is set if the input file is an MOV file.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48boolean
fpsvideo frame per second, obtained by parsing video header information. It could be inaccurate for some types of codecs, notably, WMV, ASF, and FLV. It will be inaccurate for videos that does not have constant frame rate since it is the smallest framerate that can accurately represent all timestamps (see ffmpeg doc for AVStream.r_frame_rate). Also frame rate can be parsed from headers and can be wrong if it is not available there since ffmpeg uses a heuristic for determining it.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
minFpsMinimum instantaneous frame rate seen from analyzing the entire stream.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
endTimestampVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
maxFpsMaximum instantaneous frame rate seen from analyzing the entire stream.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48float
sphericalOptional spherical video information.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileSphericalMetadata
streamIndexIndex of the stream in the file. it is 0 based.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
clockDiscontinuityUssome container allows for a clock discontinuity. In this case, the end_timestamp may not be the correct DTS of the stream.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
seiMessagevideo SEI payload types and total payload size of a type this is only for H.264 and H.265VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48list(VideoSEIMessage)
levelVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
codecStringRFC6381 Codec string.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
cleanApertureVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoVideoStreamInfoVideoStreamCleanAperture
flipShould the video be mirrored horizontally / vertically? When rotation and flip both are present for a video, it is assumed that the flip is applied first, and then the rotation.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
displayHeightVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
colorInfoVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileColorInfo
bitstreamColorInfoContains the color information obtained after inspection of the bitstream in cases where there may be inconsistencies between container and coded bitstream that are resolved in favor of the container.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileColorInfo
closedGopSizeclosed_gop_size refers to chunkable boundaries for each specified codec and may actually contain one or more GOPs, e.g. for H.264, closed_gop_size will denote the distance (frame count) between two IDR frames.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoVideoStreamInfoVideoStreamStatistics
decodeOffsetThe bytes offset of the end of the first decodable packet.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
hdr10PlusStatsStats on HDR10+ over video frames.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48VideoFileHDR10PlusStats
startTimestampStart/end timestamps of audio/video in ms.VideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48String
displayWidthfinal display video width and height if explicitly set in the video otherwise this can be calculated from source width/height and video_pixel_aspect_ratioVideoVideoStreamInfoVideoStreamTODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48integer
heightVideoVideoStreamInfoVideoStreamCleanApertureinteger
horizontalOffsetVideoVideoStreamInfoVideoStreamCleanApertureinteger
verticalOffsetVideoVideoStreamInfoVideoStreamCleanApertureinteger
widthVideoVideoStreamInfoVideoStreamCleanApertureinteger
maxVideoVideoStreamInfoVideoStreamStatisticsString
meanVideoVideoStreamInfoVideoStreamStatisticsfloat
minVideoVideoStreamInfoVideoStreamStatisticsString
diversificationThresholdDiversification threshold used in prediction. Additional responses which are closer than the threshold to the already selected responses will be skipped.VideoYoutubeCommentsClassificationProtoSmartSuggestionnumber
likelihoodBiasWeightBias weight used in prediction.VideoYoutubeCommentsClassificationProtoSmartSuggestionnumber
replyContentContent of the reply snippet (could include emoji as well as text).VideoYoutubeCommentsClassificationProtoSmartSuggestionString
scoreModel score for the predicted reply snippet.VideoYoutubeCommentsClassificationProtoSmartSuggestionfloat
smartSuggestionsThe order of the reply snippets in the list determines how they should be displayed in the UI and the client is not supposed to re-order the list using the scores.VideoYoutubeCommentsClassificationProtoYouTubeCommentSmartReplySmart reply suggestions for comment.list(VideoYoutubeCommentsClassificationProtoSmartSuggestion)
suggestionListIdentifierIdentifier (language_code, channel_id, etc) for the suggestion list from which the top k suggestions are selected.VideoYoutubeCommentsClassificationProtoYouTubeCommentSmartReplySmart reply suggestions for comment.String
downvotesVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
impressionsVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
measureWindowVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
teaserClicksVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
teaserImpressionsVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
upvotesVideoYoutubeCommentsRankingCTRMetricsUsed for stanza KV pair. Next tag: 7.String
languageScoreA list of watchpage languages predicted arranged according to their scores.WatchpageLanguageWatchPageLanguageModelPredictionsNext ID: 4list(WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScore)
usesSpeechSignalsDoes the prediction uses speech signals like audio language.WatchpageLanguageWatchPageLanguageModelPredictionsNext ID: 4boolean
versionAn identifier to recognize the model version used for this prediction.WatchpageLanguageWatchPageLanguageModelPredictionsNext ID: 4String
scoreScore for the predicted language by the WatchPage Language model.WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScoreNext ID: 3number
watchpageLanguageThe language predicted by the WatchPage Language model.WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScoreNext ID: 3String
predictionsVersioned WatchPageLanguageResults. This is to experiment and launch new models. The first prediction is the latest production version.WatchpageLanguageWatchPageLanguageResultNext ID: 3list(WatchpageLanguageWatchPageLanguageModelPredictions)
watchpageLanguageThe language predicted by the V1 WatchPage Language model. For new and experimental versions use versioned_language_result.WatchpageLanguageWatchPageLanguageResultNext ID: 3String
boostLevelIdentifies the degree to which the existence of this LiveResult should boost a query’s score (when the query is performed within the hot_times range). This field is always in the range [0,1]. A missing field, a value of 0, or a value outside the legal range indicates that no boosting is performed. A value of 1 indicates that the maximum level of boosting will be applied. This field will be updated from time to time based on CTR and other signals.WeboftrustLiveResultDocBoostDataPage boosting using Live Results data. Attaching this proto to a document indicates that a Live Result feed exists for that document, and that this feed has sufficient reliability to warrant potential boosting of the document rank. Next ID: 3number
hotTimesSpecifies the time range within which this LiveResult is relevant. Used for deciding whether the rank of the corresponding page should be boosted. For example, this range can be set to encompass a few days before and after a sports game to which the page refers. If this field is missing, no boosting is performed. Specifying that a page should always be boosted is not recommended, but can be accomplished by setting hot_times.start_unix_time=0 and hot_time.end_unix_time=0x7fffffff. Note that multiple time ranges can be implemented by adding several LiveResultDocBoostData messages to the LiveResultsDocAttachments proto. If overlapping time ranges are used, the proto containing the highest boost level will be used.WeboftrustLiveResultDocBoostDataPage boosting using Live Results data. Attaching this proto to a document indicates that a Live Result feed exists for that document, and that this feed has sufficient reliability to warrant potential boosting of the document rank. Next ID: 3WeboftrustTimeRange
providerIdWeboftrustLiveResultProviderDocAttachmentPer-provider attachment of a LiveResult. Used to identify pages for which result-based triggering of Live Results should appear. Theoretically there can be more than one attachment per web document, so we keep them as a repeated field of the LiveResultsDocAttachment. Next ID: 4String
tagTag that specifies the use-case within provider’s data. It appears as a string in Alexandria signal and in the DocJoins. During the indexing stage this field will be converted to a 64-bit fingerprint to save space. See the “tag_fp” field, below.WeboftrustLiveResultProviderDocAttachmentPer-provider attachment of a LiveResult. Used to identify pages for which result-based triggering of Live Results should appear. Theoretically there can be more than one attachment per web document, so we keep them as a repeated field of the LiveResultsDocAttachment. Next ID: 4String
tagFpA fingerprint of the “tag” field, automatically calculated during the indexing stage. Will be used as a key for fetching the data.WeboftrustLiveResultProviderDocAttachmentPer-provider attachment of a LiveResult. Used to identify pages for which result-based triggering of Live Results should appear. Theoretically there can be more than one attachment per web document, so we keep them as a repeated field of the LiveResultsDocAttachment. Next ID: 4String
docBoostInformation about potential rank boosting for the document by virtue of its Live Result feed.WeboftrustLiveResultsDocAttachmentsMessage to which we attach to web documents in order to decide which LiveResult to trigger. Next ID: 3list(WeboftrustLiveResultDocBoostData)
providerAttachmentIdentifies a Live Result which is to be attached to the document.WeboftrustLiveResultsDocAttachmentsMessage to which we attach to web documents in order to decide which LiveResult to trigger. Next ID: 3list(WeboftrustLiveResultProviderDocAttachment)
endUnixTimeWeboftrustTimeRangeTime range (start time and end time). Used to indicate the times in which a LiveResult is considered “hot” and thus a potential for boosting. Specified as Unix time (seconds since midnight, January 1, 1970). Time zone is same as that for query_start_time (i.e., GMT). Next ID: 3String
startUnixTimeStart and end times should always appear. Marked as optional to avoid breaking code.WeboftrustTimeRangeTime range (start time and end time). Used to indicate the times in which a LiveResult is considered “hot” and thus a potential for boosting. Specified as Unix time (seconds since midnight, January 1, 1970). Time zone is same as that for query_start_time (i.e., GMT). Next ID: 3String
privateDoNotAccessOrElseSafeHtmlWrappedValueIMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.WebutilHtmlTypesSafeHtmlProtoIMPORTANT: It is unsafe to accept this message from an untrusted source, since it’s trivial for an attacker to forge serialized messages that don’t fulfill the type’s safety contract — for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it’s generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests.String
nameWirelessTranscoderFetchFetchMetadataString
valueWirelessTranscoderFetchFetchMetadataString
detailProvides fetcher-specific detail about how source satisfied the request.WirelessTranscoderFetchFetchSourceInfoTo tag which fetcher satisfied this fetch request with optional detail.String
sourceThe fetcher that ultimately satisfied this fetch request.WirelessTranscoderFetchFetchSourceInfoTo tag which fetcher satisfied this fetch request with optional detail.String
shoppingAttachmentWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94QualityShoppingShoppingAttachment
isRobotedIs disallowed for crawling according to host’s robots.txt.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
googleLabelDataAddition to support google label per-search-result annotation.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
thumbHeightthumbnail heightWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
visibleImageIf an image request, was the coupled image visible on the page?WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
thumbnailWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(WWWDocInfoThumbnail)
docVersionIdFields generated by the docserver, but whose meaning is unclear. Sometimes last crawl timeWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
authMethodSometimes called secureidWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
relatedimagesWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(WWWDocInfoRelatedImages)
isSoftpornDoc softporn classification.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
imageSizesize in bytes;WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
metaDescriptionLanguagesIf meta description/body title were detected to be in a different language from the document language (the ‘language’ field above) in RosettaLanguageAnnotator, the detected languages are populated here. Note: as of ariane/154728, no more than one language is populated for each field.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(String)
visualTypeIs this doc visual RTL? See enum VisualType in visualtype.h. Default is NOT_VISUAL_DOCUMENT.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
seenNoindexHas noindex meta robots flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
imageLicenseInfoImage license info such as license url and how to acquire the license.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94ImageSearchImageLicenseInfo
isAnimatedIs this image animated?WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
badMetadescriptionBad meta flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
isHostedImageHosted Images related fields.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
seenNoarchiveHas noarchive meta robots flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
additionalSafesearchStatsAdditional stats output by SafeSearch. See classifier/porn/public/porn-attachments.h.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(integer)
fuzzyMetadescriptionWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
contentTypeIf not present, then the typeWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
indexingTsThe timestamp (the time since the Epoch, in microseconds) when the docjoin is exported from indexing. This is mainly exported and used by Youtube Search. See MustangBasicInfo.indexing_ts for more details.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
encodingWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
shoppingOffersShopping offer info from Inventory & Policy Service.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(ImageMustangShoppingOffer)
imageHeightimage heightWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
cropDataThumbnail cropping information.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
crawlTimeLast time this doc crawledWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
seenNoodpNOTE(kinoue): ODP/GWD snippet is unlaunched as of June 2017. This is no longer used.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
bodySizeSize of documentWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
languageTagThis returns the most probable language for the document. The complete set of languages is in the GenericSearchResponse. (If some future use requires all languages from the doc request, note that fetching that will require decoding the entire per-doc data attachment, which is a performance hit) Use docinfo-util.h to set & read language fields. Language tag as defined by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/html/bcp47 If not present, then use language.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
thumbWidthAdditions for image search.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
fileTypeIdIf converted to TEXT or HTMLWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
noimageframeoverlayreasonIf not 0, we should not show the image in overlay mode in image snippets.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
nearbyTextNearby text of the image on landing page. Used to construct Scroll to Image urls.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
pornStats‘porn_stats’ is used in porn demotion and filtering. See classifier/porn/public/porn-attachments.h.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
boilerplateMetadescriptionWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
partialBoilerplateMetadescriptionWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
languagego/iii-td b/130371355WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
ipaddrWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
foreignMetadescriptionIndicate if the meta description in a different language than its page.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
nsrSitechunkSitechunk used by NSR. For most pages this is equivalent HOST_LEVEL_V3 sitechunk. Main difference is that, for sites like youtube.com and vimeo.com, nsr_sitechunks are channel level (based on schema.org markup, not url alone). See go/nsr-chunks for more details.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
qualityWithoutAdjustmentQuality score (also known as QScore, see go/qscore-faq).WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94number
isPornDoc porn classification.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
hasBadSslCertificateIf true, the original document has a bad SSL certificate.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
seenNosnippetHas nosnippet meta robots flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
dataVersionWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
ipIf ipaddr is set, ip should be ignored (it should not be set). Ipaddr should be either 4- or 16-byte string for IPv4 or IPv6 addresses. If ipaddr is not set, ip is set to the IPv4 address for the host.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
seenNopreviewHas nopreview meta robots flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
imageWidthimage widthWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
lastModTimeUnused by gwsWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
referrerUrlUrl of referring docWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
urlAfterRedirectsempty => same as urlWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
unionBuildTimeWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
urlUrlWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
licensedWebImagesOptInStateIndicates the web-master opt-in state of this image. This project is still in MVP stage, please contact us licensed-media-team@ before use.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
colorDetectionResultDetected color in the image in RGB565 format in the lower 16 bits.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
coupledUrlUrl of coupled doc (e.g. image)WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
imagePublisherWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
subindexSubindex id of the document should be one of the values defined by enum CompositeDoc::SubIndexType. Used for superroot/gws logging if a shard has documents from multiple indices.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
rootpageDuplicateMetadescriptionTrue if the meta-description is duplicated on many other pages and this page is the rootpage of such pages which have the same meta-description.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
urlEncodingSee webutil/urlencodingWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
bodyTitleLanguagesWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94list(String)
lowQualityMetadescriptionWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
isSitePornConsider the page classification is_porn as an alternative for is_site_porn, and talk to [email protected] for additional information if needed.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
failsSafeSearchfails_safe_search is never filled in production.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
seenNotranslateHas notranslate meta robots flagWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94boolean
coupledUrlEncodingWWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94integer
titleLanding page title.WWWDocInfoSome per-doc info is returned for all www DocInfo requests. Next id: 94String
imageDocidWWWDocInfoRelatedImagesReturn related images.String
thumbHeightWWWDocInfoRelatedImagesReturn related images.integer
thumbTypeWWWDocInfoRelatedImagesReturn related images.String
thumbWidthWWWDocInfoRelatedImagesReturn related images.integer
expirationTimestampMicrosWWWDocInfoThumbnailString
heightWWWDocInfoThumbnailinteger
typeThe type here corresponds to image_base::ThumbnailType defined in image/base/thumbnail-type.proto.WWWDocInfoThumbnailinteger
widthWWWDocInfoThumbnailinteger
contentWWWMetaTagWe can return the content attribute for some or all meta tags.String
nameWWWMetaTagWe can return the content attribute for some or all meta tags.String
additionalSafesearchSignalsWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26list(integer)
bestThumbnailTypeThe best thumbnail type is either 300K or 50K.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26String
cropsWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
deepCropBytesDeepcrop thumbnail cropping hints.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26String
dimeScoreEQ* v3: Deep Image Engagingness(DImE) go/deep-image-engagingness-slidesWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
docidWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26String
documentTrustWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
eqStarEQ* is a unified signal to capture the emotional quality (e.g. inspiration, lifestyle, context, etc.) of an image. For more information, please refer to go/image-inspiration-ranking-framework.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
estRelevanceEstimated Image Relevance ranging between 0.0 (Off-Topic) to 1.0 (Very Useful).WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
estSigmaUEstimated Sigma U calculated from U*.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
flowOutputWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26ImageContentFlowProtoProd
heightWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
height50kWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
humanModelScoreDeepTags human model score. go/VisualShoppingImageAttributesWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
imageUrlWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26String
pamirNormalizedScoreWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
pornSignalsEncoded Safe Search annotations of the image. See image/safesearch/overall/public/image_porn_attachments.h for decoding functions.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
safeForUniversalResult is not on the Images Universal blacklist. For more comprehensive filtering of IU images, including this bit, see superroot/impls/images/quality/safesearch/iu_inappropriate_filter_lib.hWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26boolean
salienceSalient score, indicating how important an image is to the page it’s on. Check go/salient-images-design-doc for details.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
salientColorInfo4-bytes: (low order on the left) RRRRRRRR GGGGGGGG BBBBBBBB SS where R: 8-bits encoding color ‘r’ G: 8-bits encoding color ‘g’ B: 8-bits encoding color ‘b’ S: 2-bits encoding the color source – 00 = from color detection result – 01 = from cairo This field has the salient color information.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
scoreWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
tqStarTQ* is a signal to capture the technical quality (e.g. exposure, sharpness, composition, etc.) of an image. For more information, please refer to go/tqstar.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
tradFracWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26number
widthWWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
width50kWidth and height of the AREA_50K thumbnail for this image.WWWResultInfoSubImageDocInfoThe following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26integer
odpWas odp used in the snippets? DEPRECATED – this is no longer populated as of June 2017.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55boolean
titleRenderedTokenHow tokens are rendered in generating title. Note: In rendering a title, the page title part and the site/host/domain title part can be flipped after initial rendering. The flip, if happened, may not be reflected in this field. That is, this field may contain the tokens in the original, pre-flip, order.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(MustangSnippetsRenderedToken)
snippetPrefixCharCountCharacter counts of snippet prefix, if any. E.g. section heading, list summary, byline date.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
obsoleteSitemapThese fields were previously optional messages, but CL 2388905 moved them into the MessageSet. However, at this time, old Mustang binaries are still deployed in production and probably will be around for awhile. So, servers which need to talk to old binaries and need to use these fields need to check both the obsolete versions and the MessageSet version. SitemapWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
extraInfoIf requested, the extra snippet infoWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55ExtraSnippetInfoResponse
docInfoWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55WWWDocInfo
matchesBitmapEncodedBitmap representing matches to leaf query terms within document (body section and url). It gets populated if query_matches_info = true.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
snippethashA hash for duplicate detection. Two results with the same content can return different snippets if, for example, one has an ODP entry and the other does not. Gws can use this value reliably to filter duplicates. It is a hash of body only tidbits.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
metaTagsMeta tagsWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(WWWMetaTag)
keywordDocument keywordsWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(String)
titleSizeParamsWill only be set when `title_use_num_of_chars` is false.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55TitleSizeParams
chosenBodyTidbitsTidbits chosen from the document body. Consists of repeated [begin, end) half-open ranges in token offsets from the beginning of the document.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(integer)
hasMessageTypeAdditional available data (message type ids)WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(integer)
eventsBitfield of snippet events and the various events. See SnippetEvents in ./snippets/defines.h for details on the contents.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
numTokensSkippedByInDocRestrictionsInPrintingSimilar to num_tokens_skipped_by_in_doc_restrictions_in_scoring, but this number is for tokens skipped during printing, since printer owns its own token info manager which populates tokens.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
snippetBylineDateByline date for time sensitive snippets. Most of the time it originates from quality_timebased::SyntacticDate and it is floored to PT midnight.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
listSummaryList summary phrase for list pages.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
snippetRenderedTokenHow tokens are rendered in generating snippet.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(MustangSnippetsRenderedToken)
sectionHeadingAnchorNameIf requested, the snippet generator may take note of query items present in an entry in an on-page table-of-contents (i.e. a series of on-page links to named anchors.) If so, these two fields contain the formatted and highlighted entry and the name of the on-page anchor it links to, respectively. This may be used by GWS to show a direct link to that named anchor on the page.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
obsoleteManyboxManyboxDataWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
orionEntitiesDEPRECATED If requested, the orion entitiesWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55OrionDocEntitiesProto
sentimentSnippetsDEPRECATED Sentiment snippetsWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(RepositoryAnnotationsMustangSentimentSnippetAnnotations)
findyTidbitsA bitvector of the tidbits in the snippet that are appropriate for the Quick Scroll (Findy) Chrome extension. Typically these contain “extra body matches”, i.e., important query items not in the title.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
answerDocMatchesA list of answers that had at least one hit in the document. Answers are identified by their index into the QRewriteQueryParams_AnswerSnippetInfo array (see //query/proto/query-params.proto).WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(integer)
scienceInfoAbbreviated bibliographic data from Google Scholar.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55ScienceIndexSignal
titleLengthAdjustedForBrowserWidthTrue if the title length is already adjusted for the browser width. If it is true, GWS needs not truncate the title.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55boolean
snippetsRanklabFeaturesRecords features to analyze titles/snippets in ranklab.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55MustangReposWwwSnippetsSnippetsRanklabFeatures
isLoginPageTrue if the document represents a login page.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55boolean
numberOfPagesWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
docPreviewRestrictionsForAmpDocPreviewRestrictions for amp result.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55QualityDniDocPreviewRestrictions
siteDisplayNameThe domain-level display name of the website, such as “Google” for google.com. See go/site-display-name for more details. As of Aug 2023, this field is being deprecated in favor of `info.[AlternativeTitlesResponse].site_display_name_response` field, which also contains host-level site display names with additional information.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
docPreviewRestrictionsDocPreviewRestrictions for canonical url.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55QualityDniDocPreviewRestrictions
truncatedTitleOnly for desktop web search. Please refer to Title.keep_original_title_and_populate_truncated_one for more details.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
snippetPageNumberIf requested the page number on which the snippet begins. (Only for documents such as PDFs where page numbers are well-defined.)WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
snippetExtraInfoWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55SnippetExtraInfo
matchesBitmapSizeWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
seenNotTermDid a negative query term match the meta description?WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55boolean
numTokensSkippedByInDocRestrictionsInScoringNumber of tokens that is skipped because of in doc restrictions during scoring. This is an estimate, as the list of tokens is cached in TokenInfoManager. We should only monitor the cases where this number is too big or non-zero.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55integer
snippetHighlightMatchesBitmapList of bitmaps representing matches to leaf query terms within each of the highlighted snippet text fragments. Consecutive bitmaps correspond to consecutive text fragments. It gets populated iff return_query_snippet_highlight_matches = true. Example: document body section: “This cafe has pet friendly patio.” squery: (a (o dog 😮 pet :syn:general) friendly 😮 (o restaurant 😮 cafe :syn:general)) Let’s assume the returned snippet text contains the whole document body section where two fragments get highlighted as follows: “This *cafe* has *pet friendly* patio.” Then, the returned snippet_highlight_matches_bitmap[] list will have two bitmaps: bitmap[0] = <"cafe" -> leaf term with index 4> = {encoded: DenseEncode(“00001”), size: 5} bitmap[1] = <"pet" and "friendly" -> leaf terms with indexes 1 and 2> = {encoded: DenseEncode(“011”), size: 3}WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55list(WWWSnippetResponseBitmapPB)
obsoleteLocalinfoLocalWWWInfoWWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
longStructuredSnippetReturned if want_long_structured_snippets. If present, caller should ignore the normal snippet.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55LongStructuredSnippet
listSnippetList snippet data.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55ListSnippetResponse
squeryFingerprintThis field is never set.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55String
isValidResultAssume this is true unless we discover that the result doesn’t match the the query, in which case this result is invalid despite having returned docinfo.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55boolean
infoAdditional data. Currently, this is used for sitelinks, localinfo, manybox, discussion metadata, richsnippets, similarpages and breadcrumbs.WWWSnippetResponsePer-document response for a www DocInfo request. Next field position: 55Proto2BridgeMessageSet
encodedWWWSnippetResponseBitmapPBEncoded bitmap.String
sizeWWWSnippetResponseBitmapPBEncoded bitmap.integer
currencyCodeCurrency code the user uses to purchase this Super Thanks item.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
entitlementIdThe ID of the Super Thanks entitlement. It uniquely identifies a Super Thanks purchase. This field is deprecated in favor of transaction_id, see go/st-deprecate-ent-id.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
priceInMicrosPrice of Super Thanks item the user purchases in micros.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
superVodItemIdThe Super Thanks item the user purchases, it represents price tier.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
transactionIdThe ID of the Super Thanks transaction. It uniquely identifies a Super Thanks purchase.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
versionWhich version of experiment this Super Thanks comment is posted in.YoutubeBackstageSuperVodCommentInfoContains information about comment that is posted through a Super Thanks purchase. Next ID: 7String
demotedRestrictionSeverityOutput only. The severity of the active demotion. At most one CommentDemotedRestriction can be active at any time. Only supported for Comments with an associated ChatEvent.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.String
exemptFromHoldOutput only. True if the comment is auto-approved by creator-defined roles and is not subject to automod hold.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
heldOutput only. True if the comment is held and going to be reviewed by channel owner or moderators. The issuers that can hold entity comments are: 1) TNS 2) AUTOMOD, 3) CHANNEL_SETTINGS, 4) CHANNEL_MODERATOR, 5)GLOBAL, 6) ISSUER_UNSPECIFIED. The issuers that can hold live chat are // 1) AUTOMOD, 2) GLOBAL, 3) ISSUER_UNSPECIFIED. Issuer definitions: https://source.corp.google.com/piper///depot/google3/video/youtube/comments/api/proto/comment_restriction_issuer.proto;rcl=586954033;l=15 This is used to infer the SBE moderation_state for entity comment and live chat.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
heldForCreatorReviewStatusOutput only. The moderation state of comments that have been held. Currently only effective for live chat because we can not tell the rejected creator review status for entity comments from current data model.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.String
moderatedOutput only. True if the comment is moderated and not overridden by creator reviews.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
moderatedByBlockedWordsOutput only. True if the comment is moderated due to any of the creator-defined blocked words.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
moderatedByChatRemovalOutput only. Live Chat only. True only if the live chat message is directly moderated by a privileged user from Live Chat chat room. go/ytfexit-live-chat-moderation#remove-chat-messagesYoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
moderatedByTnsOutput only. True if the comment is moderated by TnS. Maps to SBE Spam http://google3/video/youtube/comments/backstage/backend/lib/stream_v2/stream_item_reader.cc?l=597YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
rejectedOutput only. True if the comment is rejected or taken down by TNS.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.boolean
userModerationDecisionOutput only. The moderation decision on comments from privileged users. This field can be used to take place of `held_for_creator_review_status` for live chat, together with `held_by_non_tns`.YoutubeCommentsApiCommentEnforcementStatusDerived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 —– CommentDemotedRestriction Summary —– Demoted Restriction hides live chat messages from being shown in Top Chat.YoutubeCommentsApiCommentEnforcementStatusUserModerationDecision
moderationStatusThe moderation status of comments due to privileged user decision. Privileged user can manually reject comments in multiple ways or approve held comments.YoutubeCommentsApiCommentEnforcementStatusUserModerationDecisionString
rejectTypeFor comments with REJECTED status, it can result from privileged users directly rejecting comments or reviewing comments that have been held, for both entity comment and live chat, but reject type is only captured for live chat because we are not able to distinguish the 2 types from data model for entity comment.YoutubeCommentsApiCommentEnforcementStatusUserModerationDecisionString
autoModEnforcementsLive chat auto moderation only. The HOLD decisions and whether they are enforced correspondingly.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributeslist(YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcement)
createTimeRequired. The creation time of this restriction.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesDateTime
externalCommentIdRequired. The external ID of the comment that this restriction described.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesString
issuerRequired. The system who moderated the comment. For CommentModeratedRestriction all issuer enums apply.”Issuer” is different from the grouping for permission check, which will be enforced via Boq Scaffolding RpcSecurityPolicy.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesYoutubeCommentsApiCommentRestrictionIssuer
reasonRequired. The specific restriction reason why the comment is moderated. When Automod issues multiple HOLD decisions for a chat message, they always share the same reason.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesYoutubeCommentsApiCommentRestrictionReason
reviewableTrue if moderation comes from T&S, Automod, and some of channel owner settings and comments will be put into “Held For Review” queue for channel owner review. After any creator review, this restriction will remain in this status to capture the original restriction. True maps to ModerationState=HOLD in Stanza. False if moderation results from channel owner manual opertation or author in hidden user list, and maps to ModerationState=REJECTED in Stanza.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesboolean
statusRequired. For moderated restriction on comment and live chat but not issued by Automod, the field should be always set to ACTIVE. For Automod moderation on live chat, the restriction is active as long as one of the HOLD decisions is enforced. Can only be changed by upcoming QPS threshold configuration changes and backfills.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesString
updateTimeThe timestamp when this restriction is updated.YoutubeCommentsApiCommentModeratedRestrictionData representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributesDateTime
enforcedWhether or not the decision is enforced.YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcementWhether a HOLD decision is enforced based on the decision name and QPS requirement. For LiveChat, there could be multiple Automod moderations generated at chat message creation time. Only HOLD decisions are persisted. At most one HOLD decision can be enforced based on write QPS.boolean
nameCurrent the enforcement rule depends on live chat write QPS at chat message creation time. Enforce MEDIAN when QPS<=4. Enforce HIGH_RECALL when QPS>4 AND QPS<=10. Enforce ULTRA_HIGH_RECALL when QPS>10.YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcementWhether a HOLD decision is enforced based on the decision name and QPS requirement. For LiveChat, there could be multiple Automod moderations generated at chat message creation time. Only HOLD decisions are persisted. At most one HOLD decision can be enforced based on write QPS.String
channelModeratorDetailsOnly set when the issuer type is CHANNEL_MODERATOR.YoutubeCommentsApiCommentRestrictionIssuerThe restriction issuers here identify “who” issues the restriction. It represents restriction granularity at the issuer level so restrictions from different issuers will not override each other.YoutubeCommentsApiCommentRestrictionIssuerChannelModeratorDetails
channelOwnerDetailsOnly set when the issuer type is CHANNEL_OWNER.YoutubeCommentsApiCommentRestrictionIssuerThe restriction issuers here identify “who” issues the restriction. It represents restriction granularity at the issuer level so restrictions from different issuers will not override each other.YoutubeCommentsApiCommentRestrictionIssuerChannelOwnerDetails
issuerYoutubeCommentsApiCommentRestrictionIssuerThe restriction issuers here identify “who” issues the restriction. It represents restriction granularity at the issuer level so restrictions from different issuers will not override each other.String
externalChannelIdYoutubeCommentsApiCommentRestrictionIssuerChannelModeratorDetailsChannel moderator info details. Supports audit log functionality that shows moderator activity.String
externalChannelIdYoutubeCommentsApiCommentRestrictionIssuerChannelOwnerDetailsChannel owner info details. Supports audit log functionality that shows creator activity.String
reasonYoutubeCommentsApiCommentRestrictionReasonThe restriction issuers here identify “why” the restriction is issued. Most reasons are specific to one type of issuer but some of them are shared among multiple issuers.String
isDeletedWhether a comment is from deleted shares. See stanza_restrictions for more specific information and is_publicly_visible for comments which are allowed to be seen by everyone.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
numRepliersNumber of different repliers the comment has.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
ytReplyToItemIdFor replies to replies, this contains the parent reply’s id. The parent_id field is actually the root stanza_id (not guaranteed AFAIK).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
detailedLanguageCodeThe language code with extra script details. This is derived from detailed_language_code if it’s populated, otherwise the same as language_code. E.g. mr-LatnYoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
contentUpdateTimestampThe stanza content last update timestamp, as observed by the server. Note that for many comments older than Nov. 2014 this is unset in the original stanza. MiniStanza tries to be consistent with the original so for such comments it remains unset in MiniStanza. If you use this field you should check has_content_update_timestamp().YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84DateTime
ytCommentQualityScore3YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84float
channelIdThe channel of the video or post this comment belongs to. In certain circumstances a video can belong to multiple channels, this channel_id does not handle that situation well. go/yt-identity-overview for further reading.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
textQualityScores2Predicted probability of the comment being flagged based on the text. For testing the new annotation process only.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation
isPinnedWhether the comment is pinned. This is derived from YTMS and may be out of sync with other fields (a day early or behind).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
creationTimeInSecondsThe time when the comment is created.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
ytCommentQualityScoreExisting quality corpus scores.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84float
textQualityScoresPredicted probability of the comment being flagged based on the text.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation
superThanksInfoSuper Thanks related info if a comment is posted through a Super Thanks purchase.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84YoutubeBackstageSuperVodCommentInfo
wordEntropyWord entropy of the comment.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84float
endUserDeletedWhether a comment is deleted by the end user.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
commentClassificationBucketsList of pre-defined classification score buckets to which the comment belongs. E.g. satisfaction_v1_percentile_80.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84list(String)
parentIdThe parent stanza’s stanza_id, empty for top-level posts (non-replies). Prefer is_reply field for checking if a comment is a reply since that is unaffected by surrogatization. For replies to replies, this is the root stanza_id (not guaranteed AFAIK).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
mustDeleteCommentsWhether a comment’s author channel is deleted. Populated from http://shortn/_YttLvbraAI.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
offlineEngagementScoresOffline engagement scores map. Keyed by various model names.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
empiricalCtrsComments empirical CTRs.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84VideoYoutubeCommentsRankingCTRMetrics
postIdThe post this comment belongs to.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
sensitivityScoresSensitivity scores map for smart reply sensitivity scores. Keyed by model names. See (g3doc/company/teams/expander/research/conversation/sensitive.md) for more information on sensitivity scores.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
misinfoScoresMisinfo scores map. Keyed by various model names.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
languageCodeUnicode CLDR language code of the segments, as implemented by //depot/google3/java/com/google/i18n/identifiers/LanguageCode.java This is derived from user_content and should be considered the canonical language code of the comment.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
subjectIsVideoOwnerWhether the comment is authored by the creator.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
automodScoresAutomod scores map. Keyed by various model names. Deprecated. Consider using low_quality_scores instead.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
lowQualityDecisionsLow quality decisions. Keyed by decision types corresponding to secondary keys.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
distillerEngagementsAll distiller engagements like reports and downvotes.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84AppsPeopleActivityStreamqualityDistillerEngagements
commentTypeWhether the comment is on a video, post, or other product.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
shortReplyVideoIdAssociated Short Reply video ID if the comment represents a Short Reply. See go/yt-comment-sticker-m2.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
ansibleScoresTnS Ansible scores map. Keyed by various model names.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
commentClassificationRankingComment classification for ranking mapping all secondary keys to values. E.g. {“joke_v1”:0.8, “joke_v2”:0.7, “question_v1”:0.3}.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
videoIdThe video this comment belongs to.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
mentionedTimestampCommentSecondTimed comments for the “mentioned” secondary key.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
commentModeratedRestrictionsContains various comment moderated restrictions. Only available in the Atlas version. Extracted from http://shortn/_2LzgPEF5K3YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84list(YoutubeCommentsApiCommentModeratedRestriction)
channelProfileQualityScoresChannel profile quality scores map. Keyed by various model names.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
ytCommentQualityScore2YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84float
subscriptionTimestampThe timestamp (in seconds) when the author subscribed to the channel.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
numDislikesNumber of dislikes the comment has. num_likes and num_dislikes are retrieved from a different source than other fields and may be out of sync (a day early or behind).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
isSubscriberIf the comment author is publicly subscribed to the channel.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
stanzaIdRefers to the stanza this data is derived from.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
impersonationScoresImpersonation scores map. Keyed by secondary key (score type).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
subjectThe author of the comment Prefer using yt_author_channel_id instead of subject when possible.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84SecurityCredentialsPrincipalProto
segmentsA textual content for the context.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84SocialCommonSegments
eligibleQualifiedTeaserFiltersThe qualified comment teaser filters that this comment is eligible for. Refer to go/comment-teaser-design for more information.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84list(String)
isAuthorSponsorIf the author is a channel member (sponsor).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
coverageSamplingEligibleWhether or not this comment is eligible for comment classifier coverage sampling (in Kapla). Refer to go/coverage-monitoring-for-kapla-comment-classifiers for more information.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
hasCreatorReplyIf the comment has a creator reply.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
stanzaRestrictionsContains various restriction information about a stanza.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84list(SocialStanzaStanzaRestriction)
commentEnforcementStatusContains the current status of comment enforcement. This provides a summary/aggregation of all restrictions (one per comment), while CommentModeratedRestriction provides the history of restrictions (multiple per comment). Extracted from http://shortn/_m5yiWa8ENRYoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84YoutubeCommentsApiCommentEnforcementStatus
lastReplyTimestampUsecThe time when last reply is created.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
numRepliesNumber of non-abusive replies the comment has.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
numSubscribersBucketBucketed number of subscribers held by comment author.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
numLikesNumber of likes the comment has. num_likes and num_dislikes are retrieved from a different source than other fields and may be out of sync (a day early or behind).YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
charEntropyChar entropy of the comment.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84float
hasCreatorHeartIndicator for whether there is creator heart on this comment.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
isPubliclyVisibleIf the post is publicly visible.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
creationDeviceThe creation device. Derived from shares:yt_creation_deviceYoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
commentClassificationComment classification mapping all secondary keys to values. E.g. {“joke_v1”:0.8, “joke_v2”:0.7, “question_v1”:0.3}.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
contentThe text content of the comment.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
isReplyWhether the comment is a reply.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84boolean
ytAuthorChannelIdThe youtube channel id of the comment author. One person can have multiple channels and one channel can have multiple users. go/yt-identity-overview for further reading.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
channelDiscussionIdThe channel this channel discussion comment belongs to. Note that this will match channel_id for such comments.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84String
lowQualityScoresComment low quality scores. Keyed by various model names. Rename from the old automod_scores.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84map
sentimentSentiment. This omits entity_sentiment and keeps only the polarity, magnitude, and score. Sentiment as currently implemented is not debiased and has limited language coverage. Please read go/comments-sentiment-access before using.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84YoutubeCommentsSentimentSentiment
textLengthText length of the comment in UTF-16 code points. The encoding could change in the future.YoutubeCommentsClusteringMiniStanzaIntended to be simpler to work with than the ExportedStanza it’s derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84integer
textEmbeddingComment text embedding.YoutubeCommentsRankingYouTubeCommentTextEmbeddingComment text embedding.list(number)
flagPredictionScoreScore produced by the user flag prediction model.YoutubeCommentsRankingYouTubeCommentTextQualityAnnotationText quality scores for a single comment.number
flagPredictionVersionVersion identifier of the flag prediction model.YoutubeCommentsRankingYouTubeCommentTextQualityAnnotationText quality scores for a single comment.String
entitySentimentYoutubeCommentsSentimentSentimentSentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.list(YoutubeCommentsSentimentSentimentEntitySentimentAnnotation)
magnitudeTotal magnitude of the sentiment. A positive number representing the total intensity of sentiment regardless of positive vs negative polarity.YoutubeCommentsSentimentSentimentSentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.number
polarityPolarity of the sentiment. Value is between -1.0 and 1.0 inclusive, with larger numbers representing more positive sentiment and negative numbers representing negative sentiment.YoutubeCommentsSentimentSentimentSentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.number
scoreThe average score over sentences. This combines the polarity and magnitude signals into one value. Bounded between -1.0 and 1.0.YoutubeCommentsSentimentSentimentSentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.number
entityNameThe representative entity name. This can be blank for cases when there is no explicit name like “I” or “it”. The mentions’ tokens can be used to get more details about each entity.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.String
magnitudeTotal magnitude of the sentiment.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.number
mentionSentimentYoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.list(YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotation)
midMID for this entity, if available.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.String
polarityPolarity of the sentiment. See above for detail.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.number
scoreThe per entity score between -1.0 and 1.0. Combines the signal from polarity and magnitude values.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationAn entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.number
endTokenToken end index in corresponding SAFT document (inclusive).YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotationA mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.String
magnitudeTotal magnitude of the sentiment.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotationA mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.number
polarityPolarity of the sentiment. See above for detail.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotationA mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.number
scoreThe per mention score between -1.0 and 1.0. Combines the signal from polarity and magnitude values.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotationA mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.number
startTokenToken start index in corresponding SAFT document.YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotationA mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.String
entityThe entity annotating the document.YoutubeDiscoveryLegosLegosAnnotationThe annotation of a document by a given entity, for a given type of relationship.YoutubeDiscoveryLegosLegosEntity
formatThe annotation is a format annotation, i.e. it tells the format of the video.YoutubeDiscoveryLegosLegosAnnotationThe annotation of a document by a given entity, for a given type of relationship.YoutubeDiscoveryLegosLegosFormatRelationship
presentThe annotation is present in the video. Semantic Legos and Presence Legos naturally overlap and can contain the same entities. However, we do not enforce a strict subset relation.YoutubeDiscoveryLegosLegosAnnotationThe annotation of a document by a given entity, for a given type of relationship.YoutubeDiscoveryLegosLegosPresentRelationship
semanticThe annotation is a semantic annotation, i.e. it tells what the document is about and what the reasons to watch the video are. The annotation should be valid for the complete annotated document, not simply a part of the document such as a video segment.YoutubeDiscoveryLegosLegosAnnotationThe annotation of a document by a given entity, for a given type of relationship.YoutubeDiscoveryLegosLegosSemanticRelationship
taxonomicThe annotation is a taxonomic annotation, i.e. it tells to which class of the Legos taxonomy the document belongs to.YoutubeDiscoveryLegosLegosAnnotationThe annotation of a document by a given entity, for a given type of relationship.YoutubeDiscoveryLegosLegosTaxonomicRelationship
annotationsThe annotations for this document. For a given (entity, relationship type) pair, there will be at most one annotation. The list has no particular order.YoutubeDiscoveryLegosLegosAnnotationsA collection of annotations returned by Legos for a document.list(YoutubeDiscoveryLegosLegosAnnotation)
debugNameDO NOT USE THIS FIELD. The entity name here can be random garbage and when it’s actually a name it will be in a random language (most of the time English but not always). This field is going away soon. For a replacement you should probably use the following RPC: cs/symbol:Ytpedia.GetNames please read go/ytks-calling details on how to call it and don’t hesitate to write to us for help with this (or in any case before starting to send real traffic to us) at: g/yt-knowledge-serviceYoutubeDiscoveryLegosLegosEntityThe identification of a Knowledge Graph (KG) entity in Legos.String
kgIdThe ID of the Knowledge Graph entity. Note: this is the primary ID at generation time. See https://sites.google.com/a/google.com/knowledge-graph/data/primary_idsYoutubeDiscoveryLegosLegosEntityThe identification of a Knowledge Graph (KG) entity in Legos.String
confidenceFormat classification confidence score, in the 0-1 range. A score of XX% means that we expect at least XX% of the documents annotated with this format to be correctly annotated; i.e. thresholding at XX% yields a precision of at least XX%.YoutubeDiscoveryLegosLegosFormatRelationshipDescription of a format Legos annotation. http://go/legos/formats.mdnumber
confidenceConfidence score. Thresholding at the confidence score at 0.XX yields annotations of precision of at least XX%.YoutubeDiscoveryLegosLegosPresentRelationshipDescription of a present Legos annotation.number
contextsExtra context about how the entity relates to the document. Typically vertical-specific. Please refrain from populating this field as we’re working on migrating most of the use cases to the LegosEntity proto so clients don’t have to scan all relationships to know which annotations they may be interested in.YoutubeDiscoveryLegosLegosPresentRelationshipDescription of a present Legos annotation.list(YoutubeDiscoveryLegosLegosSemanticRelationshipContext)
confidenceConfidence score. Thresholding at the confidence score at 0.XX yields annotations of precision of at least XX%. Only filled in the intent definition Legos. Please use IsSemanticAnnotationAtConfidenceThreshold() from video/youtube/discovery/legos/annotations/public/legos_annotations_util.h to obtain only intent definition Legos. For more information on the migration please look at go/legos-intent-migration.YoutubeDiscoveryLegosLegosSemanticRelationshipDescription of a semantic Legos annotation. http://go/legos/project.md#semantic-intent-annotationsnumber
contextsYoutubeDiscoveryLegosLegosSemanticRelationshipDescription of a semantic Legos annotation. http://go/legos/project.md#semantic-intent-annotationslist(YoutubeDiscoveryLegosLegosSemanticRelationshipContext)
topicalityScoreDEPRECATED. Please use confidence instead. Will be set to the same value as confidence in early January 2019. See go/legos-intent-migration for more information.YoutubeDiscoveryLegosLegosSemanticRelationshipDescription of a semantic Legos annotation. http://go/legos/project.md#semantic-intent-annotationsfloat
subjectThe subject of the semantic relationship. This is set when the relationship is derived from some other entity. The exact meaning of this field depends on the ContextType.YoutubeDiscoveryLegosLegosSemanticRelationshipContextExtra context about how the entity relates to the document. Typically vertical-specific.YoutubeDiscoveryLegosLegosEntity
typeThe type of semantic relationship between the document and the entity. This allows one to retrieve vertical-specific fine-grained information about the document.YoutubeDiscoveryLegosLegosSemanticRelationshipContextExtra context about how the entity relates to the document. Typically vertical-specific.String
isRedundantSet to true if the taxonomy annotation is redundant amongst the set of other taxonomy annotations for the same document, i.e. if there is at least one other taxonomy annotation that is a child node of this one.YoutubeDiscoveryLegosLegosTaxonomicRelationshipDescription of a taxonomic Legos annotation. http://go/legos/project.md#taxonomy-annotationsboolean
scoreA score, in the 0-1 range, used to rank taxonomy annotations.YoutubeDiscoveryLegosLegosTaxonomicRelationshipDescription of a taxonomic Legos annotation. http://go/legos/project.md#taxonomy-annotationsfloat