/
search.php
84 lines (73 loc) · 2.02 KB
/
search.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
include_once "pubmedHandler.php";
include_once "IEEEHandler.php";
include_once "EventsHandler.php";
include_once "NewsHandler.php";
include_once "SphinxConfig.php";
include_once "contact_search.php";
//if(isset($_POST['submit_search']) && !empty($_POST['datasources'])){
function search($qry, $ds, $num_of_records=10){
//$qry = $_POST['queryString'];
//$ds = $_POST['datasources'];
$nf = new Sphinx();
$sphinxPort = $nf->getPort();
$nf->initiateFiles();
foreach($ds as $datasource){
switch($datasource){
case "mospace":
$nf->putMOSpace();
break;
case "ieee":
$nf->putIEEE();
break;
case "pubmed":
$nf->putPubmed();
break;
case "googlescholar":
$nf->putGoogleScholar();
break;
case "news":
$nf->putNews();
break;
case "events":
$nf->putEvents();
break;
default:
break;
}
}
$nf->putIndexer();
$nf->putSearchd();
$nf->startSearchd();
$post_result_data = array();
foreach($ds as $datasource){
switch($datasource){
case "mospace":
$post_result_data = array_merge($post_result_data, array("mospace" => MOSpaceHandler($qry, $sphinxPort)));
break;
case "pubmed":
$post_result_data = array_merge($post_result_data, array("pubmed" => pubmedHandler($qry, $sphinxPort, $num_of_records)));
break;
case "ieee":
$post_result_data = array_merge($post_result_data, array("ieee" => IEEEHandler($qry, $sphinxPort, $num_of_records)));
break;
case "events":
$post_result_data = array_merge($post_result_data, array("events" => EventsHandler($qry, $sphinxPort)));
break;
case "news":
$post_result_data = array_merge($post_result_data, array("news" => NewsHandler($qry, $sphinxPort)));
break;
default:
break;
}
}
$post_result_data = array_merge($post_result_data, array("contacts" => ContactHandler($qry, $sphinxPort)));
//echo "<pre>";
//print_r(json_encode($post_result_data));
//echo "</pre>";
$nf->stopSearchd();
$nf->deleteSphinxFiles();
$nf->releasePort();
unset($nf);
return $post_result_data;
}