Этот репозиторий содержит код индекса BitFunnel, используемый индексами суперсвежих, новостных и медиа-индексов Bing. Алгоритм описан в документе BitFunnel: Revisiting Signatures for Search, представленном на 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 с использованием стандартных make-файлов *nix или XCode. Чтобы сгенерировать и собрать файлы makefile, в корневом каталоге 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
.