কম্পিউটার

ইলাস্টিক সার্চ উপনাম

এই পোস্টে, আমি অবজেক্ট রকেট-হোস্ট করা কিউরেটর ইমপ্লিমেন্টেশনে আমাদের অ্যালিয়াস অ্যাকশনে অ্যাক্সেস উদযাপন করতে Elasticsearch® উপনামের উপর যাই। আমি ইলাস্টিক সার্চ উপনামের সুবিধাগুলি এবং আপনি কীভাবে সেগুলি ব্যবহার করতে পারেন তাও পর্যালোচনা করি৷

ইলাস্টিকসার্চে উপনাম ব্যবহার করার ভূমিকা

মূলত 24 আগস্ট, 2017-এ ObjectRocket.com/blog এ প্রকাশিত

ইলাস্টিক সার্চ উপনাম

চমৎকার ইলাস্টিকসার্চ স্বাস্থ্যবিধির জন্য একটি ভালো কৌশল হল বিশাল সূচকগুলি এড়ানো যা অতিরিক্ত পরিমাণে ডেটা রাখে। যাইহোক, আপনার ডেটা একাধিক সূচকে ছড়িয়ে পড়ার পরে, আপনি সম্ভবত সেগুলি জুড়ে অনুসন্ধান করার সর্বোত্তম উপায় চান৷ যে কারণে উপকৃত হয়।

ইলাস্টিকসার্চের উপনামগুলি ঠিক সেরকম শোনাচ্ছে:একটি গৌণ নাম যা একটি সূচক বা একাধিক সূচক উল্লেখ করতে ব্যবহার করা যেতে পারে, এমনকি আপনার প্রয়োজনগুলি মিটমাট করার জন্য কিছু ফিল্টারিং অন্তর্ভুক্ত করতে পারে। এই পোস্টে, আমি আপনার অবজেক্ট রকেট ইলাস্টিকসার্চ ক্লাস্টারগুলির জন্য দ্রুত এবং সহজে অ্যালিয়াস কিউরেটর টাস্ক সেট আপ করতে সক্ষম করে, উপনাম ব্যবহার করার কিছু দুর্দান্ত উপায় এবং আমাদের বৈশিষ্ট্যটি ব্যবহার করার পদ্ধতির মাধ্যমে যুবকদের নিয়ে যেতে চাই৷

উনাম সহ CRUD (তৈরি করুন, পড়ুন, আপডেট করুন এবং মুছুন)

উপনামগুলি কীভাবে কাজ করে তার একটি সাধারণ উদাহরণের মাধ্যমে চলুন। আপনি _cat ব্যবহার করে উপনামের তালিকা করতে পারেন এপিআই, যা প্রতিটি উপনাম-সূচক অ্যাসোসিয়েশনের জন্য লাইন রিটার্ন করে এবং ফিল্টারিং বা রাউটিং প্রয়োগ করা হয় কিনা:

    GET _cat/aliases?v
    alias index filter routing.index routing.search
    atest test1 – – –
    atest test2 – – –
    atest2 test2 * – –

বিকল্পভাবে, আপনি /_alias ব্যবহার করতে পারেন সমস্ত উপনাম বা /index/_alias দেখতে এন্ডপয়েন্ট যে সূচকের উপদেশগুলি দেখতে শেষবিন্দু। আপনি একটি সূচী টেমপ্লেট ব্যবহার করে বা PUT ব্যবহার করে তৈরির সময় একটি সূচীতে উপনাম যোগ করতে পারেন কমান্ড:

    PUT /test2
    {
    “aliases” : {
    “atest” : {},
    “atest2” : {
    “filter” : {
    “term” : {“user” : “objectrocket” }
    }
    }
    }
    }

তারপর, /_aliases দিয়ে পরে এটিকে যোগ বা সংশোধন করুন সূচী এবং উপনাম যোগ বা সরানোর জন্য নির্দিষ্ট করে শেষ পয়েন্ট।

    POST /_aliases
    {
    “actions” : [
    { “add” : { “index” : “test1”, “alias” : “atest” } },
    { “remove” : { “index” : “test3”, “alias” : “atest” } }
    ] }

