Sphinx (search engine)
স্ফিংক্স একটি পূর্ণ পাঠ্য অনুসন্ধান ইঞ্জিন যা ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে পাঠ্য অনুসন্ধান কার্যকারিতা সরবরাহ করে। সংক্ষিপ্ত বিবরণ স্ফিংক্স একটি স্বতন্ত্র সার্ভার হিসাবে বা মাইএসকিউএল পরিবারের ডেটাবেসের জন্য স্টোরেজ ইঞ্জিন ("স্ফিংক্স") হিসাবে ব্যবহার করা যেতে পারে। যখন একটি স্বতন্ত্র সার্ভার হিসাবে চালানো হয় তখন স্ফিংক্স একটি ডিবিএমএস-এর মতো কাজ করে এবং মাইএসকিউএল, মারিয়াডিবি এবং পোস্টগ্রেএসকিউএল-এর সাথে তাদের স্থানীয় প্রোটোকলের মাধ্যমে বা ওডিবিসি-র মাধ্যমে যে কোনও ওডিবিসি-অনুবর্তী ডিবিএমএস-এর সাথে যোগাযোগ করতে পারে। মারিয়াডিবি, মাইএসকিউএল-এর একটি কাঁটাচামচ, স্ফিংক্সের সাথে বিতরণ করা হয়। যদি স্ফিনক্স একটি স্বতন্ত্র সার্ভার হিসাবে চালানো হয়, তবে এর সাথে একটি অ্যাপ্লিকেশন সংযুক্ত করতে স্ফিনক্সএপিআই ব্যবহার করা সম্ভব। এপিআই-এর আনুষ্ঠানিক বাস্তবায়ন পিএইচপি, জাভা, পার্ল, রুবি এবং পাইথন ভাষার জন্য উপলব্ধ। অন্যান্য ভাষার জন্য অনানুষ্ঠানিক বাস্তবায়নের পাশাপাশি বিভিন্ন তৃতীয় পক্ষের প্লাগইন এবং মডিউলও পাওয়া যায়। অন্যান্য তথ্য উৎসগুলি একটি কাস্টম এক্স. এম. এল বিন্যাসে পাইপের মাধ্যমে সূচীভুক্ত করা যেতে পারে। স্ফিংক্স সার্চ ডেমন মাইএসকিউএল বাইনারি নেটওয়ার্ক প্রোটোকল সমর্থন করে এবং নিয়মিত মাইএসকিউএল এপিআই এবং/অথবা ক্লায়েন্টের সাথে অ্যাক্সেস করা যেতে পারে। স্ফিংক্স এসকিউএল-এর একটি উপসেটকে সমর্থন করে যা স্ফিংক্সকিউএল নামে পরিচিত। এটি SELECT-এর সাথে সমস্ত সূচকের ধরণের স্ট্যান্ডার্ড অনুসন্ধানকে সমর্থন করে, INSERT, REPLACE এবং DELETE-এর সাথে রিয়েলটাইম সূচকগুলি সংশোধন করে এবং আরও অনেক কিছু। স্ফিংক্স মারিয়াডিবি এবং মাইএসকিউএল ডেটাবেসের জন্য একটি বিশেষ স্টোরেজ ইঞ্জিনও সরবরাহ করতে পারে। এটি সেই মাইএসকিউএল, মারিয়াডিবি-কে প্রশ্নগুলি চালানোর এবং ফলাফল পাওয়ার জন্য স্ফিংক্সের অনুসন্ধানের সাথে যোগাযোগ করার অনুমতি দেয়। স্ফিংক্স সূচকগুলিকে নিয়মিত এসকিউএল টেবিলের মতো বিবেচনা করা হয়। স্ফিংক্সই স্টোরেজ ইঞ্জিনটি মারিয়াডিবি দিয়ে পাঠানো হয়। পূর্ণ-পাঠ্য ক্ষেত্র এবং সূচীকরণ স্ফিংক্স তার সূচকের মাধ্যমে একটি ডেটা সেট পরীক্ষা করার জন্য কনফিগার করা হয়। সূচক প্রক্রিয়া প্রদত্ত তথ্য/পাঠ্য থেকে একটি পূর্ণ-পাঠ্য সূচক (একটি বিশেষ তথ্য কাঠামো যা দ্রুত কীওয়ার্ড অনুসন্ধান সক্ষম করে) তৈরি করে। পূর্ণ-পাঠ্য ক্ষেত্রগুলি হল ফলস্বরূপ বিষয়বস্তু যা স্ফিংক্স দ্বারা সূচীভুক্ত করা হয়; সেগুলি (দ্রুত) কীওয়ার্ডগুলির জন্য অনুসন্ধান করা যেতে পারে। ক্ষেত্রগুলির নাম দেওয়া হয়েছে এবং আপনি আপনার অনুসন্ধানগুলিকে একটি ক্ষেত্রে সীমাবদ্ধ করতে পারেন (যেমন। শুধুমাত্র "শিরোনাম" এর মাধ্যমে অনুসন্ধান করুন) অথবা ক্ষেত্রগুলির একটি উপসেট (যেমন। শুধুমাত্র "শিরোনাম" এবং "বিমূর্ত")। স্ফিংক্সের সূচক বিন্যাস সাধারণত 256 টি ক্ষেত্র পর্যন্ত সমর্থন করে। মনে রাখবেন যে মূল তথ্য স্ফিংক্স সূচকে সংরক্ষণ করা হয় না, তবে সূচীকরণ প্রক্রিয়া চলাকালীন বাতিল করা হয়; স্ফিংক্স ধরে নেয় যে আপনি সেই সামগ্রীগুলি অন্য কোথাও সংরক্ষণ করেছেন। অ্যাট্রিবিউটস অ্যাট্রিবিউটস হল প্রতিটি নথির সঙ্গে যুক্ত অতিরিক্ত মান যা অনুসন্ধানের সময় অতিরিক্ত ফিল্টারিং এবং বাছাই করতে ব্যবহার করা যেতে পারে। বৈশিষ্ট্যের নাম দেওয়া হয়েছে। বৈশিষ্ট্যের নামগুলি কেস অসংবেদনশীল। বৈশিষ্ট্যগুলি পূর্ণ-পাঠ্য সূচীভুক্ত নয়; সেগুলি যেমন আছে তেমন সূচকে সংরক্ষণ করা হয়। বর্তমানে সমর্থিত বৈশিষ্ট্যের প্রকারগুলি হলঃ স্বাক্ষরহীন পূর্ণসংখ্যা (1-বিট থেকে 32-বিট প্রশস্ত); ইউনিক্স টাইমস্ট্যাম্প; ভাসমান বিন্দু মান (32-বিট, আই. ই. ই. ই 754 একক নির্ভুলতা); স্ট্রিং অর্ডিনাল (বিশেষভাবে গণনা করা পূর্ণসংখ্যা); স্ট্রিং (<আই. ডি. 2> থেকে); জে. এস. ও. এন (<আই. ডি. 1> থেকে); এম. ভি. এ, বহু-মান বৈশিষ্ট্য (32-বিট স্বাক্ষরহীন পূর্ণসংখ্যার পরিবর্তনশীল-দৈর্ঘ্যের তালিকা)। ক্লাসিক এসকিউএল ডাটাবেসের মতো স্ফিংক্স স্ফিংক্সে জে. এস. ও. এন অ্যাট্রিবিউটগুলি একটি তথাকথিত ফিক্সড স্কিমা, অর্থাৎ পূর্বনির্ধারিত অ্যাট্রিবিউট কলামের একটি সেট নিয়ে কাজ করে। এগুলি ভাল কাজ করে যখন বেশিরভাগ সঞ্চিত ডেটার প্রকৃত মান থাকেঃ স্ট্যাটিক কলামে বিরল ডেটা ম্যাপিং জটিল হতে পারে। উদাহরণস্বরূপ ধরে নিন যে আপনি বিভিন্ন পণ্য বিভাগের সাথে একটি মূল্য তুলনা বা একটি নিলাম সাইট চালাচ্ছেন। দাম বা বিক্রেতার মতো কিছু বৈশিষ্ট্য সমস্ত পণ্যের মধ্যে অভিন্ন। কিন্তু সেখান থেকে, ল্যাপটপের জন্য, আপনাকে ওজন, পর্দার আকার, এইচডিডি প্রকার, র্যামের আকার ইত্যাদি সংরক্ষণ করতে হবে। এবং, ধরুন, বেলার জন্য, আপনি সম্ভবত রঙ, হ্যান্ডেলের দৈর্ঘ্য ইত্যাদি সংরক্ষণ করতে চান। সুতরাং এটি একটি একক বিভাগ জুড়ে পরিচালনাযোগ্য, তবে সমস্ত বিভাগ জুড়ে সমস্ত পণ্যের জন্য আপনার প্রয়োজনীয় সমস্ত স্বতন্ত্র ক্ষেত্রগুলি হল সৈন্যবাহিনী। এটি কাটিয়ে উঠতে জে. এস. ও. এন ক্ষেত্র ব্যবহার করা যেতে পারে। জে. এস. ও. এন বৈশিষ্ট্যের ভিতরে আপনার একটি নির্দিষ্ট কাঠামোর প্রয়োজন নেই। আপনার কাছে বিভিন্ন কী থাকতে পারে যা সমস্ত নথিতে উপস্থিত থাকতে পারে বা নাও থাকতে পারে। আপনি যখন এই কীগুলির একটিতে ফিল্টার করার চেষ্টা করবেন, তখন স্ফিংক্স সেই নথিগুলিকে উপেক্ষা করবে যেগুলির জে. এস. ও. এন বৈশিষ্ট্যের চাবি নেই এবং শুধুমাত্র সেই নথিগুলির সাথে কাজ করবে যাদের এটি রয়েছে। সংস্করণ 3 পর্যন্ত, স্ফিংক্স দ্বৈত লাইসেন্সপ্রাপ্ত; হয়ঃ জি. এন. ইউ জেনারেল পাবলিক লাইসেন্স সংস্করণ 2 অথবা মালিকানাধীন লাইসেন্সিং ব্যবহার-ক্ষেত্রে উপলব্ধ যা জি. এন. ইউ জি. পি. এল. ভি 2-এর শর্তাবলীর মধ্যে নেই। সংস্করণ 3 থেকে, স্ফিংক্স মালিকানাধীন হয়ে উঠেছে, ভবিষ্যতে স্ফিংক্স ব্যবহারের উদাহরণ Craigslist.org Recruitment.aleph-graymatter.com Tradebit.com vBulletin.com মিডিয়াউইকি এক্সটেনশন Boardreader.com OMBE.com Limundo.com ফিচার লিস্ট ব্যাচ এবং ইনক্রিমেন্টাল (সফট রিয়েল-টাইম) ফুল-টেক্সট ইনডেক্সিং-এ তার সোর্স কোড প্রকাশ করার প্রতিশ্রুতি সহ। অ-পাঠ্য বৈশিষ্ট্যগুলির জন্য সমর্থন (স্কেলার, স্ট্রিং, সেট, জে. এস. ও. এন)। এসকিউএল ডাটাবেসের সরাসরি সূচীকরণ। মাইএসকিউএল, মারিয়াডিবি, পোস্টগ্রেএসকিউএল, এমএসএসকিউএল, এবং ওডিবিসি সংযোগের জন্য স্থানীয় সমর্থন। এক্স. এম. এল ডকুমেন্ট ইনডেক্সিং সমর্থন। বাক্সের বাইরে বিতরণকৃত অনুসন্ধান সমর্থন। অ্যাক্সেস এপিআই-এর মাধ্যমে সংহতকরণ। মাইএসকিউএল প্রোটোকলের মাধ্যমে এসকিউএল-এর মতো সিনট্যাক্স সমর্থন (0.9.9 থেকে) পূর্ণ-পাঠ্য অনুসন্ধান সিনট্যাক্স। ডাটাবেসের মতো ফলাফল সেট প্রসেসিং। স্ট্যান্ডার্ড বিএম 25 ছাড়াও অতিরিক্ত কারণ ব্যবহার করে প্রাসঙ্গিকতা র্যাঙ্কিং। এসবিসিএস এবং ইউটিএফ-8 এনকোডিং, স্টপওয়ার্ড, ডাটাবেসে উপস্থিত না হওয়া শব্দের সূচীকরণ ("হিটলেস"), স্টেমিং, শব্দ ফর্ম, টোকেনাইজিং ব্যতিক্রম এবং "মিশ্রিত অক্ষর" (একটি বাস্তব অক্ষর এবং একটি শব্দ বিভাজক উভয় হিসাবে দ্বৈত-সূচক) এর জন্য পাঠ্য প্রক্রিয়াকরণ সমর্থন। ইউ. ডি. এফ-কে সমর্থন করে (2.0.1 থেকে)। কর্মক্ষমতা এবং স্কেলিবিলিটি ইনডেক্সিং গতি প্রতি কোর এবং এইচডিডি-তে 10-15 এমবি/সেকেন্ড পর্যন্ত। 2 জিবি র্যাম সহ 2-কোর ডেস্কটপ সিস্টেম ব্যবহার করে 1,000,000 ডকুমেন্ট/1.2 জিবি সংগ্রহের বিপরীতে 500 টিরও বেশি প্রশ্ন/সেকেন্ড অনুসন্ধানের গতি। স্ফিংক্স ব্যবহার করে সবচেয়ে বড় পরিচিত ইনস্টলেশন, Boardreader.com, 16 বিলিয়ন নথি সূচী করে। সবচেয়ে ব্যস্ততম ইনস্টলেশন, ক্রেগলিস্ট, প্রতিদিন 300,000,000 প্রশ্ন এবং মাসে 50 বিলিয়নেরও বেশি পৃষ্ঠা দর্শন প্রদান করে। 2017 সালে, মূল স্ফিংক্স দলের প্রধান সদস্যরা মন্টিকোর নামে প্রকল্পের একটি কাঁটাচামচ তৈরি করেছিলেন। মান্টিকোর দল নিম্নলিখিত লক্ষ্য নির্ধারণ করেছেঃ সম্পূর্ণ পাঠ্য অনুসন্ধানের জন্য দ্রুত, স্থিতিশীল এবং শক্তিশালী বিনামূল্যে সফ্টওয়্যার সরবরাহ করা। মন্টিকোর দল এটির কাঁটাচামচ মুক্ত উৎস রাখে, এটি মূল স্ফিংক্স অনুসন্ধানের বিপরীতে জিপিএলভি 2 লাইসেন্সের অধীনে প্রকাশ করে, যা তৃতীয় সংস্করণ থেকে উৎসটি বন্ধ করে দেয়। আরও দেখুন তথ্য পুনরুদ্ধারের গ্রন্থাগারের তালিকা রেফারেন্স আরও পড়া আর ওপেন সোর্স নেই (2017) https://sphinxsearch.com/blog/2017/07/24/sphinx-2017 বাহ্যিক লিঙ্ক মারিয়া ডিবি নলেজবেসে স্ফিংক্সই https://manticoresearch.com-মন্টিকোর ওপেন সোর্স কাঁটাচামচ সাইট। ইন্টারনেট সার্চ ইঞ্জিন ফ্রি সার্চ ইঞ্জিন সফ্টওয়্যার