2015-11-23 13 views
7

Sono nuovo alle rotaie e anche alla ricerca elastica. Ho visto altre risorse da configurare usando Tyre, Searchkick e alcuni altri, ma voglio usare la gemma Elasticsearch. Ho installato l'applicazione rails e sto eseguendo il server Elasticsearch sul mio sistema, ma non so come configurarli per comunicare tra loro.Come integrare elasticsearch con l'applicazione rails specificatamente utilizzando la gemma "Elasticsearch"

Attualmente, sto affrontando un sacco di problemi per fare lo stesso. Qualsiasi aiuto sarebbe molto apprezzato.

+0

Si prega di inviare il codice relativo elasticsearch, e non sappiamo qual è il tuo problema/errore. – nayiaw

+0

richiedono "elasticsearch/modello" La classe di servizio ":: Richiesta" \t belongs_to: employee,: class_name => ":: Employee" end Service.import – Tulsi

+0

Errore ActionView :: Template :: Errore ([404] {"errore": {"root_cause": [{"tipo": " index_not_fo und_exception "," reason ":" no tale indice "," indice ":" servizi "," risorsa.digitare ":" inde x_or_alias "," resource.id ":" servizi "}]," tipo ":" index_not_found_exception "," reaso n ":" nessun indice "," indice ":" servizi "," resource.type ":" index_or_alias "," resource .id ":" servizi "}," stato ": 404}): – Tulsi

risposta

11

Per un avvio molto semplice della gemma github dell'elastico per l'indicizzazione del modello, è possibile eseguire le seguenti operazioni in ambiente di sviluppo con elasticsearch in esecuzione su localhost: 9200

in Gemfile:

gem 'elasticsearch-model' 

quindi eseguire il terminale:

$ bundle install 

in app/modelli/service.rb comprendono subito dopo dichiarazione di classe:

include Elasticsearch::Model 

ora si può giocare con su console con dati esistenti (i risultati sono solo un esempio):

$ rails console 

# Create the index for Service model on elasticsearch 
> Service.__elasticsearch__.create_index! 
=> {"acknowledged"=>true} 

# Import current Service records into the index 
> Service.import 
    Service Load (207.3ms) SELECT "services".* FROM "services" ORDER BY "services"."id" ASC LIMIT 1000 

# Sample search returning total results 
> Service.__elasticsearch__.search("mykeyword").results.total 
=> 123 

Per ulteriori informazioni e dettagli è possibile dare un'occhiata al progetto github page

0

Migliore utilizzo elasticsearch-rails

in Gemfile:

gem install elasticsearch-rails 

per importare i record dal vostro articolo modello, eseguire:

$ bundle exec rake environment elasticsearch:import:model CLASS='Article' 

per limitare i record importati in un certo ambito ActiveRecord, passarlo all'attività:

$ bundle exec rake environment elasticsearch:import:model CLASS='Article' SCOPE='published' 

Esegui questo comando per visualizzare le istruzioni d'uso:

$ bundle exec rake -D elasticsearch 

Se si desidera utilizzare per il modello

elasticsearch-model, che contiene l'integrazione di ricerca per Ruby/Rails modelli come ActiveRecord :: Base e Mongoid,

+0

"Elasticsearch" non fa il samething come fatto da Elasticsearch-rails e Elasticsearch-model, ho letto Elasticsearch-rails in compan a Elasticsearch-rails quindi ho pensato invece di usare due gemme, è meglio usare uno i.e Elasticsearch ... per favore correggetemi se sbaglio. – Tulsi

+0

Ho creato un'applicazione. Ora, voglio aggiungere una funzione in modo che l'utente possa perfezionare la ricerca in base alla selezione come fatta da flipkart, paytm su prodotti diversi. – Tulsi

+0

sì giusto per l'app per rails utilizza binari elastici La libreria elasticsearch-rails è un complemento per la libreria del modello elasticsearch, che fornisce funzionalità adatte per le applicazioni Ruby on Rails. –