php api中第二个id的Sphinx过滤器
几个星期以来我一直面临一个问题,我不能用第二个id过滤我的搜索结果 这是我的消息来源php api中第二个id的Sphinx过滤器,php,filter,sphinx,Php,Filter,Sphinx,几个星期以来我一直面临一个问题,我不能用第二个id过滤我的搜索结果 这是我的消息来源 source src1 { type = mysql sql_host = **** sql_user = **** sql_pass = **** sql_db = **** sql_port = 3306 # optional, default is 3306 sql_query_range = SELECT MIN(id),MAX(id) FROM *** sql_range_step = 100000
source src1
{
type = mysql
sql_host = ****
sql_user = ****
sql_pass = ****
sql_db = ****
sql_port = 3306 # optional, default is 3306
sql_query_range = SELECT MIN(id),MAX(id) FROM ***
sql_range_step = 100000
sql_query = \
SELECT id,sid,nume,durata,hits, UNIX_TIMESTAMP(data) AS data \
FROM *** WHERE id>=$start AND id<=$end AND img_down='1' AND cat='0'
sql_attr_float = sid
sql_attr_float = durata
sql_attr_float = hits
sql_attr_float = data
}
因此,每当我在SphinxTools中运行脚本时,都会出现以下错误消息:
/* error=index test1: unsupported filter type 'intvalues' on float column */
因此,我尝试了$i->setFilterFloatRange
,但后来我变得一事无成,也尝试了$i->SetFilterRange
,但什么都没有发生,我的意思是我没有错误消息,只有0个结果
谢谢无需将所有字段索引为浮动。我猜是id,sid,最可能的命中率也是整数字段
sql_attr_uint = sid
sql_attr_uint = durata
sql_attr_uint = hits
sql_attr_uint = data
定义为整数字段。通过这种方式过滤应该会更好这可能是因为您已经将属性定义为float,但$array包含整数吗?也许,您可以帮助我,如何将atribute定义为整数?我是斯芬克斯的新人。。。
sql_attr_uint = sid
sql_attr_uint = durata
sql_attr_uint = hits
sql_attr_uint = data