我试图实现全文搜索,那里的点击率返回根据用户的位置。我使用API成功地做到了这一点,现在我想使用SphinxQL做同样的事情(因为我需要组合来自几个Sphinx索引的数据):
#!/usr/bin/perl
use Sphinx::Search;
my $sph = Sphinx::Search->new();
$sph->SetMatchMode(SPH_MATCH_EXTENDED);
$sph->SetSortMode(SPH_SORT_EXTENDED, '@geodist ASC');
$sph->SetGeoAnchor('lat', 'lng', 0.5894, -1.4724);
$sph->SetFilterFloatRange('@geodist', 0, 100000);
my $res = $sph->Query( "... SOME QUERY ..." );发布于 2012-02-28 12:38:30
首先,可以在查询中执行多个索引。
my $res = $sph->Query( "... SOME QUERY ...", 'index1, index2');否则你只需要使用GEODIST函数..。
SELECT *,GEODIST(lat, lng, 0.5894, -1.4724) AS geodist FROM ... WHERE MATCH("... SOME QUERY ...") AND geodist < 100000 ORDER BY geodist ASChttps://stackoverflow.com/questions/9475563
复制相似问题