首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetGeoAnchor in SphinxQL

SetGeoAnchor in SphinxQL
EN

Stack Overflow用户
提问于 2012-02-28 02:28:48
回答 1查看 697关注 0票数 3

我试图实现全文搜索,那里的点击率返回根据用户的位置。我使用API成功地做到了这一点,现在我想使用SphinxQL做同样的事情(因为我需要组合来自几个Sphinx索引的数据):

代码语言:javascript
复制
#!/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 ..." );
EN

回答 1

Stack Overflow用户

发布于 2012-02-28 12:38:30

首先,可以在查询中执行多个索引。

代码语言:javascript
复制
my $res = $sph->Query( "... SOME QUERY ...", 'index1, index2');

否则你只需要使用GEODIST函数..。

代码语言:javascript
复制
SELECT *,GEODIST(lat, lng, 0.5894, -1.4724) AS geodist FROM ... WHERE MATCH("... SOME QUERY ...") AND geodist < 100000 ORDER BY geodist ASC
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9475563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档