Utwórz moduł dla indeksu opony specjalnie powiązanego z tym modelem i dołącz go do modelu. Ponieważ sesje są jedynie skojarzone z modelem, jego odniesienie znajdzie się w dokumencie, który będzie poddawany elastycznym badaniom. Trzeba połączyć dokument sesje w dokumencie modelu jak ten jak mijaliśmy json dokumentu do elasticsearch moduł indeksu opon
def to_model_json
self.document.merge({"sessions" => sessions.as_json}).to_json
end
metoda ta przechodzi dokument w formacie JSON do elasticsearch przez opony, która będzie o ich sesje scalone w dokumencie.
moduł indeksu opon podać nazwę indeksu, które można przekazać w obiekcie poszukiwanie opon do uruchomienia filtra odpytuje
Teraz utworzyć obiekt poszukiwanie opon
search_object = Tire::Search::Search::new(Model.index_name, other attributes)
można sprawdzić inne atrybuty, które Cię można przejść od https://github.com/karmi/tire
następnie uruchomić metodę wyszukiwania tak da to pożądanego rezultatu
search_object.filter :range, 'sessions.starts_on' => {:gte => start_date,
:lte => ends_on}
Czy używasz AciveRecord? i czy rozważałeś przystosowanie metody indeksu to_json do tego? – abhas
tak dla ActiveRecord. I dostosowywanie indeksu - jak dokładnie? mieć te "sessions.starts_on", zwracając co? – alony