아스펜을 사용하면 브라우저를 통해 대형 일반 텍스트 파일을 검색 할 수 있습니다.
~/ebooks/ : 같은 모든 파일을 한 곳에 넣으십시오.
$ tree ~/ebooks
/Users/ian/ebooks
└── Project Gutenberg/
├── Beowulf.txt
├── Dracula.txt
├── Frankenstein.txt
$ docker-compose up -d
Creating network "aspen_default" with the default driver
Creating elasticsearch ... done
Creating aspen ... done
Apache Tika를 감싸는 포함 된 convert 유틸리티를 사용하여 일반 텍스트로 변환하십시오. 데이터 디렉토리와 관련된 파일 이름을 전달하십시오.
$ ls ~/ebooks
Project Gutenberg Test.docx
$ docker-compose run aspen convert Test.docx
Starting elasticsearch ... done
Test.docx doesn't exist, trying /data/Test.docx
Creating /data/Test.txt...
...
OK
$ ls ~/ebooks
Project Gutenberg Test.docx Test.txt
Elasticsearch를 재설정하여 모든 것이 작동하는지 확인하십시오.
$ docker-compose run aspen es-reset
Starting elasticsearch ... done
Results from DELETE: { acknowledged: true }
✓ Done.
이제 모든 .txt 문서를 가져 오십시오. import 스크립트는 문서 제목을 자동으로 파악하려고합니다.
$ docker-compose run aspen import
Starting elasticsearch ... done
→ Base directory is /app/public/data
▲ Ignoring non-text path: Test.docx
→ Test.txt → Test Document
→ Project Gutenberg/Beowulf.txt → The Project Gutenberg EBook of Beowulf
→ Project Gutenberg/Dracula.txt → The Project Gutenberg EBook of Dracula, by Bram Stoker
→ Project Gutenberg/Frankenstein.txt → Project Gutenberg's Frankenstein, by Mary Wollstonecraft (Godwin) Shelley
✓ Done!
데이터 디렉토리와 관련하여 디렉토리 또는 파일 이름으로 import 실행할 수도 있습니다. 예를 들어, import Project Gutenberg 또는 import Project GutenbergDracula.txt .
때로는 일반 텍스트 문서가 이상하게 행동합니다. bin/import 제목을 추출 할 수 없거나 검색 하이라이트가 꺼져있을 수 있습니다. 파일에는 잘못된 라인 엔딩이 있거나 성가신 UTF-8 BOM 헤더 중 하나가있을 수 있습니다. 텍스트 파일에서 dos2unix를 실행하여 수정하십시오.
http : // localhost : 3000/로 이동하여 검색을 시작하십시오!
Docker를 통해 Elasticsearch를 사용하는 것이 가장 쉽습니다.
Mac에서 Homebrew를 통해 노드와 원사를 얻거나 Node.js v8.5 이상을 다운로드하여 npm install -g yarn 원사를 얻을 수 있습니다.
문서 대화 ( bin/convert )의 경우 다음을 원할 것입니다.
MacOS에서는 brew install node tika unrtf par 수 있습니다.
$ git clone [email protected]:statico/aspen.git
$ cd aspen
$ yarn install
위의 "Docker 사용"섹션에서 1-4 단계를 참조하십시오. 요컨대, 텍스트 파일을 한 곳에 모아 Elasticsearch를 설정하고 bin/import 명령으로 가져 오십시오.
Aspen은 Next.js를 사용하여 구축되며 Node + ES6 + Express + React + Hot Reloading + LOTY입니다. 단순히 실행 :
$ yarn run dev
... 그리고 http : // localhost : 3000으로 이동하십시오
server.js 에서 작업하고 자동 서버 재시작을 원하는 경우 다음을 수행하십시오.
$ yarn global add nodemon
$ nodemon -w server.js -w lib -x yarn -- run dev
tree 명령