演示:sist2.simon987.net
社区网址: Discord
sist2(简单的增量搜索工具)
警告:sist2 正处于早期开发阶段
* 查看格式支持
** 查看存档文件
*** 参见 OCR
**** 请参阅命名实体识别
version : " 3 "
services :
elasticsearch :
image : elasticsearch:7.17.9
restart : unless-stopped
volumes :
# This directory must have 1000:1000 permissions (or update PUID & PGID below)
- /data/sist2-es-data/:/usr/share/elasticsearch/data
environment :
- " discovery.type=single-node "
- " ES_JAVA_OPTS=-Xms2g -Xmx2g "
- " PUID=1000 "
- " PGID=1000 "
sist2-admin :
image : simon987/sist2:3.4.2-x64-linux
restart : unless-stopped
volumes :
- /data/sist2-admin-data/:/sist2-admin/
- /:/host
ports :
- 4090:4090
# NOTE: Don't expose this port publicly!
- 8080:8080
working_dir : /root/sist2-admin/
entrypoint : python3
command :
- /root/sist2-admin/sist2_admin/app.py
导航到 http://localhost:8080/ 以配置 sist2-admin。
选择搜索后端(查看比较):
docker run -d -p 9200:9200 -e " discovery.type=single-node " elasticsearch:7.17.9
下载最新的 sist2 版本。选择与您的 CPU 架构相对应的文件,并使用chmod +x
将二进制文件标记为可执行文件。
命令行使用请参见使用指南。
用法示例:
sist2 scan ~/Documents --output ./documents.sist2
sist2 index --es-url http://localhost:9200 ./documents.sist2
sist2 sqlite-index --search-index ./search.sist2 ./documents.sist2
sist2 web ./documents.sist2
sist2 web --search-index ./search.sist2 ./documents.sist2
文件类型 | 图书馆 | 内容 | 缩略图 | 元数据 |
---|---|---|---|---|
pdf,xps,fb2,epub | 穆PDF | 文本+OCR | 是的 | 作者、标题 |
CBZ,CBR | 库扫描 | - | 是的 | - |
audio/* | ffmpeg | - | 是的 | ID3标签 |
video/* | ffmpeg | - | 是的 | 标题、评论、艺术家 |
image/* | ffmpeg | 光学字符识别 | 是的 | 常见的EXIF标签、GPS标签 |
原始、rw2、dng、cr2、crw、dcr、k25、kdc、mrw、pef、xf3、arw、sr2、srf、erf | 原始库 | 不 | 是的 | 常见的EXIF标签、GPS标签 |
ttf、ttc、cff、woff、fnt、otf | 自由打字2 | - | 是的, bmp | 名称及款式 |
text/plain | 库扫描 | 是的 | 不 | - |
html、xml | 库扫描 | 是的 | 不 | - |
tar、zip、rar、7z、ar ... | 图书馆档案馆 | 是的* | - | 不 |
docx、xlsx、pptx | 库扫描 | 是的 | 如果嵌入 | 创建者、修改者、标题 |
文档(MS Word 97-2003) | 反词 | 是的 | 不 | 作者、标题 |
手机、azw、azw3 | libmobi | 是的 | 是的 | 作者、标题 |
wpd(WordPerfect) | 库wpd | 是的 | 不 | 计划 |
json、jsonl、ndjson | 库扫描 | 是的 | - | - |
*请参阅存档文件
sist2将扫描存储在存档文件(zip、tar、7z...)中的文件,就像它们直接位于文件系统中一样。还支持递归(档案内的档案)扫描。
限制:
.gif
、 .mp4
带碎片元数据等)的支持是有限的(请参阅--mem-buffer
选项)您可以使用--ocr-lang
选项结合--ocr-images
和/或--ocr-ebooks
启用对电子书(pdf、xps、fb2、epub)或图像文件类型的 OCR 支持。使用包管理器 ( apt install tesseract-ocr-eng
) 或直接从 Github 下载语言数据文件。
simon987/sist2
映像预装了常用语言(hin、jpn、eng、fra、rus、spa、chi_sim、deu、pol)。
您可以使用+
分隔符指定多种语言。语言名称必须与系统上安装的*.traineddata
文件相同(使用chi_sim
而不是chi-sim
)。
示例:
sist2 scan --ocr-ebooks --ocr-lang jpn ~ /Books/Manga/
sist2 scan --ocr-images --ocr-lang eng ~ /Images/Screenshots/
sist2 scan --ocr-ebooks --ocr-images --ocr-lang eng+chi_sim ~ /Chinese-Bilingual/
sist2 v3.0.7+ 支持 SQLite 搜索后端。 SQLite 搜索后端的功能较少,对于中等大小的索引来说,查询性能通常相当,但它使用的内存少得多,并且更容易设置。
SQLite | 弹性搜索 | |
---|---|---|
需要单独安装搜索引擎 | ✓ | |
内存占用 | 〜20MB | >500MB |
查询语法 | fts5 | 查询字符串 |
模糊搜索 | ✓ | |
媒体类型树实时更新 | ✓ | |
手动标记 | ✓ | ✓ |
用户脚本 | ✓ | ✓ |
搜索结果的媒体类型细分 | ✓ | |
嵌入搜索 | ✓ O(n) | ✓ O(logn) |
sist2 v3.0.4+ 支持命名实体识别 (NER)。只需将受支持的存储库 URL 添加到配置>机器学习选项>模型存储库即可启用它。
文本处理在您的浏览器中完成,不会将数据发送到任何第三方服务。有关更多详细信息,请参阅 simon987/sist2-ner-models。
网址 | 维护者 | 目的 |
---|---|---|
simon987/sist2-ner-模型 | 西蒙987 | 一般的 |
如果你不想使用预编译的二进制文件,你可以自己编译sist2
git clone --recursive https://github.com/simon987/sist2/
cd sist2
docker build . -t my-sist2-image
# Copy sist2 executable from docker image
docker run --rm --entrypoint cat my-sist2-image /root/sist2 > sist2-x64-linux
安装编译时依赖项
apt install gcc g++ python3 yasm ragel automake autotools-dev wget libtool libssl-dev curl zip unzip tar xorg-dev libglu1-mesa-dev libxcursor-dev libxml2-dev libxinerama-dev gettext nasm git nodejs
使用我的 fork 安装 vcpkg:https://github.com/simon987/vcpkg
安装vcpkg依赖项
vcpkg install openblas curl[core,openssl] sqlite3[core,fts5,json1] cpp-jwt pcre cjson brotli libarchive[core,bzip2,libxml2,lz4,lzma,lzo] pthread tesseract libxml2 libmupdf[ocr] gtest mongoose libmagic libraw gumbo ffmpeg[core,avcodec,avformat,swscale,swresample,webp,opus,mp3lame,vpx,zlib]
建造
git clone --recursive https://github.com/simon987/sist2/
(cd sist2-vue ; npm install ; npm run build)
(cd sist2-admin/frontend ; npm install ; npm run build)
cmake -DSIST_DEBUG=off -DCMAKE_TOOLCHAIN_FILE= < VCPKG_ROOT > /scripts/buildsystems/vcpkg.cmake .
make