Este repositorio contiene el código para el índice BitFunnel utilizado por los índices de medios, noticias y noticias súper recientes de Bing. El algoritmo se describe en BitFunnel: Revisiting Signatures for Search, un artículo presentado en SIGIR 2017. Este video ofrece una buena descripción general del algoritmo.
El código base aquí se publicó para permitir a la comunidad de investigación replicar los resultados del artículo SIGIR. La documentación es bastante escasa, pero le recomendamos que consulte lo siguiente:
Para construir BitFunnel, necesitará CMake (2.8.11+) y un compilador de C++ moderno (gcc 5+, clang 3.5+ o VC 2015+). Puede ejecutar CMake directamente para generar la configuración de compilación adecuada para su plataforma. Alternativamente, tenemos algunos scripts que tienen disponibles los valores predeterminados que usamos.
Para plataformas *nix (incluido OS X),
./Configure_Make.sh
cd build-make
make
make test
Tenga en cuenta que, si bien estas instrucciones son para una compilación make
, también es posible compilar usando ninja
cambiando el comando cmake
para crear archivos ninja
en lugar de Makefiles
. Estos no aparecen en las instrucciones porque ninja
requiere instalar una dependencia adicional para algunos desarrolladores, pero si desea utilizar ninja
está disponible a través de apt-get
, brew
, etc., y es sustancialmente más rápido que make
.
Si estás en Ubuntu 15+, puedes instalar dependencias con:
sudo apt-get install clang cmake
En Ubuntu 14 y versiones anteriores, deberá instalar una versión más reciente de CMake. Para instalar un CMake suficientemente nuevo, consulte este enlace. Si está utilizando gcc, también deberá asegurarse de tener gcc-5 ( sudo apt-get install g++-5
).
Para anular el compilador predeterminado, configure las variables de entorno CXX
y CC
. Por ejemplo, si tienes clang-3.8 instalado como clang-3.8
y estás usando bash:
export CXX="clang++-3.8"
export CC="clang-3.8"
Instale XCode y luego ejecute el siguiente comando para instalar los paquetes necesarios usando Homebrew (http://brew.sh/):
brew install cmake
BitFunnel se puede crear en OS X utilizando archivos MAKE estándar *nix o XCode. Para generar y construir archivos MAKE, en el directorio raíz BitFunnel
ejecute:
Si desea crear un proyecto Xcode en lugar de utilizar Makefiles, ejecute:
./Configure_XCode.sh
Si usa XCode, tendrá que volver a ejecutar Configure_XCode
o ejecutar el destino ZERO_CHECK
cuando cambien las CMakeLists
, por ejemplo, cuando se agreguen o eliminen archivos fuente.
Necesitará estas herramientas:
Nota : si instala Visual Studio por primera vez y selecciona las opciones de instalación predeterminadas, no obtendrá un compilador de C++. Para forzar la instalación del compilador de C++, debe crear un nuevo proyecto de C++ o abrir un proyecto de C++ existente.
Clona el repositorio de BitFunnel y luego ejecuta el siguiente comando en la carpeta raíz de BitFunnel:
.Configure_MSVC.bat
Nota : deberá modificar la opción CMake -G si usa una versión diferente de Visual Studio. Bitfunnel debe compilarse como un programa de 64 bits, por lo que 'Win64' debe ser parte del texto de la opción G especificada.
En este punto, puede abrir la solución generada BitFunnel_CMake.sln
desde Visual Studio y luego compilarla. Alternativamente, puede compilar desde la línea de comando usando cmake --build build-MSVC
.