Creare un modulo per indice pneumatici specificamente correlato a quel modello e includerlo nel modello. Poiché le sessioni sono solo associazioni con il modello, il suo riferimento sarà lì nel documento che sta per elasticsearch. Bisogna unire il documento sessioni nel documento modello come questo, come abbiamo superato la JSON di documento da elasticsearch nel modulo indice pneumatici
def to_model_json
self.document.merge({"sessions" => sessions.as_json}).to_json
end
questo metodo sta passando un documento in JSON per elasticsearch attraverso il pneumatico che sarà avere la loro sessioni unite nel documento.
nel modulo indice pneumatici dare un nome indice che è possibile passare l'oggetto di ricerca del pneumatico per eseguire il filtro interroga
Ora creare un oggetto di ricerca del pneumatico
search_object = Tire::Search::Search::new(Model.index_name, other attributes)
è possibile controllare altri attributi che si può passare da https://github.com/karmi/tire
quindi eseguire il metodo di ricerca come questo che darà il risultato desiderato
search_object.filter :range, 'sessions.starts_on' => {:gte => start_date,
:lte => ends_on}
stai usando AciveRecord? e hai pensato di personalizzare il metodo dell'indice to_json per questo? – abhas
sì per ActiveRecord. E indice di personalizzazione - come esattamente? avere queste 'sessions.starts_on' restituire cosa? – alony