FEMTO 是一種用於查詢位元組序列的索引和搜尋系統。 FEMTO 代表具有吞吐量最佳化的外部記憶體的 FM 指數。該工具支援與 MPI 並行建立大型索引,然後使用多執行緒伺服器搜尋大型索引。
FEMTO 需要 64 位元機器來建置和測試。 32 位元計算機僅支援搜尋。眾所周知,FEMTO 是使用適用於 Linux/x86-64 的 GCC 建構的。
要從發布 tarball 建置 FEMTO,您將需要 C++ 編譯器、libssl-dev 和可選的 MPI。從原始程式碼建置時,您還需要 flex、bison、autotools 和 libtool。它已與 GNU bison 2.5 和 2.4.1 配合使用。
並行索引建置需要 MPI。請注意,不支援 MPI 在不同位元組順序的計算機上運行。
如果您想使用 MPI 並行索引構造,則需要安裝支援執行緒的 MPI 版本。我們使用的是OpenMPI 1.8.8,配置方式如下:
./configure --prefix=/opt/openmpi1.8.8 --enable-mpirun-prefix-by-default --enable-mpi-thread-multiple --with-threads 製作 在所有運算節點上進行安裝# # 確保 mpirun 和 mpicc 位於與 FEMTO 一起使用的路徑中 匯出 PATH=$PATH:/opt/openmpi1.8.8/bin 匯出 LD_LIBRARY_PATH=/opt/openmpi1.8.8/lib
首先確保您已滿足要求!
我們建議從 https://github.com/femto-dev/femto/releases 中的 FEMTO 版本 tarball 開始。
如果您喜歡使用原始程式碼簽出,則還有其他建置依賴項。
如果您從來源簽出開始,就像
git 克隆 https://github.com/femto-dev/femto.git CD飛行小區
您還需要產生配置腳本:
sh autogen.sh
若要建置 FEMTO,請發出以下命令:
./配置 製作
你會看到很多警告,提示事物已聲明/定義但未使用;這是正常現象,不是問題。如果出現錯誤且編譯失敗,則可能沒有安裝所有必要的開發庫。 (例如,如果它正在運行 g++ 並且無法找到 -lssl,則表示您需要安裝 libssl)
若要執行包含的單元測試,請使用
進行檢查
若要在特定位置安裝 FEMTO,請務必在設定行中包含 --prefix,如下所示
./configure --prefix ~/femto_install
照常,
進行安裝
將把 FEMTO 工具安裝到 ./configure 指定的目的地。
您也可以從建置目錄中執行命令。
有關安裝 FEMTO apache 模組的信息,請參閱 src/mod_femto/README。
要建立索引,請運行
femto/src/dcx_cc/femto_index --tmp /path/to/tmp_dir --outfile索引.femto 檔案或目錄到索引
然後,要查詢索引,請使用 femto_search。若要計算出現的次數(快速!),請使用:
femto/src/main_cc/femto_search /path/to/index_dir --count '模式'
若要報告符合的文件(時間取決於報告的數量),請使用:
femto/src/main_cc/femto_search/path/to/index_dir '模式'
若要報告匹配的文件和偏移量(時間取決於報告的數量),請使用:
femto/src/main_cc/femto_search /path/to/index_dir --offsets 'pattern'
若要詳細了解可以使用哪些類型的模式,請參閱 femto/src/main/QUERY_FORMAT.txt
FEMTO 來源包括 Google RE2 套件、jQuery、jQuery SlickGrid 和 jQuery SVG。