매우 작은 독립형 풀 텍스트 검색 HTTP/SCGI 서버.

위와
tools/dir2jsonl 실행하려면 tdom 및 파일 (1)최근 데비안과 우분투에서 의존성을 설치하십시오
sudo apt install libsqlite3-tcl make sqlite3 tcl tcllib tdomsudo가있는 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 8080Tinyfts의 기본 전체 텍스트 검색 쿼리 구문은 웹 검색 엔진의 기본 검색 검색 쿼리 구문이 유사합니다. 다음 유형의 표현을 처리 할 수 있습니다.
foo - foo 라는 단어를 검색하십시오."foo bar" - foo bar 문구를 검색하십시오.foo AND bar , foo OR bar , NOT foo - foo 와 bar , 적어도 하나의 foo 및 bar 및 foo 없는 문서를 검색합니다. foo AND bar foo bar 와 동일합니다. 운영자 AND OR 또는 모든 캡에 있어서는 NOT .-foo , -"foo bar" - NOT "foo bar" NOT foo 와 동일합니다. 사용자가 명령 줄 옵션 인 --query-syntax fts5 사용하여 전체 FTS5 쿼리를 작성할 수 있습니다. FTS5 쿼리는 더 강력하지만 기본 데이터베이스의 기술적 세부 사항을 노출시킵니다. (예를 들어, 열 이름.) FTS5 구문에 익숙하지 않은 사용자는 특별한 의미를 가진 단어를 인용하지 않았기 때문에 놀랍고 오류가 발생합니다.
Tinyfts는 특정 스키마로 SQLITE 데이터베이스 테이블의 내용을 검색합니다. 번들 수입 도구 tools/import 직렬화 된 데이터를 가져올 수 있으며 (라인 당 하나의 JSON 객체 또는 TCL 사전이있는 텍스트 파일) Wikit/Nikit 데이터베이스에서 Tinyfts 데이터베이스로 Wiki 페이지를 가져올 수 있습니다.
이 예제는 Tcler 's Wiki의 백업 사본을 검색하는 방법을 보여줍니다. 이 지침은 대부분의 Linux 배포판과 의존성 및 GIT가 설치된 FreeBSD에서 작동해야합니다.
1. https://sourceforge.net/project/showfiles.php?group_id=211498로 이동하십시오. Tcler 's 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 주소 감지에 필요하며 속도 제한은 의존합니다. Tinyfts가 --behind-reverse-proxy 프록시 뒤에 있지 않으면 활성화 하지 마십시오 . 이를 통해 클라이언트는 헤더 X-Real-IP 또는 X-Forwarded-For 와 함께 IP를 스푸핑하고 스스로 제한하고 속도를 제한 할 수 있습니다. MIT. WAPP는 저작권 (C) 2017-2022 D. Richard Hipp이며 단순화 된 BSD 라이센스에 따라 배포됩니다. Tacit은 저작권 (C) 2015-2020 Yegor Bugayenko이며 MIT 라이센스에 따라 배포됩니다.