Konfigurieren Sie Sphinx in der Rails-Anwendung

Installieren Sie Sphinx

Führen Sie einfach die folgenden drei Befehle auf Ihrem Server oder Entwicklungscomputer aus, um Sphinx zu installieren:

./configure make sudo make install

Dadurch wird Sphinx standardmäßig für die Verwendung mit MySQL eingerichtet. Wenn Sie es mit PostgreSQL verwenden möchten, führen Sie es aus konfigurieren mit folgender Flagge:

./configure --with-pgsql

Hinweis: Sie können die Sphinx hier herunterladen //sphinxsearch.com/downloads//

Installieren Sie Thinking Sphinx

Auch wenn es ein paar Sphinxe gibt In  Rails-Anwendung habe ich mich für Thinking Sphinx entschieden, da es das beliebteste und umfassendste Feature zu sein scheint. Sie können es also als Rails-Plugin installieren Skript-/Plugin-Installation Befehl:

Skript-/Plugin-Installation git://github.com/freelancing-god/thinking-sphinx.git

Code schreiben, um die Sphinx-Suche zu verwenden:

Jetzt müssen wir unsere Modelle indizieren. Dies besteht darin, in jedes Modell, das Sie durchsuchen möchten, ein paar kleine Codezeilen einzufügen. Nehmen wir also an, wir haben eine Blog-App (nicht jeder!), die über ein Post-Modell verfügt. Und dieses Post-Modell enthält das Übliche Titel Und Beschreibung Felder. Wir fügen daher den folgenden Code unterhalb unserer Assoziationserklärungen ein

app/models/post.rb: define_index indiziert Titel und Beschreibungsende

Diese sehr kurzen drei Zeilen weisen Thinking Sphinx an, das zu indizieren Titel Und Beschreibung Felder der Post Modell, und ermöglichen Sie uns, alle unsere Beiträge zu durchsuchen. Jetzt müssen wir nur noch Sphinx indizieren und starten. Und Thinking Sphinx macht dies mit seinen praktischen Rake-Aufgaben ganz einfach.

Führen Sie einfach Folgendes aus:

Rechen ts:rebuild

Dadurch wird Sphinx für Sie gestoppt (sofern es gestartet), indiziert und gestartet. Jetzt müssen wir ein Schnellsuchformular erstellen. Dies wird letztendlich eine globale Site-Suche sein und nicht nur eine Post-Suche. Also erstellen wir einen neuen Controller:

Skript/Controller-Suche generieren

Dann erstellen Sie eine Ansicht unter app/views/search/index.html.erb und platzieren Sie das Formular darin:

Erstellen Sie nun in Ihrem neuen Suchcontroller einen neuen erstellen Aktion:

Def create @posts = Post.search params[:search] end

Erstelle dein erstellen ansehen unter app/views/search/create.html.erb mit ein bisschen Code, um Ihre anzuzeigen @posts in gewohnter Weise.

Notiz:

Mit dem WillPaginate-Plugin können wir unsere Ergebnisse sogar paginieren:

auf jeden Fall erstellen

@posts = Post.search params[:search], :page => params[:page], :per_page => 10 end

Nehmen Sie Kontakt mit uns auf. Speichern

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman