Mesin data besar terdistribusi untuk pencarian vertikal di C ++.
Konfigurasi yang fleksibel . SF1R dapat sangat dapat dikonfigurasi untuk mendukung mesin pencari terdistribusi atau tidak terdistribusi. Untuk bahasa Asia, berbagai jenis penganalisa morflogis atau tokenizer khusus dapat diterapkan juga untuk disesuaikan dengan situasi yang berbeda. Setiap instance SF1R dapat dikonfigurasi untuk mendukung beberapa koleksi, sedangkan konsep koleksi dapat dibandingkan dengan "tabel" di RDBMS . Koleksi dapat dikelola secara dinamis tanpa menghentikan instance server.
Terbukti secara komersial . SF1R telah sepenuhnya terbukti di bawah lingkungan komersial dengan situasi rumit dan konkurensi yang sangat tinggi. Untuk memenuhi berbagai jenis persyaratan, tiga jenis indeks didukung dalam SF1R, termasuk indeks terbalik berbasis file lucene, indeks terbalik berbasis memori murni dengan kinerja dekompresi ultra tinggi, dan indeks diri yang ringkas. Ini adalah penyebaran praktis untuk cloud pencarian dengan vertikal terdistribusi dan tidak terdistribusi, semuanya berada di belakang satu proxy terbalik HTTP berbasis Nginx untuk menyediakan entri terpadu.
Komponen penambangan dapat diperpanjang . Pada tahap awal SF1R, ada puluhan komponen penambangan yang terpasang, seperti duplicate detection , taxonomy generation , query recommendation , collaborative filtering , ..., dll. Untuk menjaga repositori sebanyak mungkin, kami melakukan beberapa penyempurnaan untuk menghapus sebagian besar komponen penambangan. Namun, arsitektur SF1R telah menjamin fleksibilitas untuk memperkenalkan salah satu dari mereka, sebenarnya, salah satu indeks diri indeks --- ringkas, itu dienkapsulasi menggunakan komponen penambangan untuk kenyamanan.
Dokumen -dokumen Cina dapat diakses di sini, sementara kami juga menyiapkan laporan teknis Inggris.
Kami baru saja beralih ke C++ 11 untuk SF1R baru -baru ini, dan GCC 4.8 diperlukan untuk membangun SF1R secara bersamaan. Kami tidak merekomendasikan untuk menggunakan Ubuntu untuk pembangunan proyek karena referensi bersarang di antara banyak perpustakaan. CentOS / Redhat / Gentoo / Coreos adalah platform yang lebih disukai. Anda juga memerlukan CMake dan Boost 1.56 untuk membangun repositori. Berikut adalah daftar repositori yang tergantung:
CMAKE : Modul CMake yang diperlukan untuk membangun semua proyek IzenEcloud C ++.
Izenelib : Perpustakaan C ++ Tujuan Umum.
ICMA : Perpustakaan Analisis Morfologi Cina.
IJMA : Perpustakaan Analisis Morfologi Jepang.
ILPLIB : Perpustakaan Pemrosesan Bahasa.
IDMLIB : Perpustakaan penambangan data.
Selain itu, ada beberapa repositor pihak ketiga yang diperlukan:
Tokyocabinet : Perpustakaan Nilai Kunci Tokyocabinet jarang digunakan, tetapi kami memiliki enkapsulasi metode akses terpadu.
Google Glog : Perpustakaan logging yang disediakan oleh Google.
Thrift : Ini opsional, jika Anda ingin SF1R dapat terhubung ke Cassandra, barang bekas diperlukan, dan kami telah menyiapkan klien C ++ Cassandra di Izenelib.
Selain itu, ada dua proyek tambahan:
Nginx : Proxy terbalik berbasis Nginx untuk SF1R. Ini adalah proyek Nginx pertama yang dapat terhubung dengan Zookeeper untuk mengetahui topologi simpul SF1R.
Driver Ruby : Klien Ruby untuk SF1R, juga berisi pengirim API Web untuk tujuan pengujian.
Untuk menggunakan SF1R, Anda harus memiliki file konfigurasi yang terletak di direktori config . Setelah itu:
$ cd bin
$ ./CobraProcess -F configSilakan lihat dokumen untuk penggunaan lebih lanjut.
Proyek SF1R diterbitkan di bawah lisensi Apache, versi 2.0: http://www.apache.org/licenses/license-2.0