데모 : sist2.simon987.net
커뮤니티 URL: 디스코드
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
sist2-admin을 구성하려면 http://localhost:8080/으로 이동하세요.
검색 백엔드 선택(비교 보기):
docker run -d -p 9200:9200 -e " discovery.type=single-node " elasticsearch:7.17.9
최신 sis2 릴리스를 다운로드하세요. 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 | MuPDF | 텍스트+OCR | 예 | 저자, 제목 |
CBZ,CBR | libscan | - | 예 | - |
audio/* | ffmpeg | - | 예 | ID3 태그 |
video/* | ffmpeg | - | 예 | 제목, 댓글, 아티스트 |
image/* | ffmpeg | 오크 | 예 | 일반적인 EXIF 태그, GPS 태그 |
원시, rw2, dng, cr2, crw, dcr, k25, kdc, mrw, pef, xf3, arw, sr2, srf, erf | LibRaw | 아니요 | 예 | 일반적인 EXIF 태그, GPS 태그 |
ttf,ttc,cff,woff,fnt,otf | 프리타입2 | - | 응, bmp | 이름 및 스타일 |
text/plain | libscan | 예 | 아니요 | - |
HTML, XML | libscan | 예 | 아니요 | - |
타르, zip, rar, 7z, ar ... | 라이브러리 아카이브 | 예* | - | 아니요 |
docx, xlsx, pptx | libscan | 예 | 내장된 경우 | 작성자, 수정한 사람, 제목 |
문서(MS Word 97-2003) | 반대말 | 예 | 아니요 | 저자, 제목 |
모비, azw, azw3 | libmobi | 예 | 예 | 저자, 제목 |
wpd (워드퍼펙트) | libwpd | 예 | 아니요 | 계획된 |
json, jsonl, ndjson | libscan | 예 | - | - |
* 아카이브 파일 보기
sist2는 아카이브 파일(zip, tar, 7z...)에 저장된 파일을 마치 파일 시스템에 직접 있는 것처럼 검사합니다. 재귀(아카이브 내부의 아카이브) 스캔도 지원됩니다.
제한 사항 :
.gif
, 조각난 메타데이터가 포함된 .mp4
등)이 있는 미디어 파일 구문 분석 지원이 제한됩니다( --mem-buffer
옵션 참조) --ocr-images
및/또는 --ocr-ebooks
와 함께 --ocr-lang
옵션을 사용하여 전자책(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(로그인) |
sist2 v3.0.4+는 명명된 엔터티 인식(NER)을 지원합니다. 지원되는 리포지토리 URL을 구성 > 기계 학습 옵션 > 모델 리포지토리 에 추가하면 활성화됩니다.
텍스트 처리는 브라우저에서 수행되며 데이터는 제3자 서비스로 전송되지 않습니다. 자세한 내용은 simon987/sist2-ner-models를 참조하세요.
URL | 유지관리자 | 목적 |
---|---|---|
simon987/sist2-ner-models | 사이먼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
내 포크를 사용하여 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