ruby-on-rails - 将索引中的 meta_search gem 与现有的地理编码器 gem 搜索(rails)集成

标签 ruby-on-rails search sorting filter meta-search

我已经使用地理编码器实现了基于位置的搜索,但在集成 meta_search gem 时遇到了问题。我正在尝试将 meta_search 集成到我的 object_controllerindex允许用户按对象过滤和排序搜索结果 :attributes在他们已经按位置搜索之后。

我的对象 Controller :

def index 
  if params[:search].present?
   @objects = Object.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9)
  else
   @objects = Object.paginate(:page => params[:page], :per_page => 9)
  end
end

知道如何最好地将 @search 集成到 meta_search gem 所需的索引中吗?

以下是 meta_search github 为索引推荐的内容:
def index
  @search = Article.search(params[:search])
  @articles = @search.all   # load all matching records
  # @articles = @search.relation # Retrieve the relation, to lazy-load in view
  # @articles = @search.paginate(:page => params[:page]) # Who doesn't love will_paginate?
end

非常感谢,

将要

最佳答案

我相信geocodermeta_search查询方法返回 ActiveRecord::Relation因此你应该能够链接它们:

@objects = Object.near(params[:search], 50, :order => :distance).search(params[:search]).relation.paginate(:page => params[:page], :per_page => 9)

或者如果您需要将搜索对象分开:
@search = Object.near(params[:search], 50, :order => :distance).search(params[:search])
@objects = @search.relation.paginate(:page => params[:page], :per_page => 9)

关于ruby-on-rails - 将索引中的 meta_search gem 与现有的地理编码器 gem 搜索(rails)集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6765012/

相关文章:

arrays - 找到一种算法,根据排序后的状态对数组进行排序

ruby-on-rails - 如何保存用户注册日期[rails]

ruby-on-rails - 在 `decode64' : undefined method `unpack1' for nil:NilClass (NoMethodError)

elasticsearch - 用于缓存和搜索产品的 Elasticsearch ?

java - 你如何在 Lucene 4.1 中索引和搜索数字

sorting - JCR SQL2 - JCR 浏览器中的结果查询顺序

ios - 如何在 Swift 中按数字和字母顺序对数组进行排序

ruby-on-rails - .call() 方法如何工作?

ruby-on-rails - 无法使用 Rails 创建应用程序

PHP多维数组搜索(按特定值查找键)