সেখান থেকে, আপনি একটি ক্যোয়ারীতে সূচক নামের পরিবর্তে উপনাম নাম ব্যবহার করতে পারেন। মনে রাখবেন যে আপনি শুধুমাত্র একটি উপনামে নথিপত্র সূচী করতে পারেন যা একটি একক সূচকে নির্দেশ করে। স্পষ্টতই উপনামগুলির আরও অনেক গভীরতা রয়েছে যা আপনি অফিসিয়াল ডক্স থেকে পেতে পারেন, তবে এটি আপনাকে উপনামগুলির সাথে কাজ করার অনুভূতি দেবে৷

বড় ব্যাপার কি?

সবকিছুই বেশ সহজ বলে মনে হচ্ছে, এবং আপনি ইতিমধ্যেই বিক্রি হয়ে যেতে পারেন, কিন্তু আপনি না থাকলে, এখানে কয়েকটি জায়গা রয়েছে যেখানে উপনামগুলি সত্যিই সাহায্য করে৷

কোন ডাউনটাইম ছাড়াই রিইন্ডেক্স

ইলাস্টিক সার্চের সবচেয়ে দরকারী বৈশিষ্ট্যগুলির মধ্যে একটি হল রিইন্ডেক্স API যাইহোক, পুনঃসূচীকরণের পরে, আপনাকে এখনও পুরানো সূচক থেকে নতুন সূচকে কাটওভার পরিচালনা করতে হবে। উপনামগুলি আপনাকে ডাউনটাইম ছাড়াই এই কাটওভার তৈরি করতে দেয়। এখানে কিভাবে:

  1. ধরে নিন আপনার কাছে oldIndex নামে একটি সূচক আছে এবং এটিকে newIndex-এ পুনঃসূচীকরণ করতে চান .

  2. একটি উপনাম myalias তৈরি করুন এবং এটি oldIndex এ যোগ করুন .

  3. নিশ্চিত করুন যে আপনার অ্যাপ্লিকেশনটি myalias নির্দেশ করছে oldIndex এর পরিবর্তে .

  4. আপনার newIndex তৈরি করুন এবং oldIndex থেকে ডেটা পুনঃসূচীকরণ শুরু করুন এটিতে।

  5. newIndex যোগ করুন myalias-এ এবং oldIndex সরান . একক কমান্ডে এটি করুন। পরিবর্তনটি পারমাণবিক (খুব ছোট এবং স্বতন্ত্র), তাই পরিবর্তনের সময় কোন সমস্যা হবে না।

  6. যাচাই করুন যে আপনি উপনামের সাথে আপনার প্রত্যাশার ফলাফল পাচ্ছেন এবং তারপর আপনি oldIndex সরাতে পারেন আপনি যখন প্রস্তুত।

অপ্রয়োজনীয় পদক্ষেপ এড়াতে আপনার অ্যাপ্লিকেশন থেকে পড়া বা প্রশ্নের জন্য একটি উপনাম ব্যবহার করা ভাল অভ্যাস।

সময়-ভিত্তিক সূচকের ব্যাপ্তি দখল

আপনি যদি Logstash® বা Beats® ব্যবহার করেন, তাহলে আপনি সম্ভবত something-yyyy.mm.dd নামের সূচকগুলির সাথে পরিচিত . এটি ডেটার নিরাময় এবং পরিচালনাকে সত্যিই সহজ করে তোলে। ওয়াইল্ডকার্ড এবং সূচী তালিকা সবসময় আপনার পছন্দ মতো নমনীয় হয় না, বিশেষ করে যখন আপনি বিভিন্ন তারিখ জুড়ে অনুসন্ধান করতে চান। উপনাম আপনাকে এই ধরনের ক্ষেত্রে একটি সহজ সমাধান প্রদান করে। ধরা যাক যে আপনার দৈনিক লগস্ট্যাশ সূচক রয়েছে এবং আপনি 30 দিনের জন্য আপনার লগগুলি ধরে রেখেছেন। যাইহোক, নির্দিষ্ট ধরণের প্রশ্নের জন্য আপনাকে শুধুমাত্র শেষ সাতদিনের দিকে তাকাতে হতে পারে। উপনাম এবং কিউরেটর ব্যবহার করে, আপনি এটি সহজে করতে পারেন।

  1. এই উদাহরণের অনুরূপ একটি উপনাম তৈরি করুন:lastSevenDays .

  2. ডিফল্টরূপে নতুন উপনামে সূচী যোগ করতে আপনার সূচক টেমপ্লেট সেট আপ করুন৷

  3. ইলাস্টিক সার্চ কিউরেটর ব্যবহার করে উপনাম অ্যাকশন এবং বয়স/প্যাটার্ন ফিল্টার বা একটি মৌলিক স্ক্রিপ্ট সহ, সাত দিনের বেশি পুরানো সূচকগুলি সরাতে একটি পুনরাবৃত্ত কাজ সেট আপ করুন৷

  4. সেখান থেকে, lastSevenDays-এ সমস্ত অনুসন্ধান শুধুমাত্র গত সাত দিনে তৈরি করা সূচকগুলিকে আঘাত করে৷

