public double getNetScore(Map<String,Map<String, Double>> tfs, Query q, Map<String,Double> tfQuery,Document d)
	{
		double score = 0.0;
		//For each term
		for (String term : q.words){
			//Weight each field
			double W = 0.0;
			for (String field : this.TFTYPES){
				if (tfs.get(field).containsKey(term)){
					//Get field parameter
					if (field.equals("url")){
						W += urlweight*tfs.get(field).get(term);
					} else if (field.equals("header")){
						W += headerweight*tfs.get(field).get(term);
					} else if (field.equals("body")){
						W += bodyweight*tfs.get(field).get(term);
					} else if (field.equals("title")){
						W += titleweight*tfs.get(field).get(term);
					} else if (field.equals("anchor")){
						W += anchorweight*tfs.get(field).get(term);
					}
				}
			}
			//Score the term
			score += W/(k1+W)*tfQuery.get(term)+pageRankLambda*pagerankScores.get(d);
		}
		return score;
	}