} echo '<?xml version="1.0" encoding="UTF-8"?' . '>'; echo '<bean id="add session">'; echo ' <param name="session" value="' . $jclic_session->session_id . '"/>'; echo '</bean>'; break; case "multiple": foreach ($beans as $bean) { if ($bean['ID'] == 'add activity') { $jclic_activity->session_id = $bean['PARAMS']['session']; $jclic_activity->activity_id = $bean['PARAMS']['num']; $jclic_activity->activity_name = $bean['ACTIVITY']['name']; $jclic_activity->num_actions = $bean['ACTIVITY']['actions']; $jclic_activity->activity_solved = $bean['ACTIVITY']['solved'] == 'true' ? 1 : 0; $jclic_activity->score = $bean['ACTIVITY']['score']; $jclic_activity->qualification = getPrecision($bean['ACTIVITY']['minActions'], $bean['ACTIVITY']['actions'], '' . $bean['ACTIVITY']['solved'], $bean['ACTIVITY']['score']); //$jclic_activity->starttime=$bean['ACTIVITY']['start']; $jclic_activity->total_time = $bean['ACTIVITY']['time']; insert_record("jclic_activities", $jclic_activity); } } jclic_update_gradebook($jclic_activity); echo '<?xml version="1.0" encoding="UTF-8"?' . '>'; echo '<bean id="add activity">'; echo ' <param name="activity" value="' . $jclic_activity->activity_id . '"/>'; echo '</bean>'; break; default: echo '<?xml version="1.0" encoding="UTF-8"?' . '>'; echo '<bean id="' . $beans[0]['ID'] . '">'; echo ' <param name="error" value="bean not defined"/>';
// Display the unique list of docs, associated with title, snippet and url $nonAggregatedList .= '<div class="searchresult"><h3>Non Aggregated Results</h3><ul>'; foreach ($nonAggregated as $key => $value) { $nonAggregatedList .= '<br /><li>' . $value['docID'] . ', Score: ' . round($value['score'], 2, PHP_ROUND_HALF_UP) . ', Engine: ' . $value['engineName'] . '<br/><a href=' . $key . '>' . $value['title'] . '</a><br />' . $value['snippet'] . '<br/><cite class="resulturl">' . $value['url'] . '</cite></li><br />'; } $nonAggregatedList .= '</ul></div>'; // Evaluation metrics for non-aggregated results list $nonAggregatedRelevantSet = getRelevantSet($nonAggregated, $google); $nonAggregatedTotalSet = count($nonAggregated); $nonAggregatedPrecision = getPrecision($nonAggregatedRelevantSet, $nonAggregatedTotalSet); $nonAggregatedRecall = getRecall($nonAggregatedRelevantSet, $googleRelevantSet); $nonAggregatedFmeasure = getFmeasure($nonAggregatedPrecision, $nonAggregatedRecall); $nonAggregatedAvgPrecision = getAvgPrecision($nonAggregated, $google); $nonAggregatedTop10Set = getTopKSet($nonAggregated, 10); $nonAggregatedTop10RelevantSet = getRelevantSet($nonAggregatedTop10Set, $google); $nonAggregatedPrecisionAt10 = getPrecision($nonAggregatedTop10RelevantSet, 10); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * For evaluation only continued: to get MAP! */ // If evaluation are created manually, ignore previous section on MAPs and start here $queries = file('lists/queries.txt'); // Display queries as links to search manually foreach ($queries as $value) { $queriesString .= "<table border='0' cellpadding='0' ><tr><td>\r\n\t\t\t<a href='http://localhost/MetaSearchEngine/search.php?RadioGroup2=" . $_GET['RadioGroup2'] . "&searchText={$value}&submit=+Search+&RadioGroup1=" . $_GET['RadioGroup1'] . "'>" . $value . "</a></tr></table>"; } /* // Create a string of all scores and copy them to a file for offline post-processing $allAvgPrecision = "\nQuery | ". $search . "\nBing | ". $bingPrecision ." | ". $bingRecall ." | ". $bingFmeasure ." | ". $bingPrecisionAt10 ." | ". $bingAvgPrecision . "\nEntireWeb | ". $entireWebPrecision ." | ". $entireWebRecall ." | ". $entireWebFmeasure ." | ". $entireWebPrecisionAt10 ." | ". $entireWebAvgPrecision .