গ্রাহকের উদাহরণ

আমি আমাদের গ্রাহকদের এক থেকে একটি ছোট উদাহরণ বন্ধ করতে চাই। এই গ্রাহকের ধীরগতির সাথে কিছু সমস্যা ছিল। কিছু পর্যালোচনার পরে, আমরা লক্ষ্য করেছি যে তাদের একটি সাধারণ প্রশ্ন আসলে তাদের ক্লাস্টারের সম্পূর্ণ তারিখ সীমা জুড়ে অনুসন্ধান করছে। এই ক্যোয়ারীটি পূর্বে তালিকাভুক্ত দৃশ্যের সাথে খুব মিল ছিল এবং শুধুমাত্র শেষ সাত দিনের ডেটার প্রয়োজন ছিল, তাই এটি একটি উপনামের সাথে পরিচালনা করার জন্য উপযুক্ত প্রার্থী যা গত সাত দিন থেকে সূচকগুলিতে নির্দেশ করার জন্য নিয়মিত আপডেট করা হয়েছিল। নিম্নলিখিত গ্রাফগুলিতে, আপনি দেখতে পারেন যে তাদের ক্লাস্টারের কর্মক্ষমতার উপর প্রভাব বিস্ময়কর:

ইলাস্টিক সার্চ উপনাম ইলাস্টিক সার্চ উপনাম

যেহেতু এই উপনামটি প্রায়শই জিজ্ঞাসা করা হয়েছিল, আমরা এই পরিবর্তনের প্রভাব দেখতে পাচ্ছি। এই গ্রাফগুলি আমাদের দেখায় যে সমস্ত নোডে CPU ব্যবহার 50% এর বেশি কমে গেছে, কোয়েরি ক্যাশে উচ্ছেদের সংখ্যা ~75% কমে গেছে। যদিও আপনি যে ফলাফলগুলি দেখেন তা হয়তো এই কঠিন নাও হতে পারে, ক্যোয়ারী ফ্রিকোয়েন্সি এবং সূচকের আকারের উপর নির্ভর করে, এটি আপনার অনুসন্ধান এবং সূচকের সুযোগ যথাযথভাবে পরিচালনা করা কতটা গুরুত্বপূর্ণ তা ব্যাখ্যা করে৷

রিক্যাপ

উপনামগুলি ইলাস্টিকসার্চ টুলবক্সের আরেকটি টুল যা আপনার ক্লাস্টার-টু-ডে-এর সাথে পরিচালনা এবং কাজ করা সহজ করে তুলবে। এই পোস্টটি সম্পূর্ণ নয় কিন্তু আপনার ইলাস্টিক সার্চ ইমপ্লিমেন্টেশনে আপনি কোথায় এবং কীভাবে উপনাম ব্যবহার করতে পারেন সে সম্পর্কে আপনাকে ধারণা দিতে হবে।

আপনি কিভাবে অবজেক্টরকেটের মাধ্যমে একটি আলিয়াস কিউরেটর টাস্ক সেট আপ করতে পারেন?

যদিও আমাদের ইলাস্টিকসার্চ ক্লাস্টারগুলি ইতিমধ্যে উপনামগুলিকে সমর্থন করে, নতুন উপনাম কিউরেটর টাস্ক বৈশিষ্ট্যটি আপনাকে আপনার মানদণ্ডের উপর ভিত্তি করে একটি নিয়মিত ব্যবধানে একটি উপনাম থেকে সূচকগুলি যুক্ত বা সরানোর জন্য ফিল্টারগুলি নির্দিষ্ট করতে সক্ষম করে উপনামের নিয়মিত রক্ষণাবেক্ষণ সেটআপ করা সহজ করে তোলে৷

