FEMTO adalah sistem pengindeksan dan pencarian untuk kueri berdasarkan urutan byte. FEMTO adalah singkatan dari indeks FM untuk Memori Eksternal dengan Optimasi Throughput. Alat ini mendukung pembuatan indeks besar secara paralel dengan MPI dan kemudian mencari indeks besar dengan server multithread.
FEMTO memerlukan mesin 64-bit untuk membangun dan menguji. Mesin 32-bit hanya didukung untuk pencarian. FEMTO diketahui dibuat dengan GCC untuk Linux/x86-64.
Untuk membangun FEMTO dari tarball rilis, Anda memerlukan kompiler C++, libssl-dev, dan opsional MPI. Saat membangun dari sumber, Anda juga memerlukan flex, bison, autotools, dan libtool. Ini telah bekerja dengan GNU bison 2.5 dan 2.4.1.
MPI diperlukan untuk konstruksi indeks paralel. Perhatikan bahwa MPI berjalan di mesin dengan endian yang berbeda tidak didukung.
Jika Anda ingin menggunakan konstruksi indeks paralel MPI, Anda perlu menginstal versi MPI yang mendukung thread. Kami telah menggunakan OpenMPI 1.8.8, dikonfigurasi dengan cara berikut:
./configure --prefix=/opt/openmpi1.8.8 --enable-mpirun-prefix-by-default --enable-mpi-thread-multiple --with-threads membuat make install # pada semua node komputasi # Untuk memastikan mpirun dan mpicc berada di jalur untuk digunakan dengan FEMTO ekspor PATH=$PATH:/opt/openmpi1.8.8/bin ekspor LD_LIBRARY_PATH=/opt/openmpi1.8.8/lib
Pastikan Anda sudah memenuhi persyaratannya terlebih dahulu!
Kami merekomendasikan memulai dengan tarball rilis FEMTO dari https://github.com/femto-dev/femto/releases .
Jika Anda lebih suka menggunakan checkout sumber, ada dependensi build tambahan.
Jika Anda memulai dengan checkout sumber seperti halnya
git klon https://github.com/femto-dev/femto.git cd femto
Anda juga perlu membuat skrip konfigurasi:
sh autogen.sh
Untuk membangun FEMTO, jalankan perintah berikut:
./konfigurasi membuat
Anda akan melihat banyak peringatan bahwa segala sesuatunya dideklarasikan/didefinisikan tetapi tidak digunakan; ini normal dan tidak menjadi masalah. Jika Anda mendapatkan kesalahan dan kompilasi gagal, Anda mungkin tidak menginstal semua perpustakaan dev yang diperlukan. (misalnya jika menjalankan g++ dan gagal menemukan -lssl, itu menunjukkan Anda perlu menginstal libssl)
Untuk menjalankan pengujian unit yang disertakan, gunakan
melakukan pengecekan
Untuk menginstal FEMTO di tempat tertentu, pastikan untuk menyertakan --prefix di baris konfigurasi Anda, seperti pada
./configure --awalan ~/femto_install
Seperti biasanya,
melakukan instalasi
akan menginstal alat FEMTO ke tujuan yang ditentukan oleh ./configure.
Anda juga dapat menjalankan perintah dari direktori build.
Lihat src/mod_femto/README untuk informasi tentang menginstal modul apache FEMTO.
Untuk membuat indeks, jalankan
femto/src/dcx_cc/femto_index --tmp /path/ke/tmp_dir --file keluar indeks.femto files_or_directories_to_index
Kemudian, untuk menanyakan indeks, gunakan femto_search. Untuk menghitung jumlah kemunculan (dengan cepat!), gunakan:
femto/src/main_cc/femto_search /path/to/index_dir --count 'pola'
Untuk melaporkan dokumen yang cocok (waktu tergantung # dilaporkan), gunakan:
femto/src/main_cc/femto_search /path/ke/index_dir 'pola'
Untuk melaporkan dokumen dan offset yang cocok (waktu tergantung # yang dilaporkan), gunakan:
femto/src/main_cc/femto_search /path/to/index_dir --mengimbangi 'pola'
Untuk mempelajari lebih lanjut tentang jenis pola yang dapat Anda gunakan, lihat femto/src/main/QUERY_FORMAT.txt
Sumber FEMTO mencakup paket Google RE2, jQuery, jQuery SlickGrid, dan jQuery SVG.