Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search “快速”;“本地”;从中心点或边界框进行搜索_Search_Heroku_Search Engine_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Search,Heroku,Search Engine,elasticsearch" /> elasticsearch,Search,Heroku,Search Engine,elasticsearch" />

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

Search “快速”;“本地”;从中心点或边界框进行搜索,search,heroku,search-engine,elasticsearch,Search,Heroku,Search Engine,elasticsearch,构建本地业务目录。作为我们的搜索提供商使用时,会遇到一些难题: 我们真正想做的是“中心点”搜索。但据我所知,真正的“中心点”搜索要比“边界框”搜索慢得多。因此,我们在用户搜索的一般区域周围使用“边界框”搜索。这对于像“玉米卷”这样的搜索非常有效,因为这个搜索总是有很多结果。边界框搜索对于使用不太常见的关键字的搜索或对位于该区域但位于边界框之外的特定业务的搜索不起作用 我已经考虑过一些解决方案,但我不确定是否有好的: 执行多个“边界框”搜索,第一个搜索使用较小的边界框,如果未找到结果或结果很少,

构建本地业务目录。作为我们的搜索提供商使用时,会遇到一些难题:

我们真正想做的是“中心点”搜索。但据我所知,真正的“中心点”搜索要比“边界框”搜索慢得多。因此,我们在用户搜索的一般区域周围使用“边界框”搜索。这对于像“玉米卷”这样的搜索非常有效,因为这个搜索总是有很多结果。边界框搜索对于使用不太常见的关键字的搜索或对位于该区域但位于边界框之外的特定业务的搜索不起作用

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

  • 执行多个“边界框”搜索,第一个搜索使用较小的边界框,如果未找到结果或结果很少,则使用较大的边界框执行另一个搜索
  • 使用“中心点”搜索,即使搜索速度较慢。此搜索应按距离中心点的地理距离大致返回结果(结合弹性搜索“优先”结果的其他方式)
我看到像这样的网站似乎已经解决了这个问题。我只是不确定什么是最好的解决方法

我们正在Heroku服务器上运行Django。我们的弹性搜索提供程序是


非常感谢您的意见!

您是否对自己的数据运行了一些基准测试,比较了这两种方法?在您的情况下,性能可能可以接受,甚至可以忽略不计?