Skip to main content
8 events
when toggle format what by license comment
Oct 10, 2012 at 14:31 history bounty ended hughesdan
Oct 5, 2012 at 17:44 vote accept hughesdan
Oct 5, 2012 at 17:44 comment added hughesdan Thank you. Your answers have been very helpful. +1's across the board.
Oct 5, 2012 at 17:31 comment added eulerfx Map/Reduce is more widely applicable. You could update the stats document each time a guess is made if all the status you require can be updated incrementally, without having to traverse the entire guess collection. For example, once a guess is made, you could look up the UserStats for the user and increment and guesses and correct counters and then look up the AudioStats for the audio file in the guess and do the same for that. If you wish to add new stats, you will need to first run Map/Reduce over existing data.
Oct 5, 2012 at 17:20 comment added hughesdan Also, is Map/Reduce preferable to simply incrementing the stats document each time I insert a new guess?
Oct 5, 2012 at 17:20 comment added eulerfx It seems more natural to collect stats about audio files, since there is one audio file per guess. The stats would characterize the guess accuracy for each audio file. In other words, the number of times users select the correct image for each audio file. These stats can be calculated by including the audioId as part of the Guess. Then, the emit function would specify the audioId as the key: emit(this.audioId, { guesses: 1, correct: ... });
Oct 5, 2012 at 13:39 comment added hughesdan Thanks. For clarification, how would you recommend storing the statistics related to requirement #2 in my question? I'm guessing I should first run a mapreduce on the guess documents to reduce them to something like the following user: , [{this.imageid, guessCount: 1, percentCorrect: }]. I know I butchered the syntax of the output but hopefully this conveys the idea.
Oct 4, 2012 at 23:57 history answered eulerfx CC BY-SA 3.0