Entitätsversionsverwaltung

<ph type="x-smartling-placeholder">

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.