প্রকল্প সম্পর্কে

FlexSearch একটি ফুল-টেক্সট সার্চ লাইব্রেরি যা ব্রাউজার এবং Node.js-এ ব্যবহারের জন্য ডিজাইন করা হয়েছে। এটি npm-এর মাধ্যমে বিতরণ করা হয় এবং প্রি-বিল্ট বান্ডেল (light, compact, bundle) এবং ES মডিউল বিল্ড সহ ডিবাগ ভেরিয়েন্ট এবং CDN লিঙ্কও অফার করে। README-তে বর্ণিত মূল ক্ষমতাগুলির মধ্যে রয়েছে: - মাল্টি-ফিল্ড ডকুমেন্ট সার্চ, একটি ডকুমেন্ট ডেসক্রিপ্টর এবং ডেডিকেটেড ডকুমেন্ট সার্চ অপশন সহ। - ট্যাগ সার্চ এবং মাল্টি-ট্যাগ সার্চ। - ফলাফল হাইলাইটিং, বাউন্ডারি এবং এলিপসিস অপশন সহ। - ফোনেটিক (ফাজি) সার্চ। - কনফিগারেবল টোকেনাইজার-এর মাধ্যমে আংশিক ম্যাচিং। - সাজেশন এবং কনটেক্সট সার্চ। - বুলিয়ান অপারেশন (and, or, xor, not), boost, limit এবং offset সহ জটিল কোয়েরির জন্য একটি রিজলভার। - জনপ্রিয়তা বা শেষ কোয়েরি অনুযায়ী অটো-ব্যালেন্সড ক্যাশিং। - ইনডেক্সের এক্সপোর্ট/ইমপোর্ট, সার্ভার-সাইড রেন্ডারিংয়ের জন্য ফাস্ট-বুট সিরিয়ালাইজেশন সহ। - ডেডিকেটেড থ্রেডের মাধ্যমে প্যারালাল আপডেট এবং কোয়েরির জন্য ওয়ার্কার ইনডেক্স। - অ্যাসিঙ্ক নন-ব্লকিং রানটাইম ব্যালেন্সিং। - কাস্টম স্কোর ফাংশন এবং কাস্টম বিল্ড। পার্সিস্টেন্স অপশন ব্রাউজারে IndexedDB এবং Redis, SQLite, Postgres, MongoDB এবং Clickhouse-এর জন্য ডকুমেন্টেড। ডিফল্ট স্টোরেজ ইন-মেমরি। সমর্থিত ক্যারেক্টার সেট: ল্যাটিন, চাইনিজ/কোরিয়ান/জাপানিজ (CJK), হিন্দি, আরবি, সিরিলিক, গ্রিক এবং কপটিক, এবং হিব্রু। এনকোডার ডকুমেন্টেশন এনকোডার অপশন, ইউনিভার্সাল ক্যারেক্টার সেট কালেকশন, ল্যাটিন ক্যারেক্টার সেট প্রিসেট, ভাষা-নির্দিষ্ট প্রিসেট এবং কাস্টম এনকোডার কভার করে। README React, Vue, Gatsby এবং Nikola-এর জন্য বাহ্যিক ইন্টিগ্রেশন এবং অটো-কমপ্লিটের মতো ডেমোর লিঙ্ক দেয়। এটি পারফরম্যান্স এবং ম্যাচিং বেঞ্চমার্কও উল্লেখ করে এবং বেশ কয়েকটি জাভাস্ক্রিপ্ট সার্চ লাইব্রেরির তুলনা করে একটি বেঞ্চমার্ক ফলাফল টেবিল অন্তর্ভুক্ত করে; এই পরিসংখ্যানগুলি প্রকল্পের নিজস্ব প্রকাশিত পরিমাপ এবং সেভাবেই বিবেচনা করা উচিত। প্রকল্পটি জানায় যে এটি GitNation-এর দ্বারা "বছরের সেরা প্রযুক্তি"-এর জন্য মনোনীত হয়েছিল এবং Open Collective, GitHub Sponsors, Liberapay, Patreon এবং PayPal-এর মাধ্যমে দান লিঙ্ক প্রদান করে। v0.8-এর জন্য একটি মাইগ্রেশন গাইড উল্লেখ করা হয়েছে, এবং README উল্লেখ করে যে শর্তসাপেক্ষ কম্পাইলেশন ফ্ল্যাগের কারণে /src/-এর পরিবর্তে /dist/ ফোল্ডার ব্যবহার করা উচিত।