sphinx搜索查询文本+浮点数

时间:2014-12-27 22:40:21

标签: php search sphinx floating

我正在努力让sphinx搜索为我的查询工作:

((@city "^Amsterdam" | @regio "^Amsterdam$")  | (floatrange=lat,10,12))

使用php API过滤结果时效果很好:

$s->SetFilterFloatRange('lat', 10, 12)

但问题是我需要OR条件。我的来源看起来像这样

sql_field_string = title
sql_field_string = city
sql_field_string = regio
sql_attr_float = lat
sql_attr_float = lng

如果我尝试

  # search floatrange=lat,10,12

我也得到0结果......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这不是好变种,但必须正常工作

$ s-> addSelect(“if(in(city,'Amsterdam')或in(region,'Amsterdam')或(lat> = 10且lat< = 12),1,0)foo “);

$ s-> addFilter(“foo”,1);

我仍然试图找到一个更优雅的解决方案