Demonstração : sist2.simon987.net
URL da comunidade: Discord
sist2 (ferramenta de pesquisa incremental simples)
Aviso: sist2 está em desenvolvimento inicial

* Veja suporte de formato
** Veja Arquivos arquivados
*** Veja OCR
**** Consulte Reconhecimento de Entidade Nomeada
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.pyNavegue para http://localhost:8080/ para configurar o sist2-admin.
Escolha o back-end de pesquisa (veja a comparação):
docker run -d -p 9200:9200 -e " discovery.type=single-node " elasticsearch:7.17.9 Baixe a versão mais recente do sist2. Selecione o arquivo correspondente à arquitetura da sua CPU e marque o binário como executável com chmod +x .
Consulte o guia de uso para uso da linha de comando.
Exemplo de uso:
sist2 scan ~/Documents --output ./documents.sist2sist2 index --es-url http://localhost:9200 ./documents.sist2sist2 sqlite-index --search-index ./search.sist2 ./documents.sist2sist2 web ./documents.sist2sist2 web --search-index ./search.sist2 ./documents.sist2 | Tipo de arquivo | Biblioteca | Contente | Miniatura | Metadados |
|---|---|---|---|---|
| pdf,xps,fb2,epub | MuPDF | texto+ocr | sim | autor, título |
| cbz,cbr | libscan | - | sim | - |
audio/* | ffmpeg | - | sim | Etiquetas ID3 |
video/* | ffmpeg | - | sim | título, comentário, artista |
image/* | ffmpeg | ocr | sim | Tags EXIF comuns, tags GPS |
| cru, rw2, dng, cr2, crw, dcr, k25, kdc, mrw, pef, xf3, arw, sr2, srf, erf | LibRaw | não | sim | Tags EXIF comuns, tags GPS |
| ttf,ttc,cff,woff,fnt,otf | Tipo livre2 | - | sim, bmp | Nome e estilo |
text/plain | libscan | sim | não | - |
| HTML, XML | libscan | sim | não | - |
| alcatrão, zip, rar, 7z, ar... | Biblioteca | sim* | - | não |
| docx, xlsx, pptx | libscan | sim | se incorporado | criador, modificado_por, título |
| documento (MS Word 97-2003) | antipalavra | sim | não | autor, título |
| mobi, azw, azw3 | libmobi | sim | sim | autor, título |
| wpd (WordPerfect) | libwpd | sim | não | planejado |
| json, jsonl, ndjson | libscan | sim | - | - |
* Veja Arquivos arquivados
O sist2 verificará os arquivos armazenados em arquivos compactados (zip, tar, 7z...) como se estivessem diretamente no sistema de arquivos. A verificação recursiva (arquivos dentro de arquivos) também é suportada.
Limitações :
.gif , .mp4 com metadados fragmentados etc.) é limitado (consulte a opção --mem-buffer ) Você pode ativar o suporte OCR para ebook (pdf,xps,fb2,epub) ou tipos de arquivo de imagem com a opção --ocr-lang <lang> em combinação com --ocr-images e/ou --ocr-ebooks . Baixe os arquivos de dados de idioma com seu gerenciador de pacotes ( apt install tesseract-ocr-eng ) ou diretamente do Github.
A imagem simon987/sist2 vem com idiomas comuns (hin, jpn, eng, fra, rus, spa, chi_sim, deu, pol) pré-instalados.
Você pode usar o separador + para especificar vários idiomas. O nome do idioma deve ser idêntico ao arquivo *.traineddata instalado em seu sistema (use chi_sim em vez de chi-sim ).
Exemplos:
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+ suporta back-end de pesquisa SQLite. O back-end de pesquisa SQLite tem menos recursos e desempenho de consulta geralmente comparável para índices de tamanho médio, mas usa muito menos memória e é mais fácil de configurar.
| SQLite | Elasticsearch | |
|---|---|---|
| Requer instalação separada do mecanismo de pesquisa | ✓ | |
| Pegada de memória | ~20MB | >500 MB |
| Sintaxe de consulta | fts5 | string_de_consulta |
| Pesquisa difusa | ✓ | |
| Atualização em tempo real da árvore de tipos de mídia | ✓ | |
| Marcação manual | ✓ | ✓ |
| Scripts de usuário | ✓ | ✓ |
| Detalhamento do tipo de mídia para resultados de pesquisa | ✓ | |
| Pesquisa de incorporações | ✓ SO(n) | ✓ O(logn) |
sist2 v3.0.4+ suporta reconhecimento de entidade nomeada (NER). Basta adicionar uma URL de repositório compatível em Configuração > Opções de aprendizado de máquina > Repositórios de modelo para habilitá-lo.
O processamento do texto é feito no seu navegador, nenhum dado é enviado a serviços de terceiros. Consulte simon987/sist2-ner-models para obter mais detalhes.
| URL | Mantenedor | Propósito |
|---|---|---|
| simon987/sist2-ner-models | simon987 | Em geral |

Você pode compilar o sist2 sozinho se não quiser usar os binários pré-compilados
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-linuxInstale dependências em tempo de compilação
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 nodejsInstale o vcpkg usando meu fork: https://github.com/simon987/vcpkg
Instale dependências 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]Construir
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