Hola:
Cada vez que llamas a tu función show, estás asignando algo nuevo, y supongo que lo que quieres es encadenarlo, así que deberías tener la variable line inicializada a cadena vacía antes de empezar el bucle, y realizar en la función show una concatenación:
function search() {
...
line = "";
...
}
function show(which,num) {
link = item[which][1] + item[which][0];
line
+= "<a href='"+link+"'>"+item[which][2]+"</a>";
line += item[which][4] + "<br>";
//document.getElementById('mostrar').innerHTML=line;
//alert (line);
return 1;
}
Saludos