非常小的独立全文搜索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许可发行。