HeadlinesBriefing favicon HeadlinesBriefing.com

TIN: Postgres ফুল-টেক্সট সার্চ এক্সটেনশন GA রিলিজ

Hacker News •
×

আমাদের গ্রাহকরা Postgres-এ সবচেয়ে বেশি চান এমন একটি ফিচার হলো ফুল-টেক্সট সার্চ। আজ, আমরা TIN ঘোষণা করছি: Postgres-এর জন্য একটি দ্রুত, সম্পূর্ণ বৈশিষ্ট্যযুক্ত, বিশ্বস্ত ফুল-টেক্সট সার্চ এক্সটেনশন। TIN মানে "Text INdex", এবং এটি ঠিক তাই করে। TIN সকল Postgres এবং Neki ডাটাবেসের জন্য GA রিলিজ হিসেবে অবিলম্বে উপলব্ধ। এটি চেষ্টা করুন: CREATE INDEX an_index_name ON table_name USING tin(text_column_name); SELECT * FROM table_name WHERE text_column_name ==> 'some words'। আমরা TIN তৈরি করেছি কারণ আমরা মনে করি একটি ভালো টেক্সট ইনডেক্স অবশ্যই সমর্থন করা উচিত: বুলিয়ান এক্সপ্রেশন, ফ্রেজ কোয়ারি, এবং স্প্যান কোয়ারি। টার্মের জন্য ফাজি, ওয়াইল্ডকার্ড, এবং রেগুলার-এক্সপ্রেশন ম্যাচিং। কেস এবং এক্সেন্ট ফোল্ডিং। COUNT(*) কোয়ারি এবং BM25-স্কোরড টপ-কে কোয়ারি। Postgres-এ একটি ভালো টেক্সট ইনডেক্স অবশ্যই সেই সকল প্রয়োজনীয়তা সমর্থন করতে হবে, পাশাপাশি জয়েন, ফুল-টেক্সট এবং অন্যান্য কলাম টাইপ জুড়ে জটিল WHERE ক্লজ, רציף আপডেট, রেপ্লিকেশন, ব্যাকআপ, এবং সঠিক ট্রানজ্যাকশন ভিজিবিলিটি হ্যান্ডেল করতে হবে। যদিও Postgres-এর জন্য ইতিমধ্যে কমপক্ষে তিনটি টেক্সট-সার্চ ইনডেক্স আছে, কিন্তু उनमें से কোনোই সকল প্রয়োজনীয়তা পূরণ করে না। TIN করে। TIN খুবই, অবিশ্বাস্যভাবে দ্রুত। আমরা উপরের সকল ইউজ কেস এবং আরও অনেকের জন্য পারফরম্যান্স মূল্যায়ন করতে বেঞ্চমার্ক চালিয়েছি। আমরা কনজাঙ্কশন, ডিসজাঙ্কশন, এবং ফ্রেজ কোয়ারি সহ ওয়ার্কলোড এবং তিনটির মিশ্রণ চেষ্টা করেছি। যেগুলো ডকুমেন্ট গণনা করে বা BM25 স্কোর অনুযায়ী টপ-কে চায়। ক্লায়েন্টরা বেঞ্চমার্ক কোয়ারি ওয়ার্কলোডের সাথে সমকಾಲীনভাবে ইনডেক্সে নতুন ডেটা লিখে থাকা সত্ত্বেও এবং সেটা ছাড়াও। আমরা TIN বিভিন্ন টেক্সট কর্পাসের বিপরীতে পরিমাপ করেছি: সমগ্র উইকিপিডিয়া, মোট 2.3 TB রেডডিট কমেন্টের সংগ্রহ, এবং একটি মিশ্র ওয়ার্কলোড যাকে আমরা সাদা "pile" বলি যেখানে 797 GB ওপেন-অ্যাক্সেস রিসার্চ পেপার, লিগ্যাল ডকুমেন্ট, পাবলিক ডোমেইন বুক, এবং Enron ইমেইল রয়েছে। এই আর্টিকেলে শেয়ার করা বেঞ্চমার্ক ফলাফল Stack Exchange-এর প্রশ্ন ও উত্তরের এক্সপোর্ট থেকে: 150 মিলিয়ন ডকুমেন্টসহ 85 GB কর্পাস।