从中心点或边界框快速“本地”搜索

时间:2012-07-26 14:48:02

标签: search heroku search-engine elasticsearch

构建本地业务目录。使用elastic search作为我们的搜索提供商并且有一些困境:

我们真正想做的是“中心点”搜索。但据我了解,真正的“中心点”搜索明显慢于“边界框”搜索。因此,我们使用围绕用户正在搜索的一般区域的“边界框”搜索。这适用于像“tacos”这样的搜索,因为此搜索总会有很多结果。边界框搜索不适用于使用不常用关键字的搜索或搜索区域中的特定业务,但位于边界框之外。

我考虑过的一些解决方案,但我不确定是否有任何好处:

  • 进行多个“边界框”搜索,第一个搜索使用较小的边界框,如果找不到或只有很少的结果,请使用较大的边界框进行另一次搜索。
  • 使用“中心点”搜索,即使速度较慢。此搜索应该大致按照距中心点的地理距离的顺序返回结果(结合弹性搜索“优先”结果的其他方式。

我发现像Yelp.com这样的网站似乎处理了这个问题。我只是不确定最好的方法是什么。

我们在Heroku服务器上运行Django。弹性搜索提供者是Found

非常感谢您的投入!

0 个答案:

没有答案