Используйте некоторый идентификатор в сохраненных таблицах поиска, чтобы разбить задачи на количество компьютеров, выделенных для этого.
разделяй и властвуй , обрабатывая разделы поиска с рефакторингом для множества машин, каждый из которых выполняет определенный раздел задач.
Каждый скрипт может сделать
SELECT * FROM saved_search_tbl WHERE ssid IN CALCRANGE(searchid, node_id)
Где INRANGE - некоторая логика разделения, основанная на объеме работы и номере узла машины. Когда приходят новые поиски, вы связываете баланс нагрузки их между машинами, назначая первичные и вторичные вычислительные узлы.
Несколько идей, надеюсь, они помогут!
удачи