to add to what @creece said, I think its also cleaner to just return what you need in the getInput phase and also reduced the amount of data passed (there are limits). Also, reading the data in the map/reduce phase when passed a full search gets a little weird (the format of it)