Comprensión e implementación de autocompletado de jQuery con AJAX source y appendTo

A continuación se muestra mi intento de conseguirappendTo para trabajar con jQuery autocompletar con fuente AJAX.

Tengo varias preguntas, que espero que ayuden a muchos otros que tienen dificultades para entender la forma correcta de implementar el autocompletado con una fuente AJAX.

1)source: function(request, response) {...} ¿Qué hace esto? ¿Por qué es necesario?

2) que formato tienefunction(data){ response($.map (data, function(obj) { devolver los datos en? Me doy cuenta de que los datos están en formato JSON, pero ¿cuál es el punto de.map? ¿Es necesario hacer esto? ¿Hay beneficios?

3a) Al usarappendTo yrenderItem, ¿es necesario contar con lo anterior?success datos devueltos?

3b) O bien, o según los datos anteriores, ¿cómo utiliza correctamente appendTo y renderItem para cambiar el formato y la visualización de sus valores recuperados?

$(function() {
$( ".find_group_ac" ).autocomplete({
        minLength: 1,
        source: function(request, response) {
            $.ajax({
                url: "welcome/search/",
                data: { term: $(".find_group_ac").val()},
                dataType: "json",
                type: "POST",
                success: function(data){ response($.map
                        (data, function(obj) {
                            return {
                            label: obj.name + ': ' + obj.description,
                            value: obj.name,
                            id: obj.name
                };}));}
            });
        }
    }).data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
                .appendTo( ul );
        };
});

Esto puede parecer mucho para responder, pero estoy seguro de que será valioso para muchos novatos en javascript y, ciertamente, yo mismo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta