我只是從輪胎寶石移動到官方elasticsearch Ruby wrapper,我正致力於實現更好的搜索功能。Rails彈性搜索命名示波器搜索
我有一個模型InventoryItem
和模型Store
。 Store
has_many :inventory_items
。我有商店的模型範圍稱爲local
scope :local, lambda{|user| near([user.latitude, user.longitude], user.distance_preference, :order => :distance)}
我希望搜索只從該範圍返回結果,所以我嘗試:InventoryItem.local(user).search....
但它搜索整個索引,而不是範圍。在做了一些研究後,看起來過濾器是實現這一目標的好方法,但我不確定如何實施。我也願意以其他方式實現這一目標。我的最終目標是能夠根據商店位置搜索InventoryItem
模型的子集。
我還沒有測試過,但我同意它可以更快。我會獎勵賞金 - 謝謝你的詳細解答。我會測試這個,並在有機會時提供反饋。 – settheline 2014-10-05 23:18:17
非常感謝!你的回答爲我提供了一個很好的模板,並且我終於能夠構建一個使用一組ID標識進行篩選的搜索(我無法在Rails上找到正確的方法,並且始終得到解析錯誤)。 – 2015-06-03 19:14:38
這太棒了!我一直在尋找一種將範圍與elasticsearch結合起來的方法。 – 2016-11-09 06:02:25