이 리포지토리에는 Bing의 super-fresh, 뉴스 및 미디어 인덱스에서 사용되는 BitFunnel 인덱스에 대한 코드가 포함되어 있습니다. 알고리즘은 SIGIR 2017에서 발표된 논문인 BitFunnel: Revisiting Signatures for Search에 설명되어 있습니다. 이 비디오는 알고리즘에 대한 좋은 개요를 제공합니다.
여기에 있는 코드베이스는 연구 커뮤니티가 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
빌드용이지만 cmake
명령을 변경하여 Makefiles
대신 ninja
파일을 생성함으로써 ninja
사용하여 빌드할 수도 있습니다. 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은 표준 *nix makefile 또는 XCode를 사용하여 OS X에 구축할 수 있습니다. makefile을 생성하고 빌드하려면 루트 BitFunnel
디렉터리에서 다음을 실행합니다.
Makefile을 사용하는 대신 Xcode 프로젝트를 생성하려면 다음을 실행하세요.
./Configure_XCode.sh
XCode를 사용하는 경우 CMakeLists
변경될 때(예: 소스 파일이 추가되거나 제거될 때) Configure_XCode
다시 실행하거나 ZERO_CHECK
대상을 실행해야 합니다.
다음 도구가 필요합니다.
참고 : Visual Studio를 처음 설치하고 기본 설치 옵션을 선택하면 C++ 컴파일러가 제공되지 않습니다. C++ 컴파일러를 강제로 설치하려면 새 C++ 프로젝트를 만들거나 기존 C++ 프로젝트를 열어야 합니다.
BitFunnel 저장소를 복제한 후 BitFunnel의 루트 폴더에서 다음 명령을 실행합니다.
.Configure_MSVC.bat
참고 : 다른 버전의 Visual Studio를 사용하는 경우 CMake -G 옵션을 수정해야 합니다. Bitfunnel은 64비트 프로그램으로 빌드되어야 하므로 'Win64'는 지정된 G 옵션 텍스트의 일부여야 합니다.
이 시점에서 Visual Studio에서 생성된 솔루션 BitFunnel_CMake.sln
을 열고 빌드할 수 있습니다. 또는 cmake --build build-MSVC
사용하여 명령줄에서 빌드할 수 있습니다.