Ascension Press
One of the world's largest Catholic publishers

Some readers know the verse number. Most only know the feeling.

The problem I Solved
Ascension publishes the Bible, the Catechism and a library of other documents. Their search function matched words. Type "John 1:14" and you got exactly what you asked for. Type "forgiveness" and you got every page where that word happened to appear, which is not the same as every page about it.

What I decided
Run both at once. Keyword matching and vector embeddings side by side in Elasticsearch, blended into a single ranked result. The exact reference still lands first when someone types one, and the concept search finds passages that never use the word.

No LLM on top. The obvious move was a generation layer, but a model that paraphrases scripture is a liability. I built the retrieval half of a RAG architecture and left the other half open for when they want it.

What runs today
Resultaat (aanvullen)

Elasticsearch

〰️

OpenSearch

〰️

vector databases

〰️

AWS

〰️

Elasticsearch 〰️ OpenSearch 〰️ vector databases 〰️ AWS 〰️