问题描述
- sphinx根据SetGeoAnchor的范围查找为什么一只返回false,求大神门的帮助 !
-
$long=(float)$long;
$lat=(float)$lat;
$radius = (float) 10000.0 * 1.61; //搜索10公里以内的地点
/****引入文件*****/
require('./sphinxapi.php');
//实例化
$sphinx=new SphinxClient();
$sphinx->SetServer('localhost',9312);$sphinx->SetArrayResult(true);
//设置匹配模式
$sphinx->SetMatchMode(SPH_MATCH_ANY);
//取多少个
$sphinx->SetLimits(0, 514);
//角度转换成弧度
$a=$sphinx->SetGeoAnchor('latitude','longitude',(float)deg2rad($lat),(float)deg2rad($long));//var_dump($a);
// 按距离正向排序
$sphinx->SetSortMode(SPH_SORT_EXTENDED, '@geodist asc');// 过滤掉大于10公里的地点
$sphinx->SetFilterFloatRange('@geodist', 0.0, $radius);//链接服务器
$keyword='店铺';
$ret=$sphinx->Query($keyword,'*');
解决方案
http://blog.sina.com.cn/s/blog_3f1a25310100wrlj.html
时间: 2024-11-16 09:21:35