I've mostly used Jakes fakenames-app for demos, but I've got tired of cleaning out design-elements to make it lean bytewise.
Run java-agent generateDiscworldCharaters to make documents. Currently set to 500 documents. No uniqueness check.
I use four arrays, first-name/title, last-name/"the Something", guild/company, address/country. Math.random() and a loop to create documents.
>> Discworld name generator