Distributing documents accross shards in elasticsearch

  • این که داده‌ها (کوچک‌ترین بخش اطلاعات که همان Document ها هستند) به چه نحو و با چه فرمولی یا با چه مکانیزمی و با چه تشخیصی گفته شود که درون کدام یک از Shard های درون Index قرار گیرد، توسط قسمتی یا بحثی تحت عنوان Routing Formula یا Routing اتفاق می‌افتد.

  • همان طور که در تصویر مشاهده می‌کنید ، فرمول مربوط به انتخاب شماره‌ی Shard در تصویر بالا نمایش داده شده است.
  • Routing specifies which documents go where

  • نحوه‌ی فرمول را می‌توان تغییر داد.
  • به عنوان مثال می‌توان فرمول را بر اساس کشور‌های هر قاره در نظر گرفت.
  • مشکل اصلی تغییر فرمول این است که آیا انجام این عمل باعث بهبود بالانس بودن حجم و Size در بین Shard ها می‌شود یا نه ؟
  • مثلا در مثالی که مطرح شد این عمل باعث بهم خوردن بالانس حجم هر یک از Shard ها خواهد شد چون تعداد کشور‌های هر قاره متفاوت است.