我对狮身人面像搜索很陌生,我的查询有一些问题。
我有以下配置:
sql_attr_uint = user
sql_attr_uint = category
sql_field_string = title
sql_field_string = description
查询看起来像
$sf->setMatchMode(SPH_MATCH_ANY);
$sf->setFilter("user", array("1033"));
$sf->setFilter("category", array("9"));
$sf->setFieldWeights(array("user"=>150,"category"=>50,"title"=>75,"description"=>75));
$result = $sf->query('my test query',"test");
我想查询与任何过滤器匹配的所有行,并按它们匹配的过滤器数量对它们进行排序,优先级用户 > 标题 = 描述 > 类别
基本上,我需要过滤器来加权,而不是删除不匹配的行。
谢谢