2015-11-23 9 views
7

Ich bin neu auf Schienen und auch auf elastische Suche. Ich habe andere Ressourcen zum Konfigurieren mit Tyre, Searchkick und einigen anderen gesehen, aber ich möchte Elasticsearch gem. Verwenden. Ich habe Rails-Anwendung ausgeführt und Elasticsearch-Server auf meinem System ausgeführt, aber ich nicht, wie Sie sie für die Kommunikation miteinander konfigurieren.So integrieren Sie elasticsearch mit Schienen Anwendung speziell mit "Elasticsearch" gem

Gegenwärtig habe ich viele Schwierigkeiten, dasselbe zu tun. Jede Hilfe würde sehr geschätzt werden.

+0

werfen Bitte veröffentlichen Sie Ihre elasticsearch bezogenen Code, und wir wissen nicht, was ist Ihr Problem/Fehler. – nayiaw

+0

erfordern "Elasticsearch/Modell" Klasse-Service ":: Request" \t ostens_to: angestellter,: klassenname => "Mitarbeiter" Ende Service.import – Tulsi

+0

Fehler ActionView :: Template :: Fehler ([404] {"Fehler": {"root_cause": [{"type": "" index_not_fo und_exception "," reason ":" kein solcher index "," index ":" services "," resource.type ":" inde x_or_alias " "resource.id": "Dienste"}], "type": "index_not_found_exception", "reaso n": "keinen solchen Index", "Index", "Service"," resource.type ":" index_or_alias“, "Ressource .id": "Dienste"}, "Status": 404}): – Tulsi

Antwort

11

für einen sehr einfachen schnellen Start des github gem elastischen für Modell Indizierung Sie folgende in Entwicklungsumgebung mit Elasticsearch läuft auf localhost tun könnte: 9200

in Gemfile:

gem 'elasticsearch-model' 

dann auf Terminal laufen:

$ bundle install 

in app/models/service.rb direkt nach Klassendeklaration enthalten:

include Elasticsearch::Model 

Sie jetzt spielen es auf Konsole mit vorhandenen Daten (Ergebnisse sind nur ein Beispiel):

$ 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 

Für weitere Informationen und Details können Sie einen Blick auf das Projekt github page

0

Bessere Nutzung elasticsearch-rails

in Gemfile:

gem install elasticsearch-rails 

Um die Datensätze aus Ihrem Artikel Modell zu importieren, führen:

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

Um die importierten Datensätze auf einen bestimmten Active Umfang zu begrenzen, übergeben Sie es an die Aufgabe:

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

Führen Sie diesen Befehl anzuzeigen:

$ bundle exec rake -D elasticsearch 

Wenn Sie Modell

elasticsearch-model, verwenden möchten, die enthält Integration Suche für Ruby/Rails-Modelle wie Activerecord :: Base und Mongoid,

+0

nicht „Elasticsearch“ tun, wie der Samething von beide getan Elasticsearch Leitschienen und Elasticsearch-Modell, las ich Elasticsearch-Schienen in compan Ich denke an Elasticsearch-Schienen, so dass ich dachte, anstatt zwei Edelsteine ​​zu verwenden, ist es besser, eine Elasticsearch zu verwenden. Bitte korrigieren Sie mich, wenn ich falsch liege. – Tulsi

+0

Ich habe eine Anwendung erstellt. Jetzt möchte ich ein Feature hinzufügen, so dass Benutzer die Suche basierend auf Auswahl wie von flipkart, paytm auf verschiedene Produkte verfeinern können. – Tulsi

+0

ja das Richtige für Ihre Rails-Anwendung Einsatz elastisch-Schienen Die Elasticsearch-Schienen-Bibliothek ist ein Begleiter für die die Elasticsearch-Modellbibliothek, auf Rails-Anwendungen Features geeignet für Ruby bietet. –

Verwandte Themen