Ce référentiel contient le code de l'index BitFunnel utilisé par les index super frais, d'actualités et multimédias de Bing. L'algorithme est décrit dans BitFunnel : Revisiting Signatures for Search, un article présenté au SIGIR 2017. Cette vidéo donne un bon aperçu de l'algorithme.
La base de code ici a été publiée pour permettre à la communauté des chercheurs de reproduire les résultats de l'article SIGIR. La documentation est assez mince, mais nous vous encourageons à consulter ce qui suit :
Pour créer BitFunnel, vous aurez besoin de CMake (2.8.11+) et d'un compilateur C++ moderne (gcc 5+, clang 3.5+ ou VC 2015+). Vous pouvez exécuter CMake directement pour générer la configuration de build appropriée pour votre plate-forme. Alternativement, nous avons certains scripts qui ont les valeurs par défaut que nous utilisons disponibles.
Pour les plateformes *nix (y compris OS X),
./Configure_Make.sh
cd build-make
make
make test
Notez que même si ces instructions concernent une build make
, il est également possible de construire en utilisant ninja
en modifiant la commande cmake
pour créer des fichiers ninja
au lieu de Makefiles
. Ceux-ci ne sont pas répertoriés dans les instructions car ninja
nécessite l'installation d'une dépendance supplémentaire pour certains développeurs, mais si vous souhaitez utiliser ninja
elle est disponible via apt-get
, brew
, etc., et est nettement plus rapide que make
.
Si vous êtes sur Ubuntu 15+, vous pouvez installer des dépendances avec :
sudo apt-get install clang cmake
Sur Ubuntu 14 et versions antérieures, vous devrez installer une version plus récente de CMake. Pour installer un CMake suffisamment récent, consultez ce lien. Si vous utilisez gcc, vous devrez également vous assurer que vous disposez de gcc-5 ( sudo apt-get install g++-5
).
Pour remplacer le compilateur par défaut, définissez les variables d'environnement CXX
et CC
. Par exemple, si clang-3.8 est installé en tant que clang-3.8
et que vous utilisez bash :
export CXX="clang++-3.8"
export CC="clang-3.8"
Installez XCode, puis exécutez la commande suivante pour installer les packages requis à l'aide de Homebrew (http://brew.sh/) :
brew install cmake
BitFunnel peut être construit sur OS X à l'aide de makefiles * nix standard ou de XCode. Afin de générer et de construire des makefiles, dans le répertoire racine BitFunnel
exécutez :
Si vous souhaitez créer un projet Xcode au lieu d'utiliser des Makefiles, exécutez :
./Configure_XCode.sh
Si vous utilisez XCode, vous devrez soit réexécuter Configure_XCode
, soit exécuter la cible ZERO_CHECK
lorsque les CMakeLists
changent, par exemple lorsque des fichiers sources sont ajoutés ou supprimés.
Vous aurez besoin de ces outils :
Remarque : Si vous installez Visual Studio pour la première fois et sélectionnez les options d'installation par défaut, vous n'obtiendrez pas de compilateur C++. Pour forcer l'installation du compilateur C++, vous devez soit créer un nouveau projet C++, soit ouvrir un projet C++ existant.
Clonez le référentiel BitFunnel, puis exécutez la commande suivante dans le dossier racine de BitFunnel :
.Configure_MSVC.bat
Remarque : Vous devrez modifier l'option CMake -G si vous utilisez une version différente de Visual Studio. Bitfunnel doit être construit comme un programme 64 bits, donc « Win64 » doit faire partie du texte de l'option G spécifié.
À ce stade, vous pouvez ouvrir la solution générée BitFunnel_CMake.sln
à partir de Visual Studio, puis la générer. Vous pouvez également créer à partir de la ligne de commande en utilisant cmake --build build-MSVC
.