Jede Entität, die über Feeds oder Echtzeitaktualisierungen an Google gesendet wird,
an die eine Version angehängt ist. Diese Version hat die Form eines Zeitstempels. In
Feeds, kann der Zeitstempel für jede Entität mithilfe der dateModified
. Wenn das Attribut nicht in den Feedentitäten enthalten ist, lautet die Version
ist auf den Beginn der Feedaufnahme festgelegt. In Echtzeit-Updates batchPush
und
batchDelete
die Felder generation_timestamp
und delete_time
werden verwendet, um die Version festzulegen. Wenn das Feld nicht enthalten ist, wird die Version auf
Zeitpunkt, zu dem die Anfrage eingegangen ist. Erwartetes Format für Uhrzeit anzeigen
Werte
im relationalen Inventarschema.
Google verarbeitet ausschließlich Entitäten (z. B. Restaurants, Speisekarten oder Dienstleistungen) deren Version gleich oder neuer ist als die zuletzt akzeptierte Version. Andernfalls wird der Entität wird nicht aufgenommen und der Fehler Stale Entity wird aufgezeichnet. Wenn ein wird die Entität mit einer neuen Version aktualisiert, wird der Zeitstempel der letzten Änderung in die aktuelle Uhrzeit der Aktualisierung.
Beispiel
Angenommen, am 16. Juni um 01:10 Uhr (UTC) wird ein Feed mit folgendem Beispiel generiert: enthalten ist.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Der Feed wurde noch nicht von Google aufgenommen. Später am selben Tag um
2022-06-16T01:22:00.000Z
, Google erhält eine
Real-time update batchPush
-Anfrage mit dem folgenden Code:
Entität.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
Die Version für die Restaurantentitäts-ID restaurant12345
ist jetzt
2022-06-16T01:20:00.000Z
und der Zeitstempel der letzten Änderung der Entität ist festgelegt
an 2022-06-16T01:22:00.000Z
. Kurz gesagt: Die Zeit der letzten Änderung ist die Uhrzeit
dass die Entität im Inventar von Google aktualisiert wurde und die Version die
generation_timestamp
-Wert aus der Anfrage zur Echtzeitaktualisierung oder dem
dateModified
-Wert aus dem Feed.
Die Aufnahme des Feeds beginnt dann am 16. Juni um 02:00 Uhr (UTC). In dieser Situation
Die Entität, die im Feed mit Version 2022-06-16T01:10:00.000Z
empfangen wurde, ist
gilt als veraltet und wird nicht aufgenommen. Daher bietet Google weiterhin die
Entität mit Version 2022-06-16T01:20:00.000Z
aus dem
Real-time update.
Best Practices:
- Implementieren Sie in den Feeds für jede Entität einen Zeitstempel.
- Wenden Sie die Änderungen an Echtzeitaktualisierungen auf Ihren nächsten Feed an und leg fest, dateModified in den Feedentitäten auf die aktuelle Zeit, wenn Sie hat den Feed erstellt.