Zapytanie o mapę MongoDB Zmniejsz funkcję

Przesyłałem strumieniowo i zapisałem około 250 tys. Tweetów w MongoDB, a tutaj odzyskuję, jak widać, na podstawie słowa lub słowa kluczowego obecnego w tweecie.

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("TwitterData");
DBCollection collection = db.getCollection("publicTweets");
BasicDBObject fields = new BasicDBObject().append("tweet", 1).append("_id", 0);
BasicDBObject query = new BasicDBObject("tweet", new BasicDBObject("$regex", "autobiography"));
DBCursor cur=collection.find(query,fields);

Chciałbym użyć Map-Reduce i na podstawie słowa kluczowego skategoryzować je i przekazać do funkcji zmniejszania, aby policzyć liczbę tweetów w każdej kategorii, podobnie jak to, co można zobaczyćtutaj. W tym przykładzie liczy liczbę stron, ponieważ jest to prosta liczba. Chcę zrobić coś takiego:

"if (this.tweet.contains("kword1")) "+
"category = 'kword1 tweets'; " + 
"else if (this.tweet.contains("kword2")) " + 
"category = 'kword2 tweets'; 

a następnie użyj funkcji zmniejszania, aby uzyskać liczbę, tak jak w przykładowym programie.

Wiem, że składnia jest niepoprawna, ale to jest to, co chciałbym zrobić. Czy jest jakiś sposób na osiągnięcie tego? Dzięki!

PS: Oh, i koduję w Javie. Zatem składnia Java byłaby bardzo ceniona. Dziękuję Ci!

Wynik opublikowanego kodu wygląda mniej więcej tak:

{ "tweet" : "An autobiography is a book that reveals nothing bad about its writer except his memory."}
{ "tweet" : "I refuse to read anything that's not real the only thing I've read since biff books is Jordan's autobiography #lol"}
{ "tweet" : "well we've had the 2012 publication of Ashley's Good Books, I predict 2013 will be seeing an autobiography ;)"}

To oczywiście dotyczy wszystkich tweetów ze słowem „autobiografia”. Chciałbym użyć tego w funkcji mapy, zaklasyfikować go jako „autobiograficzny tweet” (i inne słowa kluczowe), a następnie wysłać go do funkcji zmniejszania, aby policzyć wszystko i zwrócić liczbę tweetów ze słowem w to.

Coś jak:

{"_id" : "Autobiography Tweets" , "value" : { "publicTweets" : 3.0}}
{"_id" : "Biography Tweets" , "value" : { "publicTweets" : 15.0}}

questionAnswers(2)

yourAnswerToTheQuestion