Heim > Backend-Entwicklung > PHP-Tutorial > Verwenden von Solarium mit Solr zur Suche - Solarium und GUI

Verwenden von Solarium mit Solr zur Suche - Solarium und GUI

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-21 09:49:08
Original
229 Leute haben es durchsucht

Using Solarium with SOLR for Search - Solarium and GUI

Dieser Artikel, der zweite in einer vierteiligen Reihe, Details mit Solarium mit Apache-Solr für Suchfunktionen. Der erste Teil umfasste Kernkonzepte, Installation und Setup. Dieser Teil konzentriert sich auf die Solariuminstallation, das Erstellen einer Beispielanwendung, die Besiedlung des Suchindex und die Vorbereitung auf Suchanfragen.

Schlüsselkonzepte:

  • Solarium liefert eine Abstraktionsschicht über Solr und vereinfacht die Entwicklung, indem Solr als lokale Suchimplementierung erscheinen.
  • Solarium anschließen müssen Host-, Port- und Pfaddetails für den Solr -Server bereitstellen.
  • Solarium vereinfacht das Hinzufügen, Aktualisieren und Löschen von Dokumenten mithilfe von Update -Abfrageinstanzen. Updates werden durch "Neueinstellung" Dokumente mit derselben eindeutigen Kennung behandelt.
  • Dieser Leitfaden durchläuft die Erstellung von Anwendungen, die Solariumkonfiguration, die Ping -Abfragen, die Abgabe von Beispieldaten und die Suchindexpopulation. Es zeigt auch das Erstellen eines Suchformulars mit Laravels Blattvorlagen.

Anwendungserstellung & Solarium Installation:

Erstellen Sie eine neue Laravel -Anwendung:

composer create-project laravel/laravel movie-search --prefer-dist
Nach dem Login kopieren
Nach dem Login kopieren

Machen Sie das Verzeichnis app/storage beschreibbar. Installieren Sie Solarium über Komponist:

"solarium/solarium": "dev-develop"
Nach dem Login kopieren

(Alternativ herunterladen oder klonen von Github.) Fügen Sie diese Ihrer composer.json -Datei hinzu.

Solariumkonfiguration:

Erstellen einer Konfigurationsdatei (app/config/solr.php):

return array(
    'host'      => '127.0.0.1',
    'port'      => 8983,
    'path'      => '/solr/',
);
Nach dem Login kopieren
Der Einfachheit halber erstellen Sie eine Solarium -Client -Instanz als Controller -Eigenschaft (

): app/controllers/HomeController.php

    protected $client;

    public function __construct()
    {
        $this->client = new \Solarium\Client(Config::get('solr'));
    }
Nach dem Login kopieren
(In einer größeren Laravel -App würde ein Dienstleister bevorzugt.)

Ping -Abfragen & Beispieldaten:

Verwenden Sie Ping -Abfragen, um die Solr -Zugänglichkeit zu überprüfen:

$ping = $client->createPing();
try {
    $result = $client->ping($ping);
} catch (Solarium\Exception $e) {
    // Handle SOLR inaccessibility
}
Nach dem Login kopieren
Eine Beispielfilm -CSV -Datei (mit ~ 2000 Filmen) ist erforderlich. Sie können eine herunterladen oder die Rotten Tomaten -API verwenden (IMDB -Daten sind ebenfalls verfügbar, aber weniger bequem).

Hinzufügen, Aktualisieren und Löschen von Dokumenten:

Hinzufügen eines Dokuments:

$update = $client->createUpdate();
$doc = $update->createDocument();
$doc->id = 123;
$doc->title = 'Some Movie';
$update->addDocument($doc);
$update->addCommit();
$result = $client->update($update);
Nach dem Login kopieren
Aktualisierung erfordert eine erneute Einführung mit derselben ID. Löschen verwendet

: addDeleteQuery

$update = $client->createUpdate();
$update->addDeleteQuery('id:123'); // Or use wildcards: 'title:test*'
$update->addCommit();
$result = $client->update($update);
Nach dem Login kopieren

Fülle des Suchindex:

Erstellen Sie einen Laravel -Befehl (

), um die CSV -Daten zu importieren. Verwenden Sie in php artisan command:make PopulateSearchIndexCommand die Methode app/commands/PopulateSearchIndexCommand.php, um das CSV zu lesen, Solariumdokumente zu erstellen und zu indizieren. (Das angegebene Code -Beispiel zeigt diesen Vorgang an.) Führen Sie den Befehl aus: fire(). php artisan search:populate

Das Suchformular (Laravel Blade):

Erstellen Sie ein Suchformular in

: app/views/home/index.blade.php

composer create-project laravel/laravel movie-search --prefer-dist
Nach dem Login kopieren
Nach dem Login kopieren

(Ein grundlegendes Layout in app/views/layouts/default.blade.php und Routing in app/routes.php wird ebenfalls benötigt, wie im ursprünglichen Beispiel gezeigt.)

Schlussfolgerung:

Dieser Artikel legt die Bühne für den Aufbau eines Suchmechanismus mit Solarium und Solr. Der nächste Teil umfasst die Implementierung der tatsächlichen Suchfunktion. Der vorgesehene FAQS -Abschnitt wurde angesichts der bereits angegebenen detaillierten Erklärung weggelassen.

Das obige ist der detaillierte Inhalt vonVerwenden von Solarium mit Solr zur Suche - Solarium und GUI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage