npm
هذا سجل npm مرن لعملية النسخ المتماثل لفهرس Algolia. سيقوم بنسخ جميع حزم npm إلى فهرس Algolia وإبقائها محدثة. يتم حفظ حالة النسخ المتماثل في إعدادات فهرس Algolia.
يجب أن يكون النسخ المتماثل قيد التشغيل دائمًا. يجب تشغيل مثيل واحد فقط لكل فهرس Algolia في نفس الوقت . إذا فشلت العملية، فأعد تشغيلها وستستمر عملية النسخ المتماثل عند آخر نقطة تتذكرها.
يُستخدم مؤشر Algolia حاليًا مجانًا من خلال عدد قليل من المشاريع المختارة (على سبيل المثال: Yarnpkg.com، codesandbox.io، jsdelivr.com، إلخ...).
إذا كنت تريد تضمين هذا الفهرس في مشروعك، فيرجى إنشاء طلب دعم هنا: Algolia Support.
هذا المنتج هو منتج مفتوح المصدر للمجتمع ولا تدعمه Algolia.
لكي يكون مشروعك مؤهلاً، يجب أن يستوفي هذه المتطلبات:
يمكنك أيضًا استخدام الكود أو صورة عامل الإرساء العامة لتشغيل نسختك الخاصة (اعتبارًا من سبتمبر 2021، سيتم إنشاء حوالي 3 ملايين سجل x4).
لكل حزمة NPM واحدة، نقوم بإنشاء سجل في فهرس Algolia. تحتوي السجلات الناتجة على المخطط التالي:
{
name : 'babel-core' ,
downloadsLast30Days : 10978749 ,
downloadsRatio : 0.08310651682685861 ,
humanDownloadsLast30Days : '11m' ,
jsDelivrHits : 11684192 ,
popular : true ,
version : '6.26.0' ,
versions : {
// [...]
'7.0.0-beta.3' : '2017-10-15T13:12:35.166Z' ,
} ,
tags : {
latest : '6.26.0' ,
old : '5.8.38' ,
next : '7.0.0-beta.3' ,
} ,
description : 'Babel compiler core.' ,
dependencies : {
'babel-code-frame' : '^6.26.0' ,
// [...]
} ,
devDependencies : {
'babel-helper-fixtures' : '^6.26.0' ,
// [...]
} ,
repository : {
url : 'https://github.com/babel/babel/tree/master/packages/babel-core' ,
host : 'github.com' ,
user : 'babel' ,
project : 'babel' ,
path : '/tree/master/packages/babel-core' ,
branch : 'master' ,
} ,
readme : '# babel-corenn> Babel compiler core.nnn [... truncated at 200kb]' ,
owner : {
// either GitHub owner or npm owner
name : 'babel' ,
avatar : 'https://github.com/babel.png' ,
link : 'https://github.com/babel' ,
} ,
deprecated : 'Deprecated' , // This field will be removed, please use `isDeprecated` instead
isDeprecated : true ,
deprecatedReason : 'Deprecated' ,
isSecurityHeld : false , // See https://github.com/npm/security-holder
badPackage : false ,
homepage : 'https://babeljs.io/' ,
license : 'MIT' ,
keywords : [
'6to5' ,
'babel' ,
'classes' ,
'const' ,
'es6' ,
'harmony' ,
'let' ,
'modules' ,
'transpile' ,
'transpiler' ,
'var' ,
'babel-core' ,
'compiler' ,
] ,
created : 1424009748555 ,
modified : 1508833762239 ,
lastPublisher : {
name : 'hzoo' ,
email : '[email protected]' ,
avatar : 'https://gravatar.com/avatar/851fb4fa7ca479bce1ae0cdf80d6e042' ,
link : 'https://www.npmjs.com/~hzoo' ,
} ,
owners : [
{
email : '[email protected]' ,
name : 'thejameskyle' ,
avatar : 'https://gravatar.com/avatar/8a00efb48d632ae449794c094f7d5c38' ,
link : 'https://www.npmjs.com/~thejameskyle' ,
} ,
// [...]
] ,
lastCrawl : '2017-10-24T08:29:24.672Z' ,
dependents : 3321 ,
types : {
ts : 'definitely-typed' , // definitely-typed | included | false
definitelyTyped : '@types/babel__core' ,
} ,
moduleTypes : [ 'unknown' ] , // esm | cjs | none | unknown
styleTypes : [ 'none' ] , // file extensions like css, less, scss or none if no style files present
humanDependents : '3.3k' ,
changelogFilename : null , // if babel-core had a changelog, it would be the raw GitHub url here
objectID : 'babel-core' ,
// the following fields are considered internal and may change at any time
_downloadsMagnitude : 8 ,
_jsDelivrPopularity : 5 ,
_popularName : 'babel-core' ,
_searchInternal : {
alternativeNames : [
// alternative versions of this name, to show up on confused searches
] ,
} ,
}
إذا كنت تريد معرفة المزيد حول كيفية عمل خوارزمية التصنيف في Algolia، فيمكنك قراءة منشور المدونة هذا.
نحن نقيد البحث لاستخدام مجموعة فرعية من السمات فقط:
_popularName
name
description
keywords
owner.name
owners.name
توفر Algolia إمكانيات البحث الافتراضية عن البادئات (مطابقة الكلمات مع البداية فقط). تم تعطيل هذا لسمات owner.name
و owners.name
.
توفر Algolia التسامح الافتراضي مع الأخطاء المطبعية.
باستخدام ميزة FacetFilters optionalFacetFilters
في Algolia، نعمل على تعزيز المطابقات الدقيقة لاسم الحزمة لتكون دائمًا على رأس النتائج.
بالنسبة لكل حزمة، نستخدم عدد التنزيلات في آخر 30 يومًا كإعداد customRanking
لـ Algolia. سيتم استخدام هذا لفرز النتائج التي لها نفس الصلة النصية ببعضها البعض.
على سبيل المثال، ابحث عن babel
مع تطابق كل من babel-core
و babel-messages
. من وجهة نظر تتعلق بالنص، فإن هاتين الحزمتين متطابقتان تمامًا بنفس الطريقة. في مثل هذه الحالة، ستعتمد Algolia على إعداد customRanking
وبالتالي تضع الحزمة ذات أكبر عدد من التنزيلات خلال الثلاثين يومًا الماضية أولاً.
سيتم اعتبار بعض الحزم شائعة إذا تم تنزيلها "أكثر" من غيرها. نحن حاليًا نعتبر الحزمة شائعة إذا كانت:
0.005%
من إجمالي عدد تنزيلات npm، تُستخدم هذه العلامة popular
أيضًا لتعزيز بعض السجلات على السجلات غير الشائعة.
yarn
apiKey=... yarn start
لإعادة التشغيل من نقطة معينة (أو من البداية):
seq=0 apiKey=... yarn start
يعد هذا مفيدًا عندما تريد إعادة مزامنة سجل npm بالكامل للأسباب التالية:
يمثل seq
تسلسل التغيير في لغة CouchDB.
هدفنا من هذا المشروع هو:
عندما تبدأ العملية بـ seq=0
:
يتم فصل النسخ المتماثل والمشاهدة للأسباب التالية:
انظر CONTRIBUTING.md