【问题标题】:Sunspot: find all events in a country, or state太阳黑子:查找一个国家或州的所有事件
【发布时间】:2012-01-16 15:51:14
【问题描述】:

标题不清楚,我解释一下:

在我的应用程序中,我有事件。它们是地理定位的:我存储纬度和经度。 我的问题是,当用户搜索事件时,他们会输入以下内容:kansasmontreal 等。 因此,当我找到kansas(使用地理编码器)时,我得到了它的“中心”,所以当我向太阳黑子询问“靠近”这个位置的事件时,我只得到靠近该位置中心的事件。如果他们输入franceaustralia,那就更糟了。

我想知道你是否知道处理这个问题的好方法。

我现在唯一的想法是在事件保存时也存储事件位置的countrystate 等(我可以从谷歌获得标准化地址),然后对它们的内容进行文本搜索在位置字段中输入...

但是这种方法存在问题:(
在 solr 中,不可能做到以下几点:

any_of do
    with(:coordinates).near(coord[0], coord[1], :precision => 3)
    keywords where
end

因为near 不能嵌套。 See here.

他们是否在 sunspot 1.3 中进行了更改以允许这样做?

您还有其他解决方案吗?我什至可以接受从 so​​lr 更改为弹性搜索等其他搜索平台,但我不希望这样做。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 search geolocation sunspot


    【解决方案1】:

    我切换到 ElasticSearch,我非常喜欢它。地理位置搜索要好得多......我仍然有一些方面的问题,但总的来说,对于开始新应用程序的人,我会推荐 ES 而不是 sunspot。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多