يحتوي هذا الريبو على رمز فهرس BitFunnel الذي تستخدمه فهارس Bing فائقة التحديث والأخبار والوسائط. تم وصف الخوارزمية في BitFunnel: إعادة النظر في التوقيعات للبحث، وهي ورقة مقدمة في SIGIR 2017. يقدم هذا الفيديو نظرة عامة جيدة على الخوارزمية.
تم نشر قاعدة التعليمات البرمجية هنا للسماح لمجتمع البحث بتكرار النتائج من ورقة SIGIR. الوثائق ضعيفة جدًا، ولكننا نشجعك على الاطلاع على ما يلي:
من أجل إنشاء BitFunnel، ستحتاج إلى CMake (2.8.11+)، ومترجم C++ حديث (gcc 5+، clang 3.5+، أو VC 2015+). يمكنك تشغيل CMake مباشرة لإنشاء إعداد البناء المناسب لنظامك الأساسي. وبدلاً من ذلك، لدينا بعض البرامج النصية التي تحتوي على الإعدادات الافتراضية التي نستخدمها.
بالنسبة لمنصات *nix (بما في ذلك OS X)،
./Configure_Make.sh
cd build-make
make
make test
لاحظ أنه على الرغم من أن هذه الإرشادات مخصصة make
، فمن الممكن أيضًا البناء باستخدام ninja
عن طريق تغيير الأمر cmake
لإنشاء ملفات ninja
بدلاً من Makefiles
. لم يتم إدراجها في التعليمات لأن ninja
يتطلب تثبيت تبعية إضافية لبعض المطورين، ولكن إذا كنت تريد استخدام ninja
فهو متاح عبر apt-get
brew
وما إلى ذلك، وهو أسرع بشكل كبير من make
.
إذا كنت تستخدم Ubuntu 15+، فيمكنك تثبيت التبعيات باستخدام:
sudo apt-get install clang cmake
في نظام التشغيل Ubuntu 14 والإصدارات الأقدم، ستحتاج إلى تثبيت إصدار أحدث من CMake. لتثبيت CMake جديد بما فيه الكفاية، راجع هذا الرابط. إذا كنت تستخدم gcc، فستحتاج أيضًا إلى التأكد من أن لديك gcc-5 ( sudo apt-get install g++-5
).
لتجاوز المترجم الافتراضي، قم بتعيين متغيرات البيئة CXX
و CC
. على سبيل المثال، إذا كان لديك clang-3.8 مثبتًا كـ clang-3.8
وتستخدم bash:
export CXX="clang++-3.8"
export CC="clang-3.8"
قم بتثبيت XCode ثم قم بتشغيل الأمر التالي لتثبيت الحزم المطلوبة باستخدام Homebrew (http://brew.sh/):
brew install cmake
يمكن إنشاء BitFunnel على نظام التشغيل OS X باستخدام ملفات تعريف *nix القياسية أو XCode. من أجل إنشاء وبناء ملفات تعريفية، في دليل BitFunnel
الجذر، قم بتشغيل:
إذا كنت تريد إنشاء مشروع Xcode بدلاً من استخدام Makefiles، فقم بتشغيل:
./Configure_XCode.sh
إذا كنت تستخدم XCode، فسيتعين عليك إما إعادة تشغيل Configure_XCode
أو تشغيل هدف ZERO_CHECK
عندما تتغير قوائم CMakeLists
، على سبيل المثال، عند إضافة الملفات المصدر أو إزالتها.
سوف تحتاج إلى هذه الأدوات:
ملاحظة : إذا قمت بتثبيت Visual Studio لأول مرة وقمت بتحديد خيارات التثبيت الافتراضية، فلن تحصل على مترجم C++. لفرض تثبيت مترجم C++، تحتاج إما إلى إنشاء مشروع C++ جديد أو فتح مشروع C++ موجود.
انسخ مستودع BitFunnel ثم قم بتشغيل الأمر التالي في المجلد الجذر لـ BitFunnel:
.Configure_MSVC.bat
ملاحظة : ستحتاج إلى تعديل خيار CMake -G إذا كنت تستخدم إصدارًا مختلفًا من Visual Studio. يجب أن يتم إنشاء Bitfunnel كبرنامج 64 بت، لذلك يجب أن يكون "Win64" جزءًا من نص خيار G المحدد.
عند هذه النقطة، يمكنك فتح الحل الذي تم إنشاؤه BitFunnel_CMake.sln
من Visual Studio ثم إنشائه. وبدلاً من ذلك، يمكنك البناء من سطر الأوامر باستخدام cmake --build build-MSVC
.