我正在構建一個簡單的Web應用程序,用於按名稱搜索人員。我有幾個包含不同用戶信息的集合。應用程序應該提取所有關於我正在搜索的用戶的信息。 如何搜索該名稱的多個集合? 我第一次在MapReduce,我會appriciate如果你幫我創建這個地圖減少功能或任何其他方法。使用MapReduce從多個MongoDB集合中搜索 - Java
對不起我的英文不好...
搜索輸入到這裏index.html中
<input id="input" type="text" name="fname">
<input type="submit">
然後,我得到了Results.java的servlet參數應用和結果重定向到其他JSP頁面
String by_fname = request.getParameter("fname");
MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("hospital");
DBCollection coll = db.getCollection("patients");
BasicDBObject query = new BasicDBObject("fname", by_fname);
DBCursor cursor = coll.find(query);
ArrayList<Users> userList = new ArrayList<Users>();
while (cursor.hasNext()) {
DBObject event = cursor.next();
fname = String.valueOf(event.get("fname"));
lname = String.valueOf(event.get("lname"));
Users user = new Users();
user.setFname(fname);
user.setLname(lname);
userList.add(user);
}
request.setAttribute("userList", userList);
request.getServletContext().getRequestDispatcher("/s_results.jsp").forward(request,response);
「爲該名稱搜索多個集合?」 - 你必須獨立搜索每個集合。另外,map-reduce通常用於聚合(我認爲這不是你的情況)。爲每個要收集信息的集合進行簡單查找並加入客戶端的信息。 – joao
這只是一個例子。我想讓它使用地圖縮小。或者任何其他用於並行搜索的方法 – sAs59