ایندکس گذاری در الستیک سرچ

آموزش ایندکس گذاری و حذف ایندکس ها در الستیک سرچ

برای بررسی کانفیگ فهرست و عملکردها، می توانید دستور Elasticsearch Health Check-Up را اجرا کنید . این دستور کمک می کند مشکلات را شناسایی کرده و حتی از بروز آن ها پیشگیری کنید. علاوه بر این Check-Up ،hreadpool‌ها، حافظه، عکس‌ها، واترمارک‌های دیسک و موارد دیگر را نیز بررسی می‌کند تا به شما در بهبود عملکرد کمک کند. ایندکس گذاری الستیک سرچ بسیار ساده و آسان است و کافی است از مجموعه کدهایی که در این مقاله معرفی می کنیم استفاده کنید.

Elasticsearch Check-Up رایگان است و نیازی به نصب ندارد.

بررسی اجمالی ایندکس گذاری الستیک سرچ

در Elasticsearch، یک ایندکس حاوی یک اسکیما است و می تواند یک یا چند shards باشد. یک شاخص Elasticsearch به shards ها تقسیم می شود و هر shards یا خرده، نمونه ای از شاخص Lucene است.

شاخص ها برای ذخیره اسناد در ساختارهای داده اختصاصی مربوط به نوع داده فیلدها استفاده می شوند. به عنوان مثال، فیلدهای متنی در یک شاخص معکوس ذخیره می شوند در حالی که فیلدهای عددی و جغرافیایی در درختان BKD ذخیره می شوند.

مثال ایندکس گذاری الستیک سرچ

مثال زیر بر اساس Elasticsearch نسخه 5.x به بعد ایجاد شده است. با استفاده از دستور زیر یک ایندکس با دو قطعه که هر کدام دارای یک ماکت است با نام test_index1 ایجاد می شود:

PUT /test_index1?pretty
{
    "settings" : {
        "number_of_shards" : 2,
        "number_of_replicas" : 1
    },
    "mappings" : {
        "properties" : {
            "tags" : { "type" : "keyword" },
            "updated_at" : { "type" : "date" }
        }
    }
}

فهرست شاخص ها

با استفاده از دستور زیر می‌توان نام همه فهرست ها و اطلاعات اولیه آنها را بازیابی کرد:

GET _cat/indices?v

ایندکس گذاری الستیک سرچ برای داکیومنت ها

با دستور زیر یک داکیومنت در ایندکس اضافه می شود:

PUT test_index1/_doc/1
{
  "tags": [
    "opster",
    "elasticsearch"
  ],
  "date": "01-01-2020"
}

پرس و جو از ایندکس در الستیک سرچ

با استفاده از قطعه کد زیر می توان یک پرس و جو از ایندکس در الستیک سرچ ایجاد کرد:

GET test_index1/_search
{
  "query": {
    "match_all": {}
  }
}

پرس و جو از چند شاخص

جستجوی چند شاخص با یک درخواست امکان پذیر است. همانطور که در مثال زیر نشان داده شده است، در یک درخواست HTTP نام های فهرست باید در قالب جدا شده با کاما ارسال شوند و در مورد درخواست از طریق یک کلاینت، با استفاده از یک زبان برنامه‌نویسی مانند پایتون یا جاوا، نام‌های فهرست باید در قالب لیست ارسال شوند.

GET test_index1,test_index2/_search

حذف شاخص ها

DELETE test_index1

مشکلات رایج

تعریف تنظیمات و نگاشت یک Index تمرین خوبی است. زیرا اگر این کار انجام نشد، Elasticsearch سعی می کند به طور خودکار نوع داده فیلدها را در زمان نمایه سازی حدس بزند. این فرآیند خودکار ممکن است دارای معایبی مانند تداخل نقشه برداری، داده های تکراری و انواع داده‌های نادرست (که در فهرست تنظیم شده‌اند) باشند. اگر فیلدها از قبل شناخته شده نیستند، بهتر است از قالب های شاخص پویا استفاده کنید.
Elasticsearch از الگوهای حروف عام در نام های Index پشتیبانی می‌کند، که گاهی به جستجو در چندین شاخص کمک می‌کند، اما همچنین می‌تواند بسیار مخرب باشد. به عنوان مثال، با استفاده از دستورات زیر می توان تمام شاخص ها را در یک دستور حذف کرد:

DELETE /*

برای غیرفعال کردن این دستور، می توانید دستور زیر را در elasticsearch.yml اضافه کنید:

action.destructive_requires_name: true

از همراهی شما در این مقاله از گت پنکیک متشکریم. در صورت وجود هر گونه سوال و ابهام می توانید از طریق درج کامنت با ما در میان بگذارید. اگر از مطالعه این مقاله لذت بردید می توانید آن را با سایر دوستانتان به اشتراک بگذارید تا آن ها هم با خواندن این مطلب لذت ببرند و سوالشان بر طرف شود.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *