非常小的獨立全文搜索HTTP/SCGI服務器。

上述和
tools/dir2jsonl在最近的debian和ubuntu上安裝依賴項
sudo apt install libsqlite3-tcl make sqlite3 tcl tcllib tdom在帶有sudo的freebsd上安裝依賴項
sudo pkg install sqlite3 tcl-sqlite3 tcl86 tcllib tdom
cd /usr/local/bin
sudo ln -s tclsh8.6 tclsh Usage:
tinyfts --db-file path [option ...] [wapp-arg ...]
Options:
--css-file ''
--credits <HTML>
--header <HTML>
--footer <HTML>
--title tinyfts
--subtitle <HTML>
--table tinyfts
--rate-limit 60
--result-limit 100
--log 'access bad-request error rate'
--behind-reverse-proxy false
--snippet-size 20
--title-weight 1000.0
--query-min-length 2
--query-syntax web
基本用法是
tools/import jsonl example.jsonl example.sqlite3
# Local server
./tinyfts --db-file example.sqlite3 --local 8080
# Server available over the network
./tinyfts --db-file example.sqlite3 --server 8080TinyFT中的默認全文搜索查詢語法類似於Web搜索引擎的語法。它可以處理以下類型的表達式。
foo搜索foo一詞。"foo bar" - 搜索短語foo bar 。foo AND bar , foo OR bar , NOT foo搜索foo和bar ,至少一個foo and bar ,以及分別沒有foo的文件。 foo AND bar與foo bar相同。操作員, AND OR或者NOT戴在所有上限上。-foo , -"foo bar" - 與NOT foo相同, NOT "foo bar" 。您可以允許用戶使用命令行選項--query-syntax fts5編寫完整的FTS5查詢。 FTS5查詢更強大,但揭示了基礎數據庫的技術細節。 (例如,列名稱。)不熟悉FTS5語法的用戶會發現它令人驚訝並陷入錯誤,因為他們沒有引用一個具有特殊含義的單詞。
TinyFTS搜索具有特定模式的SQLite數據庫表的內容。捆綁的導入tools/import可以導入序列化數據(帶有JSON對像或每行TCL字典的文本文件)和Wiki頁面從Wikit/Nikit數據庫到TinyFTS數據庫。
此示例顯示瞭如何設置搜索TCLER WIKI的備份副本。這些說明應適用於大多數Linux發行版和FreeBSD,並安裝了依賴項和git。
1。轉到https://sourceforge.net/project/showfiles.php?group_id=211498。下載並提取TCLER WIKI的最後一個Wikit數據庫快照。目前是wikit-20141112.zip 。假設您已將數據庫文件提取到~/Downloads/wikit.tkd 。
2。下載,構建和測試tinyfts。在此示例中,我們使用git獲取最新的開發版本。
git clone https://github.com/dbohdan/tinyfts
cd tinyfts
make3。從TCLER的Wiki數據庫創建一個TinyFTS搜索數據庫。存儲庫包括一個支持Wikit數據庫的導入工具。根據您的硬件,這可能需要數百個兆字節的輸入數據庫大小,最多可能需要幾分鐘。
./tools/import wikit ~ /Downloads/wikit.tkd /tmp/fts.sqlite34。從http:// localhost:8080開始tinyfts。服務器URL應在瀏覽器中自動打開。嘗試搜索。
./tinyfts --db-file /tmp/fts.sqlite3 --title ' tinyfts demo ' --local 8080--behind-reverse-proxy true 。正確的客戶端IP地址檢測是必要的,限制的速率限制取決於。請勿啟用--behind-reverse-proxy 。它將讓客戶使用標題X-Real-IP或X-Forwarded-For和Evade Rate限制自己並限制其其他人。 麻省理工學院。 Wapp是版權(C)2017-2022 D.理查德·希普(Richard Hipp),並根據簡化的BSD許可分發。 TACIT是版權(C)2015-2020 Yegor bugayenko,並根據MIT許可發行。