Обычный способ решить эту проблему близок к вашему 3.2: написать код, который создает документ, который вы хотите проиндексировать, из различных доступных сервисов.Обычный процесс - выборка всех товаров из каталога, а затем выборка цен при индексации.Независимо от того, хотите ли вы, чтобы в поиске по каталогу были товары, цены на которые отсутствуют, зависит от ваших бизнес-правил обслуживания.Если вы хотите ускорить процесс (получить продукт, получить цену, повторить), разверните API, чтобы получить 1000 продуктов, а затем цены на все продукты одновременно.
Нет причин, по которым вы должны удалить элемент из индекса, если у него нет цены, если вы не хотите, чтобы элементы без цен в вашем индексе.Это зависит от вас и ваших конкретных потребностей, какую информацию вам необходимо иметь перед индексацией документа.
Насколько я помню, 4.0, вероятно, будет поддерживать частичные обновления, поскольку он перемещается на новый уровень абстракции для индексафайлы, хотя я не уверен, что это сделает вашу ситуацию намного более гибкой.