এটি ব্যাখ্যা করার জন্য, চলুন lastSevenDays নেওয়া যাক alias উদাহরণ, যার ইতিমধ্যে ইলাস্টিকসার্চ কিউরেটর ব্যবহার করে রেফারেন্স রয়েছে। এটিকে সহজ রাখার জন্য, আমরা কিউরেটর টাস্কের প্রথম রানটি আমাদের জন্য উপনাম সেট করি। আপনি কিউরেটরটাস্কে বিদ্যমান উপনামগুলি উল্লেখ করতে পারেন, যদি আপনি আরও কাস্টম সেটিংস করতে চান তবে আপনাকে আলাদাভাবে উপনাম সেট আপ করার অনুমতি দেয়৷

এই উপনামটি পরিচালনা করতে, আপনাকে শুধুমাত্র সূচকগুলি রেখে এটিকে আপ-টু-ডেট রাখতে হবে যা গত সাত দিনের মধ্যে তৈরি হওয়ার বয়সের মানদণ্ডের সাথে খাপ খায়। আমরা যে ক্লাস্টারের জন্য একটি উপনাম কিউরেটর টাস্ক যুক্ত করতে চাই তার জন্য উদাহরণ বিবরণ পৃষ্ঠা থেকে শুরু করুন:

ইলাস্টিক সার্চ উপনাম

এখন, কিউরেটর নির্বাচন করুন বর্তমান কিউরেটরের কাজ দেখতে ট্যাব:

ইলাস্টিক সার্চ উপনাম

আপনি দেখতে পাচ্ছেন, আমাদের ইতিমধ্যে কয়েকটি কিউরেটরের কাজ রয়েছে। আসুন আরেকটি তৈরি করি—এবার একটি আলিয়াস কিউরেটর টাস্ক দিয়ে। এটি করতে, টাস্ক যোগ করুন নির্বাচন করুন :

ইলাস্টিক সার্চ উপনাম

এখন, আপনি উনাম নির্বাচন করতে পারেন৷ কাজের ধরন:

ইলাস্টিক সার্চ উপনাম

আমাদের টাস্ক নামকরণের পরে, আমাদের উপনাম নাম নির্দিষ্ট করতে হবে। চলুন lastSevenDays ব্যবহার করি এই উদাহরণের জন্য। এছাড়াও আপনি একগুচ্ছ বিকল্প দেখতে পারেন:যোগ করুন৷ এবং সরান . এগুলি আপনাকে সেই সূচকগুলির জন্য ফিল্টারগুলি নির্দিষ্ট করতে সক্ষম করে যা আপনি উপনাম থেকে সরাতে চান৷ lastSevenDays এর জন্য , আমরা কিছু সূচক যোগ করতে যাচ্ছি এবং অন্যগুলোকে সরিয়ে দিতে যাচ্ছি। সুতরাং, আসুন উভয় নির্বাচন করি:

ইলাস্টিক সার্চ উপনাম

পছন্দসই ফিল্টারগুলি সাত দিনের চেয়ে সাম্প্রতিক সমস্ত সূচক যুক্ত করে এবং সাত দিনের বেশি পুরানোগুলিকে সরিয়ে দেয়। আপনি সেগুলি পূরণ করার পরে, সূচকগুলি নিম্নলিখিত উদাহরণের মতো দেখায়:

ইলাস্টিক সার্চ উপনাম

আমরা এটিকে ডিফল্ট ব্যবধানে রেখে দিতে পারি (প্রতি পাঁচ মিনিটে) নির্দিষ্ট করার জন্য যে আমরা আমাদের উপনাম আপ-টু-ডেট রাখতে এই কাজটি নিয়মিতভাবে চালাতে চাই। টাস্ক সংরক্ষণ করুন নির্বাচন করুন৷ , এবং এটাই! ইলাস্টিক সার্চ আলিয়াস আপডেট রাখতে এখন টাস্কটি প্রতি পাঁচ মিনিটে চলে৷

Rackspace DBA পরিষেবা সম্পর্কে আরও জানুন৷

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। এছাড়াও আপনিসেলস চ্যাট এ ক্লিক করতে পারেন৷ এখন চ্যাট করতে এবং কথোপকথন শুরু করতে।


  1. ইলাস্টিকসার্চে CSV ডেটা লোড করতে Logstash ব্যবহার করে

  2. কিবানার একটি স্থানীয় উদাহরণ কীভাবে সেট আপ করবেন

  3. ফাইলবিট মডিউল সহ সহজ লগ বিশ্লেষণ

  4. অবজেক্ট রকেট ইলাস্টিকসার্চে কিবানা 4 এর সাথে আপ এবং রানিং