На примере запроса "blue sky" поисковый индекс выдает все документы по слову blue и по слову sky. Дальше мы можем просто найти из этих документов одинаковые, и это и будут те документы на которых есть фраза blue sky.
нет. Будут содержащие одновременно и blue, и sky. Но не лишь заданную фразу: blue sky.
Создавайте "дерево" связей всех слов (вектора следования) и ищите нужные "цепочки" (фразы) в этом "дереве" с любым максимальным "расстоянием".
При импорте нового документа - дополняйте/обновляйте "дерево" связей.