@@ -775,7 +775,7 @@ function do_search($keywords, $type, $join1 = '', $where1 = '1', $arguments1 = a
$result=db_query_temporary("SELECT i.type, i.sid, SUM(i.score * t.count) AS relevance, COUNT(*) AS matches FROM {search_index} i INNER JOIN {search_total} t ON i.word = t.word $join1 WHERE $conditions GROUP BY i.type, i.sid HAVING matches >= %d",$arguments,'temp_search_sids');
// Calculate maximum relevance, to normalize it
$normalize=db_result(db_query('SELECT MAX(relevance) FROM temp_search_sids'));
$normalize=db_result(db_query('SELECT MAX(relevance) FROM {temp_search_sids}'));
if(!$normalize){
returnarray();
}
...
...
@@ -784,14 +784,14 @@ function do_search($keywords, $type, $join1 = '', $where1 = '1', $arguments1 = a
// Second pass: only keep items that match the complicated keywords conditions (phrase search, negative keywords, ...)
$conditions='('.$query[0].')';
$arguments=array_merge($arguments2,$query[1]);
$result=db_query_temporary("SELECT i.type, i.sid, $select2 FROM temp_search_sids i INNER JOIN {search_dataset} d ON i.sid = d.sid AND i.type = d.type $join2 WHERE $conditions ORDER BY score DESC",$arguments,'temp_search_results');
if(($count=db_result(db_query('SELECT COUNT(*) FROM temp_search_results')))==0){
$result=db_query_temporary("SELECT i.type, i.sid, $select2 FROM {temp_search_sids} i INNER JOIN {search_dataset} d ON i.sid = d.sid AND i.type = d.type $join2 WHERE $conditions ORDER BY score DESC",$arguments,'temp_search_results');
if(($count=db_result(db_query('SELECT COUNT(*) FROM {temp_search_results}')))==0){
returnarray();
}
$count_query="SELECT $count";
// Do actual search query
$result=pager_query("SELECT * FROM temp_search_results",10,0,$count_query,$arguments);
$result=pager_query("SELECT * FROM {temp_search_results}",10,0,$count_query,$arguments);
@@ -775,7 +775,7 @@ function do_search($keywords, $type, $join1 = '', $where1 = '1', $arguments1 = a
$result=db_query_temporary("SELECT i.type, i.sid, SUM(i.score * t.count) AS relevance, COUNT(*) AS matches FROM {search_index} i INNER JOIN {search_total} t ON i.word = t.word $join1 WHERE $conditions GROUP BY i.type, i.sid HAVING matches >= %d",$arguments,'temp_search_sids');
// Calculate maximum relevance, to normalize it
$normalize=db_result(db_query('SELECT MAX(relevance) FROM temp_search_sids'));
$normalize=db_result(db_query('SELECT MAX(relevance) FROM {temp_search_sids}'));
if(!$normalize){
returnarray();
}
...
...
@@ -784,14 +784,14 @@ function do_search($keywords, $type, $join1 = '', $where1 = '1', $arguments1 = a
// Second pass: only keep items that match the complicated keywords conditions (phrase search, negative keywords, ...)
$conditions='('.$query[0].')';
$arguments=array_merge($arguments2,$query[1]);
$result=db_query_temporary("SELECT i.type, i.sid, $select2 FROM temp_search_sids i INNER JOIN {search_dataset} d ON i.sid = d.sid AND i.type = d.type $join2 WHERE $conditions ORDER BY score DESC",$arguments,'temp_search_results');
if(($count=db_result(db_query('SELECT COUNT(*) FROM temp_search_results')))==0){
$result=db_query_temporary("SELECT i.type, i.sid, $select2 FROM {temp_search_sids} i INNER JOIN {search_dataset} d ON i.sid = d.sid AND i.type = d.type $join2 WHERE $conditions ORDER BY score DESC",$arguments,'temp_search_results');
if(($count=db_result(db_query('SELECT COUNT(*) FROM {temp_search_results}')))==0){
returnarray();
}
$count_query="SELECT $count";
// Do actual search query
$result=pager_query("SELECT * FROM temp_search_results",10,0,$count_query,$arguments);
$result=pager_query("SELECT * FROM {temp_search_results}",10,0,$count_query,$arguments);