Frolics هي مكتبة بحث كاملة عن الاتصال بالإنترنت وخفيفة الوزن لتطبيقات الواجهة الأمامية.
Frolics مستوحى من Elasticsearch ، وبالتالي ، يتضمن التنفيذ الأساسي خوارزميات معالجة النص وهيكل البيانات مثل الرمز المميز ، والفهرس الناجح والمقلوب.
عندما يتم توفير docs ، تقوم Frolics بإنشاء بيانات فهرس مدعومة وفقًا لذلك ، والتي تستخدم على نطاق واسع في خدمات البحث الكاملة الكاملة مثل Elasticsearch و Google Search.
من الآن فصاعدًا ، يمكنك حذف عملية التثبيت الشاقة لتنفيذ عملية بحث كاملة عن النص ، وحتى أفضل ، قد لا تحتاج إلى الواجهة الخلفية لتطوير هذه الميزة.
Frolics هنا للمساعدة!
قبل تثبيت Frolics ، يرجى التأكد من أن إصدار العقدة الخاص بك متوافق. العقدة V12+ على ما يرام ولكن يوصى بالعقدة V16.
ومع ذلك ، كان لدى Node V17+ مشكلة توافق عندما كنت أختبر Frolics في ReactJS. لكن العقدة V16 كانت تعمل بشكل جيد.
مرة واحدة القيام به. تشغيل npm install frolics في المحطة.
قبل الاستيراد ، يلزم وجود بيانات أولية. يجب أن يبدو هكذا:
const docs = [
{
id: 1,
body: 'this is a test full text'
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
ضع في اعتبارك أن id فريدًا body محتوى نصًا مطلوبًا لأن id يميز كل مستند body هو المحتوى الذي يحتاج المحتوى إلى تحليل وتصنيف البيانات النصية للبحث.
في الإضافة إلى id body كما هو مطلوب ، يمكنك الحصول على العديد من الحقول لميزات مختلفة. على سبيل المثال ، إذا كنت تريد صورة معاينة عند البحث ، فيمكنك تغيير docs مثل هذا:
const docs = [
{
id: 1,
body: 'this is a test full text',
// imagesURL field is totally optional, you can have different name and data structure
imagesURL: 'https://yourImage.com/img1.png',
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
بعد تحديد docs ، نحن جميعًا. الخطوة التالية هي استخدام frolics.
يدعم Frolics بناء جملة ES6 ، وبالتالي يمكنك استيراد مثل هذا:
import { createDTM, Stemmer } from 'frolics';
import { docs } from "../assets/document.js" // Don't forget the raw data
الآن يمكنك استدعاء createDTM مثل هذا:
const DTM = createDTM(docs);
createDTM هي الوظيفة الرئيسية التي تأخذ docs وتنشئ قاموس فهرس مقلوب.
يمكنك تقليم مدخلاتك الأصلية باستخدام Stemmer للحصول على نتائج بحثية
const DTM = createDTM(docs);
const stemmedInput = Stemmer(input);
return DTM[stemmedInput]; // The result
للحصول على مثال مفصل ، يرجى زيارة مجلد المثال.
ما يتم إنشاء وظيفة createDTM هو قاموس فهرس مقلوب. يمكن تحويله إلى تنسيق JSON القابل للقراءة البشرية مع طريقة JavaScript البسيطة في وظيفة JSON.stringify .
يمكنك اختيار أي طريقة قراءة ملف بناءً على الأطر الخاصة بك وتحميل ملف JSON ، إذا كان موجودًا ، قبل استدعاء وظيفة createDTM .