0

我有 3 个 Rails 应用程序正在运行:

  1. 本地开发(安装了 Sunspot)
  2. 在 Heroku 上暂存(运行“生产”Rails 环境)
  3. Heroku 上的生产(运行“生产”Rails 环境)

在 Heroku 上使用 Solr 需要花钱,我将把它添加到我的生产应用程序中。我不想将 Solr 添加到我的暂存应用程序中,因为性能并不重要。

我想知道是否有一种体面的方法可以将我的 Sunspot/Solr 调用降级为 SQL 查询。

我的控制器中的太阳黑子调用如下所示:

@search = Search.find(params[:id])
@results = Listing.search do |query|
  query.with(:city).any_of @search.cities if @search.cities
  query.with(:county).any_of @search.counties if @search.counties
  ...
end
4

2 回答 2

1

此外,如果您使用的是 WebSolr 插件,它们实际上为您提供了两个索引——如果您登录到 websolr 控制台,它将允许您在那里创建第二个索引,并且您可以从暂存站点指向该索引。

于 2011-02-23T06:08:26.647 回答
1

如果您没有使用 Solr 的全文搜索,而您使用的是 Rails 2,那么 record_filter 的语法非常相似:https ://github.com/aub/record_filter

也就是说,您最好的选择可能是定义两个适配器类,它们呈现相同的接口,但分别在后台使用 Solr 和 SQL。

于 2011-01-28T13:01:39.797 回答