Ma présentation sur ElasticSearch à l'Apéro Web Nancy du 25 septembre 2014 : slides, jeu de données et démos

Thomas Jost 48eab06d4e Commit initial 2 years ago
brewerydb @ 8fe9dafb86 48eab06d4e Commit initial 2 years ago
dataset 48eab06d4e Commit initial 2 years ago
demos 48eab06d4e Commit initial 2 years ago
python-google-places @ fc2edb6d15 48eab06d4e Commit initial 2 years ago
slides 48eab06d4e Commit initial 2 years ago
.gitignore 48eab06d4e Commit initial 2 years ago
.gitmodules 48eab06d4e Commit initial 2 years ago
README.md 48eab06d4e Commit initial 2 years ago
brewerydb.py 48eab06d4e Commit initial 2 years ago
dataset_to_elasticsearch.py 48eab06d4e Commit initial 2 years ago
demo 48eab06d4e Commit initial 2 years ago
fetch_bars.py 48eab06d4e Commit initial 2 years ago
fetch_bieres.py 48eab06d4e Commit initial 2 years ago
fetch_brasseries.py 48eab06d4e Commit initial 2 years ago
googleplaces 48eab06d4e Commit initial 2 years ago
liste-demos.txt 48eab06d4e Commit initial 2 years ago
requirements.txt 48eab06d4e Commit initial 2 years ago

README.md

Démo ElasticSearch à l'Apéro Web Nancy 25/09/2014

Dans ce dossier, vous trouverez…

  • le jeu de données de démo dans le dossier dataset
  • les slides (reveal.js) dans le dossier slides
  • des scripts pour créer le jeu de données en utilisant les API Google Places et BreweryDB: fetch_bars.py, fetch_brasseries.py et fetch_bieres.py
  • un script pour indexer le jeu de données dans ElasticSearch : dataset_to_elasticsearch.py

Indexation

Pour lancer l'indexation :

  • installez ElasticSearch
  • installez le plugin ICU pour ElasticSearch :

    $ bin/plugin -install elasticsearch/elasticsearch-analysis-icu/2.3.0
    

    (Le chemin vers l'exécutable "plugin" dépend de votre OS et distribution, et la version du plugin à installer dépend de votre version d'ES : 2.3.0 pour ES 1.3. Pour plus d'informations, consultez la page GitHub de l'analyseur ICU).

  • redémarrez ElasticSearch (obligatoire après avoir installé des plugins ES !)

  • créez un virtualenv (Python 2) et activez-le :

    $ virtualenv2 /path/to/my/venv
    $ source /path/to/my/venv/bin/activate
    

  • installez les dépéndances :

    $ git submodule init && git submodule update
    $ pip install -r requirements.txt`
    

  • lancez le script d'indexation :

    $ ./dataset_to_elasticsearch.py
    

  • Démos

    La liste des démos, avec une description (très) sommaire, est include dans le fichier liste-demos.txt (je sais, c'est super original). Les fichiers eux-mêmes (requêtes sous forme de dictionnaires JSON) sont dans le dossier demos, et pour les lancer et les afficher correctement le plus simple est d'utiliser le script demo. C'est un script zsh qui utilise httpie, une alternative user-friendly à cURL qui est particulièrement pratique pour travailler avec des API REST et du JSON.

    httpie est inclus dans le requirements.txt, donc si vous avez suivi la procédure d'indexation de la partie précédente, il devrait être accessible depuis le virtualenv.

    Pour lancer les démos, utilisez simplement ./demo 01.

    Dataset

    Si vous voulez recréer le dataset, il faudra d'abord vous créer des clefs d'API Google Places et BreweryDB. Ajoutez ensuite ces clefs dans les fichiers correspondants :

    • Google Places: fetch_bars.py
    • BreweryDB: fetch_bieres.py et fetch_brasseries.py

    Vous pouvez ensuite lancer les scripts (dans le virtualenv).

    Contact

    Si vous avez des questions, n'hésitez pas à me contacter par mail ou sur Twitter (@Schnouki).

    Si Findspire vous intéresse, contactez-moi sur mon adresse pro ;)