Well that's a lot of code to do not very much.

Now about to repeat the exercise without using elasticsearch, it's over the top
for this use case.