Aspen позволяет искать в большом корпусе простых текстовых файлов через браузер.
Поместите все ваши файлы в одном месте, например, ~/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
Используйте включенную convert , которая завершает Apache Tika, чтобы преобразовать их в открытый текст. Передайте это имя файла относительно вашего каталога данных:
$ 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/и начните поиск!
Легче всего использовать Elasticsearch через Docker.
Вы можете получить узел и пряжу через Homebrew на Mac, или вы можете скачать 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
См. Шаги 1-4 в разделе «Использование Docker». Короче говоря, соберите ваши текстовые файлы вместе в одном месте, настройте Elasticsearch и импортируйте их с помощью команды bin/import .
Aspen строится с использованием next.js, который является Node + ES6 + Express + React + Hot Reloading + гораздо больше. Просто беги:
$ yarn run dev
... и перейти к http: // localhost: 3000
Если вы работаете на server.js и хотите автоматический перезапуск сервера, сделайте:
$ yarn global add nodemon
$ nodemon -w server.js -w lib -x yarn -- run dev
tree команда