Jekyll is a static site generator written in Ruby. Jekyll supports a plugin model that Searchyll uses to read your site’s content and then index it into an Elasticsearch cluster.
In this guide, we are going to use this feature to tell Jekyll to index all of the content into a configured instance of Elasticsearch.
First Steps
In order to make use of this documentation, you will need Jekyll installed and configured on your system.
- Make sure you have Jekyll installed. This guide assumes you already have Jekyll installed and configured on your system. Visit the Jekyll Documentation to get started.
- Spin up a Bonsai Elasticsearch Cluster. This guide will use a Bonsai cluster as the Elasticsearch backend. Guides are available for setting up a cluster through bonsai.io or Heroku.
Configure Jekyll to output to Bonsai Elasticsearch
Jekyll’s configuration systems live in a file called `_config` by default. Add the following snippet to the file.
elasticsearch: url: "https://:@my-awesome-cluster-1234.us-east-1.bonsai.io" index_name: jekyll-posts plugins: - searchyll
We also need to add the gem `searchyll`
# Manually add the Searchyll gem into your Gemfile bundle install
Push the Data Into Elasticsearch
To get the site's data into Elasticsearch, you can load it by simply running the Jekyll build command.
jekyll build
You should now be able to see your data in the Elasticsearch cluster:
$ curl -XGET "https://:@my-awesome-cluster-1234.us-east-1.bonsai.io/_search" {"took":1,"timed_out":false,"_shards":{"total":2,"successful":2,"failed":0},"hits":{"total":1,"max_score":1.0,"hits":[{"_index":"hugo","_type":"doc","_id":...