ניהול גרסאות של ישות

לכל ישות שנשלחת ל-Google באמצעות פידים או עדכונים בזמן אמת מצורפת גרסה. הגרסה הזו כוללת חותמת זמן. אפשר לציין בפידים את חותמת הזמן לכל ישות באמצעות המאפיין dateModified. אם המאפיין לא כולל את ישויות הפיד, הגרסה מוגדרת לשעת ההתחלה של הטמעת הנתונים של הפיד. העדכונים בזמן אמת batchPush ו-batchDelete, בהתאמה, משמשים להגדרת הגרסה באמצעות השדות generation_timestamp ו-delete_time. אם השדה לא כלול, הגרסה מוגדרת לזמן שבו הבקשה התקבלה. אפשר לראות את הפורמט הצפוי של ערכי זמן בסכימת המלאי היחסי.

Google מעבדת רק ישויות (לדוגמה: מסעדה, תפריט או שירות) שהגרסה שלהן דומה לגרסה האחרונה שאושרה או חדשה יותר. אחרת, הישות לא תטמיע את הנתונים ותתועד השגיאה Stale Entity. כש פרטים על ישות מתעדכן בגרסה חדשה, חותמת הזמן של השינוי האחרון מתעדכנת למועד הנוכחי שבו היא עודכנה.

דוגמה

נניח שנוצר פיד ב-16 ביוני בשעה 01:10 UTC ונכלל בו הישות לדוגמה הבאה.

{
  "@type": "Restaurant",
  "@id": "restaurant12345",
  "dateModified": "2022-06-16T01:10:00.000Z",
  ...
}

Google עדיין לא מטמיעה את הפיד. מאוחר יותר באותו יום ב-2022-06-16T01:22:00.000Z, Google מקבלת בקשה לעדכון בזמן אמת batchPush עם הישות הבאה.

{
  "records": [
    {
      "data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
      "generation_timestamp": "2022-06-16T01:20:00.000Z"
    }
  ]
}

הגרסה הנוכחית של מזהה ישות המסעדה restaurant12345 היא 2022-06-16T01:20:00.000Z, וחותמת הזמן עם השינוי האחרון של הישות מוגדרת ל-2022-06-16T01:22:00.000Z. לסיכום, זמן השינוי האחרון הוא המועד שבו הישות עודכנה במלאי של Google והגרסה היא הערך generation_timestamp מבקשת העדכון בזמן אמת או הערך dateModified מהפיד.

הטמעת הפיד מתחילה ב-16 ביוני בשעה 02:00 לפי שעון UTC. במצב כזה, הישות שמתקבלת בפיד עם גרסה 2022-06-16T01:10:00.000Z נחשבת לא פעילה ולא מוטמעת בה. לכן, Google ממשיכה להציג את הישות בגרסה 2022-06-16T01:20:00.000Z מהבקשה לעדכון בזמן אמת.

שיטות מומלצות:

  • מטמיעים חותמת זמן בפידים לכל ישות.
  • תוכלו להחיל את השינויים על העדכון בזמן אמת בפיד הבא ולהגדיר את חותמת הזמן של dateModified בישויות הפיד לזמן הנוכחי שבו יצרתם את הפיד.