Если бы это было всего около 50-200 слов, я бы сохранил его в памяти в структуре данных, которая поддерживает быстрый поиск, например, в хэш-карте (я не знаю, как такая структура называется в Ruby).
Вы можете использовать опцию 2 или 3 (сохранить данные в файл или таблицу базы данных, в зависимости от того, что вам удобнее), а затем считывать данные в память при запуске приложения.Сохраните время, в которое данные были прочитаны, и перечитайте их из постоянного хранилища, если поступит запрос, и данные не обновлялись в течение X минут.
По сути, это кеш .Вполне возможно, что Ruby on Rails уже предоставляет такой механизм, но я слишком мало знаю об этом, чтобы ответить на этот вопрос.