Вопрос: Redis vs Elasticsearch vs Sphinx для хранения данных и поиск по ним?

Лучший ответ:
Мммм, какой классный холивар, давайте я вставлю свои 5 копеек. Сначала прелюдия:
Redis:
это кэш с парой-тройкой фич. Не предназначен для хранения и поиска данных как класс

Elasticsearch, Sphinx:
Два принципиально разных поисковых движка. Хорошо делают свою работу, но не предназначены для хранения данных, только для хранения поисковых индексов.

1. Хранение данных каталога с быстрым доступом
Поскольку ни одна их указанных систем не является базой данных стоит задуматься о другом виде баз данных. В зависимости от того что выберете то и масштабировать придется по-разному

2. Поиске по информации, в особенности русскими названиями-запросами

Это умеет сегодня любой поисковый движок

3. Простота в использовании: синтаксис запросов,  документация
Документация есть у всех адекватных поисковых машин, синтаксис везде достаточно простой

4. Наименьшая нагрузка на "железо"
А вот тут начинаем смеяться. Если мы говорим о поиске то первое правило - все выделенные ресурсы что вы выделите будут съедены. Даже если у вас 100 товаров по 2кб. Память будет съедена первой, потом получит свою порцию и процессор

5. Отказоустойчивость
Это не про поиск, а про архитектуру, сеть, сервера, и все в таком духе. Если что то горизонтальное масштабирование поисковых машин это боль - все хорошо пока не сломалось и там очень часто кластер не восстановись

6. Безопасность
Опять не про поисковые машины. Есть 3 части: encryption in transit (ssl), encryption at rest (AES), auth (зависит от движка). В принципе все и так поддерживают сегодня

7. Масштабирование
И снова не про поиск, а про архитектуру. Вертикально масштабировать проще всего в облаках и дорого, горизонтально масштабировать - больно

Худший ответ:
DISCLAIMER: сотрудник Manticore
---------------------------------------------
Посмотрите на Manticore Search (форк Sphinx). 

1. Хранение данных каталога с быстрым доступом
Да, хранение есть по дефолту:
➜  ~ docker run --name manticore --rm -d manticoresearch/manticore && \
docker exec -it manticore mysql && \
docker stop manticore

992d3e61b7949f82c16b472f4947c81fee58f2a720aa5bbba4fe478383583661
MySQL [(none)]> create table f(name text, color string);
MySQL [(none)]> insert into f(name,color) values('Something good', 'red');
MySQL [(none)]> select highlight() from f where match('good');
+-----------------------+
| highlight()           |
+-----------------------+
| Something <b>good</b> |
+-----------------------+
MySQL [(none)]>

2. Поиске по информации, в особенности русскими названиями-запросами
Всё, как в Sphinx, только charset_table не нужно писать. Дефолта обычно достаточно для всех языков. 

3. Простота в использовании: синтаксис запросов, документация
Дока тут https://docs.manticoresearch.com/
Интерактивные курсы здесь https://play.manticoresearch.com/ 
В частности про синтаксис запросов https://play.manticoresearch.com/fulltextintro/

4. Наименьшая нагрузка на "железо"
Чуть лучше, чем в Sphinx https://manticoresearch.com/2019/05/14/benchmark_m...

5. Отказоустойчивость
Есть репликация https://play.manticoresearch.com/replication/

6. Безопасность
Есть поддержка https для JSON-протокола https://play.manticoresearch.com/https/

7. Масштабирование
Как в Sphinx