Aspen vous permet de rechercher un grand corpus de fichiers en texte brut via le navigateur.
Mettez tous vos fichiers en un seul endroit, comme ~/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
Utilisez l'utilitaire convert inclus, qui enveloppe Apache Tika, pour les convertir en texte en clair. Passez-le un nom de fichier par rapport à votre répertoire de données:
$ 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
Commencez par réinitialiser Elasticsearch pour vous assurer que tout fonctionne:
$ docker-compose run aspen es-reset
Starting elasticsearch ... done
Results from DELETE: { acknowledged: true }
✓ Done.
Importez maintenant tous les documents .txt . Le script import essaiera de déterminer automatiquement le titre du document:
$ 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!
Vous pouvez également exécuter import avec un répertoire ou un nom de fichier par rapport au répertoire de données. Par exemple, import Project Gutenberg ou import Project GutenbergDracula.txt .
Parfois, les documents en texte clair agissent étrangement. Peut-être que bin/import ne peut pas extraire un titre ou peut-être que les reflets de recherche sont désactivés. Le fichier peut avoir les mauvaises terminaisons de ligne ou l'un de ces en-têtes BOM UTF-8 ennuyeux. Essayez d'exécuter Dos2Unix sur vos fichiers texte pour les réparer.
Allez sur http: // localhost: 3000 / et commencez à rechercher!
Il est plus facile d'utiliser Elasticsearch via Docker.
Vous pouvez obtenir du nœud et du fil via Homebrew sur Mac, ou vous pouvez télécharger Node.js V8.5 ou version ultérieure et npm install -g yarn pour obtenir du fil.
Pour la conversation de document ( bin/convert ), vous voudrez:
Sur macOS, vous pouvez brew install node tika unrtf par .
$ git clone [email protected]:statico/aspen.git
$ cd aspen
$ yarn install
Voir les étapes 1 à 4 dans la section "Utilisation de Docker" ci-dessus. En bref, rassemblez vos fichiers texte en un seul endroit, configurez Elasticsearch et importez-les avec la commande bin/import .
Aspen est construit à l'aide de Next.js, qui est Node + ES6 + Express + React + Rechargement chaud + beaucoup plus. Courez simplement:
$ yarn run dev
... et allez sur http: // localhost: 3000
Si vous travaillez sur server.js et souhaitez redémarrer le serveur automatique, faites:
$ yarn global add nodemon
$ nodemon -w server.js -w lib -x yarn -- run dev
tree