This indexer provides methods to index in Elasticsearch the editorial content (pages, posts) that is produced with the Ghost CMS. It relies on Ghost's "Custom Integrations" feature, cf. https://ghost.org/docs/api/v2/webhooks/.
It provides two indexation strategies:
* full
* incremental (adding/updating/deleting pages or posts)
As an additional feature, it includes in the Elasticsearch index the *relations* of a given post or page to other posts, pages and datasets.
## Requirements
* A working Ghost installation
* An Admin API Key (provided by Ghost, when configuring a custom integration)
* A working Elasticsearch installation
## Implementation
The indexer is developed in Python, using the Flask framework to expose an API. The authentified access to the Ghost API requires a JWT which is generated with the [JSON Web Token JavaScript module](https://www.npmjs.com/package/jsonwebtoken)
## TODO
* see whether the JWT could be generated in Python
* understand why a `get_content` is performed despite the content being pushed when the event is fired
* implement the support for multiple languages (EN, FR, ...)