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:

We now need to index our models. This consists of adding a few small lines of code into each model that you want to be able to search. So lets say we have a Blog app (doesn’t everyone!), which has a Post model. And that Post model contains the usual 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 model, and allow us to search through all our posts. Now we just need to index and start Sphinx. And Thinking Sphinx makes this very easy with it’s handy Rake tasks.

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

German
English
English
Japanese
German
French
Spanish

WhatsApp uns

Beenden Sie die mobile Version