Запрос в MongoDB Map Reduce Function

Я отправил и сохранил около 250 тыс. Твитов в MongoDB, и здесь, как вы можете видеть, я извлекаю их, основываясь на слове или ключевом слове, представленном в твите.

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);

То, что я хотел бы сделать, это использовать Map-Reduce и на основе ключевого слова, классифицировать его и передать его функции Reduction для подсчета количества твитов в каждой категории, вроде того, что вы видитеВот, В этом примере он считает количество страниц, поскольку это простое число. Я хочу сделать что-то вроде:

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

а затем используйте функцию Reduce, чтобы получить счетчик, как в примере программы.

Я знаю, что синтаксис неправильный, но это то, что я хотел бы сделать. Есть ли способ достичь этого? Спасибо!

PS: О, и я пишу на Java. Так что синтаксис Java будет высоко оценен. Спасибо!

Вывод опубликованного кода выглядит примерно так:

{ "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 ;)"}

Это, конечно, для всех твитов со словом «автобиография». Я хотел бы использовать это в функции карты, классифицировать как «твит с автобиографией» (и другие ключевые слова тоже), а затем отправить его в функцию сокращения для подсчета всего и возврата количества твитов со словом в Это.

Что-то вроде:

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

Ответы на вопрос(2)

Ваш ответ на вопрос