Para mostrar los resultados mientras escribes, ya lo estás haciendo con el evento "keyup". El problema es que estás buscando una coincidencia exacta al verificar "title === query", por lo que solo se mostrarán los resultados cuando se escriba el título completo. Para que aparezcan resultados de manera incremental, puedes buscar si el título contiene la query usando "title.includes(query)".
Además, puedes agregar el autor y la fecha de publicación de esta manera:
JavaScript:
<script>
$("#search").on("keyup", function(){
var query = $(this).val();
var url = "/feeds/posts/default?alt=json-in-script&callback=?";
$.ajax({
url: url,
dataType: "jsonp",
data: {
"q": query,
"orderBy": "updated"
},
success: function(data) {
$("#results").empty();
var entries = data.feed.entry || [];
for(var i=0; i<entries.length; i++){
var entry = entries[i];
var title = entry.title.$t;
var author = entry.author[0].name.$t;
var publishedDate = entry.published.$t;
if (title.includes(query)) {
var img = entry.media$thumbnail ? entry.media$thumbnail.url : '';
$("#results").append('<div><img src="'+ img +'"/><h2>'+ title +'</h2><p>'+ author +'</p><p>'+ publishedDate +'</p></div>');
}
}
}
});
});
</script>
Recuerda que la fecha de publicación estará en formato ISO 8601 y es posible que quieras formatearla para que sea más legible.