我正在努力让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结果......
有什么想法吗?
答案 0 :(得分:0)
这不是好变种,但必须正常工作
$ s-> addSelect(“if(in(city,'Amsterdam')或in(region,'Amsterdam')或(lat> = 10且lat< = 12),1,0)foo “);
$ s-> addFilter(“foo”,1);
我仍然试图找到一个更优雅的解决方案