هر نهادی که به 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 را در موجودیتهای فید بر روی زمان فعلی ایجاد کنید.