ساختار و نحوهی ذخیرهی دادهها درون ایندکس ، Mapping گفته میشود.
در زمان درج دادهها درون Index اگر Mapping مشخص نشود ، Elasticsearch به صورت خودکار یک Mapping پیشفرض متناسب با نوع دادهها ایجاد میکند.
اگر بخواهیم مقایسهای با پایگاهدادهی MySQL داشته باشیم ، Mapping همانند جدول یا Table میباشد.
فرآیند و حالات مربوط به Mapping به شرح زیر است.
اگر یک field از قبل موجود باشد ، ElasticSearch نیازی به تعریف مجدد آن در Mapping نمیبیند. در غیر این صورت آن را ایجاد میکند. (نوع یا Type داده نیز به صورت خودکار تشخیص داده میشود.)
اگر field وجود داشته باشد و دادهی مربوط به یک field از جنس دادههای قبلی field باشد ، مشکلی ایجاد نمیشود.
اگر field وجود داشته باشد و دادهی مربوط به یک field از جنس دادههای قبلی field نباشد، Elasticsearch سعی میکند Type مربوط به field را تغییر دهد. (به عنوان مثال تغییر Type داده از Integger به Long)
اگر این عمل موفقیت آمیز باشد که هیچ در غیر این صورت در زمان ساخت Index خطا رخ میدهد.
Mapping یک Index قابلیت تغییر دارد و صرفا در زمان ساخت Index ایجاد و مشخص نمیشود.