يشبه إلى حد ما Solr، ولكنه أصغر كثيرًا وليس ساطعًا.
يمكن إنشاء فهرس بحث بسيط للغاية باستخدام ما يلي:
var idx = lunr ( function ( ) {
this . field ( 'title' )
this . field ( 'body' )
this . add ( {
"title" : "Twelfth-Night" ,
"body" : "If music be the food of love, play on: Give me excess of it…" ,
"author" : "William Shakespeare" ,
"id" : "1"
} )
} )
ثم البحث بسيط مثل:
idx . search ( "love" )
يؤدي ذلك إلى إرجاع قائمة بالمستندات المطابقة مع درجة مدى مطابقتها لاستعلام البحث بالإضافة إلى أي بيانات تعريف مرتبطة بالمطابقة:
[
{
"ref" : "1" ,
"score" : 0.3535533905932737 ,
"matchData" : {
"metadata" : {
"love" : {
"body" : { }
}
}
}
}
]
تتوفر وثائق API، بالإضافة إلى مثال عملي كامل.
Lunr.js عبارة عن مكتبة صغيرة للبحث عن النص الكامل للاستخدام في المتصفح. يقوم بفهرسة مستندات JSON ويوفر واجهة بحث بسيطة لاسترداد المستندات التي تتطابق بشكل أفضل مع الاستعلامات النصية.
بالنسبة لتطبيقات الويب التي تحتوي على جميع بياناتها الموجودة بالفعل في العميل، فمن المنطقي أن تكون قادرًا على البحث في تلك البيانات على العميل أيضًا. يوفر إضافة خدمات إضافية ومضغوطة على الخادم. سيكون فهرس البحث المحلي أسرع، ولن يكون هناك أي عبء على الشبكة، وسيظل متاحًا وقابلاً للاستخدام حتى بدون اتصال بالشبكة.
ما عليك سوى تضمين الملف المصدر lunr.js في الصفحة التي تريد استخدامه. Lunr.js مدعوم في جميع المتصفحات الحديثة.
وبدلاً من ذلك، تتوفر أيضًا حزمة npm npm install lunr
.
ستتطلب المتصفحات التي لا تدعم ES5 رقاقة JavaScript حتى يعمل Lunr. يمكنك إما استخدام Augment.js أو ES5-Shim أو أي مكتبة تقوم بتصحيح المتصفحات القديمة لتوفير بيئة JavaScript متوافقة مع ES5.
راجع الملف CONTRIBUTING.md
.