Ruby on Rails bez databazy a Elasticsearch ako zdroj dat rubrika: Programování: Ruby
Ako dlhorocny PHP programator som zacal s Ruby / Ruby on Rails tak napriek mnozstvu zdrojov stale neviem uchopit podstatu...
Mojim cielom je v Ruby on Rails aplikacii poslat dotaz na Elasticsearch a vysledok zobrazit v tabulke. V plain Ruby som napisal
require 'elasticsearch' require 'multi_json' client = Elasticsearch::Client.new host: 'http://myhost:9200' #client.cluster.health #client.transport.reload_connections! result = client.search index: 'cbr', body: { query: { match: { pfi: 'SNP' } } } puts MultiJson.dump(result, pretty: "true")
co bez problemov vratilo JSON s vysledkami.
V RoR sa mi nedari prijst na to ako zakomponovat tento kod do controlleru. Co sa tyka gemu elasticsearch-rails tak pokial som spravne pochopil ten sa primarne stara o rozsirenie funkcnosti modelu o indexovanie a vyhladavanie v datach. Ja ale lokalnu databazu nepotrebujem - cela aplikacia ktoru chcem postavit bude citat data z externych zdrojov (Elasticsearch) a RoR ma sluzit len na ich zobrazovanie (primarne cez JS generovane grafy).
Zatial sa mi nepodarilo narazit na priklad ktory by popisoval podobne vyuzitie (az na tento zdroj http://stackoverflow.com/questions/23024181/rails-4-model-with-no-table). Aky je spravny postup ak potrebujem pracovat z datami takymto sposobom? Vedel by ma niekto naviest co potrebujem na to aby som urobil jednoduchy dotaz do Elasticsearch v RoR?
Vopred dakujem za kazdu radu ci zdroj.
--- upravene 14:17
No v kazdom pripade som zistil ze takto mi to uz funguje.
class ReportsController < ApplicationController def report_1 client = Elasticsearch::Client.new host: 'http://myhost:9200' data = client.search index: 'cbr', body: { query: { match: { pfi: 'SNP' } } } # ... tu spracujeme data end end
Elasticsearch sa neda pouzit ako databaza (chyba connection adapter). Neexistuje lepsi sposob ako si parsovat vrateny JSON a upravovat si ho?
Pro plný přístup na Devel.cz se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře