Как устроен поисковый индекс Google?
Google использует шаблон map-reduce. Это когда исходная выборка (индекс) может быть разрезана на беконечно большое число partitions. Можно резать по хешу от hostname. Это дает возможность запускать ваш поисковый запрос не на 1 хосте а сразу на 1000 hosts и потом просто выдать сортированный union первых top n релевантных результатов. Кроме того google может кешировать ответы. Это снижает нагрузку на дубли поисков. 

Этот шаблон известен. Просто google первый поставил задачу отказа от сверх-дорогих и ресурсоёмких серверов и перешел к использованию множества дешевых серверов но соединенных в поисковый grid. Кроме того файловые системы навроде hdfs дают возможность на обычных жлобских HDD делать бесконечно большую файловую систему. У этой ФС конечно есть недостатки. В частности она может быть не консистентна. Но для периодически обновляющегося текстового индекса - это норм. Типа eventual consistancy.
Где то так https://habr.com/ru/amp/post/20724/
Хотя это скорее Яндекс. 
Могу предположить что первым отрабатывает анализатор запроса потом идёт запрос в keyvalue хранилище по всем ключевикам
Потом идёт корреляция по нахождению фраз 
Потом корреляция по национальности.

По реализации ищите FTS engine.