Я просто переезжаю с драгоценного камня Tire в официальный elasticsearch Ruby wrapper и работаю над реализацией лучших функций поиска.Rails elasticsearch - named scope search
У меня есть модель 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
Спасибо большое! Ваш ответ предоставил мне хороший шаблон, и я, наконец, смог создать поиск, который фильтрует с помощью набора идентификаторов (я не мог найти правильный способ сделать это на Rails и постоянно получал ошибки анализа). –
Это было здорово! Я искал способ объединить области с elasticsearch. –