Repo ini berisi kode untuk indeks BitFunnel yang digunakan oleh indeks super-segar, berita, dan media Bing. Algoritme ini dijelaskan dalam BitFunnel: Revisiting Signatures for Search, makalah yang dipresentasikan di SIGIR 2017. Video ini memberikan gambaran umum yang bagus tentang algoritme tersebut.
Basis kode di sini diterbitkan untuk memungkinkan komunitas riset mereplikasi hasil makalah SIGIR. Dokumentasinya cukup tipis, namun kami mendorong Anda untuk melihat yang berikut ini:
Untuk membangun BitFunnel Anda memerlukan CMake (2.8.11+), dan kompiler C++ modern (gcc 5+, clang 3.5+, atau VC 2015+). Anda dapat menjalankan CMake secara langsung untuk menghasilkan penyiapan build yang sesuai untuk platform Anda. Sebagai alternatif, kami memiliki beberapa skrip yang defaultnya tersedia.
Untuk platform *nix (termasuk OS X),
./Configure_Make.sh
cd build-make
make
make test
Perhatikan bahwa meskipun petunjuk ini ditujukan untuk pembuatan make
, Anda juga dapat membuat pembuatan menggunakan ninja
dengan mengubah perintah cmake
untuk membuat file ninja
, bukan Makefiles
. Ini tidak tercantum dalam petunjuk karena ninja
memerlukan pemasangan ketergantungan tambahan untuk beberapa pengembang, tetapi jika Anda ingin menggunakan ninja
ninja tersedia melalui apt-get
, brew
, dll., dan jauh lebih cepat daripada make
.
Jika Anda menggunakan Ubuntu 15+, Anda dapat menginstal dependensi dengan:
sudo apt-get install clang cmake
Di Ubuntu 14 dan yang lebih lama, Anda perlu menginstal CMake versi terbaru. Untuk menginstal CMake yang cukup baru, lihat tautan ini. Jika Anda menggunakan gcc, Anda juga harus memastikan bahwa Anda memiliki gcc-5 ( sudo apt-get install g++-5
).
Untuk mengganti kompiler default, atur variabel lingkungan CXX
dan CC
. Misalnya, jika Anda menginstal clang-3.8 sebagai clang-3.8
dan menggunakan bash:
export CXX="clang++-3.8"
export CC="clang-3.8"
Instal XCode dan kemudian jalankan perintah berikut untuk menginstal paket yang diperlukan menggunakan Homebrew (http://brew.sh/):
brew install cmake
BitFunnel dapat dibangun di OS X menggunakan *nix makefile standar atau XCode. Untuk menghasilkan dan membangun makefile, di direktori root BitFunnel
jalankan:
Jika Anda ingin membuat proyek Xcode daripada menggunakan Makefiles, jalankan:
./Configure_XCode.sh
Jika Anda menggunakan XCode, Anda harus menjalankan kembali Configure_XCode
atau menjalankan target ZERO_CHECK
ketika CMakeLists
berubah, misalnya ketika file sumber ditambahkan atau dihapus.
Anda membutuhkan alat-alat ini:
Catatan : Jika Anda menginstal Visual Studio untuk pertama kalinya dan memilih opsi instalasi default, Anda tidak akan mendapatkan kompiler C++. Untuk memaksa instalasi kompiler C++, Anda perlu membuat proyek C++ baru atau membuka proyek C++ yang sudah ada.
Kloning repositori BitFunnel lalu jalankan perintah berikut di folder akar BitFunnel:
.Configure_MSVC.bat
Catatan : Anda perlu mengubah opsi CMake -G jika Anda menggunakan versi Visual Studio yang berbeda. Bitfunnel harus dibuat sebagai program 64-bit, jadi 'Win64' harus menjadi bagian dari teks opsi G yang ditentukan.
Pada titik ini, Anda dapat membuka solusi BitFunnel_CMake.sln
yang dihasilkan dari Visual Studio dan kemudian membangunnya. Alternatifnya, Anda dapat membangun dari baris perintah menggunakan cmake --build build-MSVC
.