La etapa final del proyecto consiste en construir un buscador paralelo.

Existe una máquina "broker" que recibe las consultas desde Internet y las va escribiendo en un archivo de entrada para cada procesador. El broker es un proceso residente que escucha en un puerto tcp/ip y por cada consulta que llega al socket la escribe en uno de los archivos de entrada. El archivo (procesador) se va escogiendo de manera circular entre los procesadores.

Vamos a suponer que TODAS las consultas ya están almacenadas en los archivos de entrada de cada procesador.

El buscador paralelo va a tomar lotes de Q consultas desde cada archivo y las va a procesar. Los resultados van quedando en un archivo de salida (uno por cada procesador).

La base de texto esta distribuida uniformemente entre los P procesadores.

Por cada trozo de base de datos almacenado en cada procesador se construye un índice invertido.

El algoritmo paralelo que ejecuta el buscador tiene la siguiente forma. En cada procesador, durante cada superstep, se leen Q consultas desde el archivo de entrada. Cada consulta se envía a todos los procesadores.

Cada procesador construye la lista de documentos que satisfacen la consulta considerando el índice invertido que posee cada uno. De estos, cada procesador envía los mejores K documentos al procesador que inició la consulta.

El procesador que recibe las K*P respuestas las ordena por valor de ranking y entrega como respuesta los mejores K documentos (los K de mejor ranking).