【发布时间】:2014-11-18 02:47:36
【问题描述】:
我刚刚从轮胎 gem 转移到官方 elasticsearch Ruby wrapper 并且正在努力实现更好的搜索功能。
我有一个模型 InventoryItem 和一个模型 Store。 Store has_many :inventory_items。我在 Store 上有一个模型范围,名为 local
scope :local, lambda{|user| near([user.latitude, user.longitude], user.distance_preference, :order => :distance)}
我希望搜索只返回此范围内的结果,所以我尝试了:InventoryItem.local(user).search....,但它搜索整个索引,而不是范围。在做了一些研究之后,看起来过滤器是实现这一目标的好方法,但我不确定如何实现。我也对实现这一目标的其他方式持开放态度。我的最终目标是能够根据商店位置搜索InventoryItem 模型的子集。
【问题讨论】:
标签: ruby-on-rails elasticsearch