Demostración : sist2.simon987.net
URL de la comunidad: discordia
sist2 (herramienta de búsqueda incremental sencilla)
Advertencia: sist2 está en desarrollo temprano
* Ver soporte de formato
** Ver archivos de archivo
*** Ver OCR
**** Ver Reconocimiento de entidad nombrada
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
Navegue a http://localhost:8080/ para configurar sist2-admin.
Elija el motor de búsqueda (Ver comparación):
docker run -d -p 9200:9200 -e " discovery.type=single-node " elasticsearch:7.17.9
Descargue la última versión de sist2. Seleccione el archivo correspondiente a la arquitectura de su CPU y marque el binario como ejecutable con chmod +x
.
Consulte la guía de uso para conocer el uso de la línea de comandos.
Uso de ejemplo:
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
tipo de archivo | Biblioteca | Contenido | Uña del pulgar | Metadatos |
---|---|---|---|---|
pdf,xps,fb2,epub | MuPDF | texto+ocr | Sí | autor, título |
cbz, cbr | libscan | - | Sí | - |
audio/* | ffmpeg | - | Sí | etiquetas ID3 |
video/* | ffmpeg | - | Sí | título, comentario, artista |
image/* | ffmpeg | LOC | Sí | Etiquetas EXIF comunes, etiquetas GPS |
crudo, rw2, dng, cr2, crw, dcr, k25, kdc, mrw, pef, xf3, arw, sr2, srf, erf | LibRaw | No | Sí | Etiquetas EXIF comunes, etiquetas GPS |
ttf,ttc,cff,woff,fnt,otf | Tipo libre2 | - | si, bmp | Nombre y estilo |
text/plain | libscan | Sí | No | - |
html, xml | libscan | Sí | No | - |
alquitrán, zip, rar, 7z, ar... | libarchivo | Sí* | - | No |
docx, xlsx, pptx | libscan | Sí | si está incrustado | creador, modificado_por, título |
documento (MS Word 97-2003) | antipalabra | Sí | No | autor, título |
mobi, azw, azw3 | libmobi | Sí | Sí | autor, título |
wpd (Palabra Perfecta) | libwpd | Sí | No | planificado |
json, jsonl, ndjson | libscan | Sí | - | - |
* Ver archivos de archivo
sist2 escaneará los archivos almacenados en archivos comprimidos (zip, tar, 7z...) como si estuvieran directamente en el sistema de archivos. También se admite el análisis recursivo (archivos dentro de archivos).
Limitaciones :
.gif
, .mp4
con metadatos fragmentados, etc.) es limitada (consulte la opción --mem-buffer
) Puede habilitar la compatibilidad con OCR para libros electrónicos (pdf, xps, fb2, epub) o tipos de archivos de imagen con la opción --ocr-lang
en combinación con --ocr-images
y/o --ocr-ebooks
. Descargue los archivos de datos de idioma con su administrador de paquetes ( apt install tesseract-ocr-eng
) o directamente desde Github.
La imagen simon987/sist2
viene con idiomas comunes (hin, jpn, eng, fra, rus, spa, chi_sim, deu, pol) preinstalados.
Puede utilizar el separador +
para especificar varios idiomas. El nombre del idioma debe ser idéntico al archivo *.traineddata
instalado en su sistema (use chi_sim
en lugar de chi-sim
).
Ejemplos:
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+ admite el motor de búsqueda SQLite. El backend de búsqueda SQLite tiene menos funciones y un rendimiento de consulta generalmente comparable para índices de tamaño mediano, pero utiliza mucha menos memoria y es más fácil de configurar.
SQLite | búsqueda elástica | |
---|---|---|
Requiere instalación de motor de búsqueda por separado | ✓ | |
Huella de memoria | ~20MB | >500MB |
Sintaxis de consulta | fts5 | cadena_consulta |
búsqueda difusa | ✓ | |
Actualización en tiempo real del árbol de tipos de medios | ✓ | |
Etiquetado manual | ✓ | ✓ |
Guiones de usuario | ✓ | ✓ |
Desglose del tipo de medio para los resultados de búsqueda | ✓ | |
Búsqueda de incrustaciones | ✓ O(n) | ✓ O(iniciar sesión) |
sist2 v3.0.4+ admite el reconocimiento de entidades nombradas (NER). Simplemente agregue una URL de repositorio compatible a Configuración > Opciones de aprendizaje automático > Repositorios de modelos para habilitarla.
El procesamiento del texto se realiza en su navegador, no se envían datos a ningún servicio de terceros. Consulte simon987/sist2-ner-models para obtener más detalles.
URL | mantenedor | Objetivo |
---|---|---|
simon987/sist2-ner-modelos | simon987 | General |
Puedes compilar sist2 tú mismo si no quieres utilizar los binarios precompilados.
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
Instalar dependencias en tiempo de compilación
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
Instale vcpkg usando mi bifurcación: https://github.com/simon987/vcpkg
Instalar dependencias de 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