private void searchTweet(HTTPRequestLine hl, HTTPResponseHandler hrh) {
			HashMap<String, String> termandnum = hl.getParameters();

			/*
			 * If the parameter map is empty, that means the request contains no
			 * q
			 */
			if (termandnum.isEmpty()) {
				hrh.response(400, "Bad Request",
						"This GET request does not have q parameter!");
				logger.info("No parameter in this GET request!");
			}
			/*
			 * If the request contains no q or v, return a 400 Bad Request
			 */
			else if (!termandnum.containsKey("q")
					|| !termandnum.containsKey("v")) {
				hrh.response(400, "Bad Request",
						"Your request does not have q or v as parameters!");
				logger.info("Your request does not have q or v as parameters!");
			} else {
				/*
				 * Get the searchterm and the version number
				 */

				String search_term = termandnum.get("q");
				int search_versionNumber = Integer.valueOf(termandnum.get("v"));

				/*
				 * If data server does not have this searchterm, set the
				 * versionNum to -1 Then send a response with empty array to
				 * front end
				 */
				if (!ds_tweetsMap.containsKey(search_term)) {
					logger.info("No tweet in data server about this term!");

					JSONObject responseObject = new JSONObject();
					responseObject.put("q", search_term);
					responseObject.put("v", -1);

					JSONArray emptyArray = new JSONArray();
					responseObject.put("tweets", emptyArray);

					hrh.response(200, "OK", responseObject.toString());

				} else {
					int ds_versionNumber = ds_tweetsMap
							.getVersionNum(search_term);
					JSONArray tweetsArray = ds_tweetsMap
							.getTweetsArray(search_term);

					/*
					 * If data server contains this searchterm, and the versin
					 * num in front end is up-to-date, Then send a up-to-date
					 * response to front end
					 */
					if (ds_versionNumber == search_versionNumber) {
						hrh.response(304, "Not Modified",
								"Your version is up-to-date!");
						logger.info("Front end cache is up-to-date about this term!");
					}
					/*
					 * If the versin num in front end is not up-to-date, Then
					 * send a response with latest version number and tweets
					 * about this searchterm to front end
					 */
					else if (ds_versionNumber > search_versionNumber) {
						JSONObject responseObject = new JSONObject();
						responseObject.put("q", search_term);
						responseObject.put("v", ds_versionNumber);
						responseObject.put("tweets", tweetsArray);

						hrh.response(200, "OK", responseObject.toString());
						logger.info("Front end cache need to update about this term!");
					}
				}
			}
		}