Collections functions
Encryption functions
General functions
Theme permission functions
Resource functions

suggest_refinement()

Parameters

ColumnTypeDefaultDescription
$refs
$search

Location

include/search_functions.php lines 20 to 37

Definition

 
function suggest_refinement($refs,$search)
    {
    
# Given an array of resource references ($refs) and the original
    # search query ($search), produce a list of suggested search refinements to 
    # reduce the result set intelligently.
    
$in=join(",",$refs);
    
$suggest=array();
    
# find common keywords
    
$refine=sql_query("SELECT k.keyword,count(*) c FROM resource_keyword r join keyword k on r.keyword=k.ref AND r.resource IN ($in) AND length(k.keyword)>=3 AND length(k.keyword)<=15 AND k.keyword NOT LIKE '%0%' AND k.keyword NOT LIKE '%1%' AND k.keyword NOT LIKE '%2%' AND k.keyword NOT LIKE '%3%' AND k.keyword NOT LIKE '%4%' AND k.keyword NOT LIKE '%5%' AND k.keyword NOT LIKE '%6%' AND k.keyword NOT LIKE '%7%' AND k.keyword NOT LIKE '%8%' AND k.keyword NOT LIKE '%9%' GROUP BY k.keyword ORDER BY c DESC LIMIT 5");
    for (
$n=0;$n<count($refine);$n++)
        {
        if (
strpos($search,$refine[$n]["keyword"])===false)
            {
            
$suggest[]=$search " " $refine[$n]["keyword"];
            }
        }
    return 
$suggest;
    }

This article was last updated 15th July 2020 05:35 Europe/London time based on the source file dated 7th July 2020 15:22 Europe/London time.