Mit Aspen können Sie einen großen Korpus von Klartextdateien über den Browser durchsuchen.
Stellen Sie alle Ihre Dateien an einem Ort ein, wie ~/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
Verwenden Sie das mitgelieferte convert , das Apache Tika umrundet, um sie in Klartext umzuwandeln. Übergeben Sie es einen Dateinamen in Bezug auf Ihr Datenverzeichnis:
$ 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
Beginnen Sie mit der Zurücksetzung von Elasticsearch, um sicherzustellen, dass alles funktioniert:
$ docker-compose run aspen es-reset
Starting elasticsearch ... done
Results from DELETE: { acknowledged: true }
✓ Done.
Importieren Sie nun alle .txt -Dokumente. Das import wird versucht, den Titel des Dokuments automatisch herauszufinden:
$ 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!
Sie können import auch mit einem Verzeichnis oder Dateinamen relativ zum Datenverzeichnis ausführen. import Project Gutenberg oder import Project GutenbergDracula.txt .
Manchmal handeln Klartextdokumente seltsam. Vielleicht kann bin/import keinen Titel extrahieren oder die Suchhighlights sind ausgeschaltet. Die Datei hat möglicherweise die falschen Zeilenende oder eine dieser nervigen UTF-8-BOM-Header. Versuchen Sie, DOS2Unix in Ihren Textdateien auszuführen, um sie zu beheben.
Gehen Sie zu http: // localhost: 3000/und beginnen Sie mit der Suche!
Es ist am einfachsten, Elasticsearch über Docker zu verwenden.
Sie können Node und Garn über Homebrew auf dem Mac erhalten oder node.js v8.5 oder höher und npm install -g yarn um Garn zu erhalten.
Für Dokumentkonversation ( bin/convert ) möchten Sie:
Auf macOS können Sie brew install node tika unrtf par .
$ git clone [email protected]:statico/aspen.git
$ cd aspen
$ yarn install
Siehe Schritte 1-4 im obigen Abschnitt "Mit Docker". Kurz gesagt, rufen Sie Ihre Textdateien an einem Ort zusammen, richten Sie Elasticsearch ein und importieren Sie sie mit dem Befehl bin/import .
Aspen wird unter Verwendung von Next.js erstellt, das Knoten + ES6 + Express + React + Hot Reloading + vieles mehr ist. Einfach rennen:
$ yarn run dev
... und gehen Sie zu http: // localhost: 3000
Wenn Sie auf server.js arbeiten und automatischen Server neu starten möchten, tun Sie:
$ yarn global add nodemon
$ nodemon -w server.js -w lib -x yarn -- run dev
tree