Смотря что с чем кушать. Можно и elasticsearch в качестве nosql хранилища использовать, как я делаю. Мы же, я надеюсь, подбираем не просто абстрактного коня в вакуме, а нечто, что поможет решить нам задачу.
Вот с описания задачи в вопросе я бы и начал.
Как пример:
- нужно много искать по разным критериям, типа товаров в магазине, желательно с языковым поиском, документы небольшие и не ветвистые - elasticsearch
- нужно искать непонятно что в развесистых документах, языковой и полнотекстовый поиск не сильно нужен, но нужно вычислять поля в зависимости от поиска - mongodb, как пример база расписаний поездов и их движения по направлениям.
-нужно искать связанную информацию типа связей между людьми, типа семи рукопожатий - node4j например.
Ну и так далее, для каждой затычки есть хитрый штопор.