Facettierte Suche Apache Solr Drupal Hosting

Hinweis: Extra besonderen Dank geht an Doug Vann für Motivation bietet schließlich diese Blog-Post zu schreiben!

Früh im Jahr 2016, wenn der Such-API und Solr bezogene Module für Drupal 8 in der frühen Alpha-Status war, schrieb ich den Blog-Eintrag eine facettierte Apache Solr Suchseite auf Drupal 8 mit Search API Solr und facettiert einrichten.

Das Post war hilfreich bei der schmerzhaften Monate, wenn Such Solr in Drupal 8 immer noch in einem sehr groben Zustand war, aber viel hat sich seitdem verändert, und Solr-basierte Suche in Drupal 8 ist in einer viel stabiler (und leicht zu konfigurieren heute) Platz, so dass ich dachte, dass ich endlich einen neuen Beitrag schreiben würde zu zeigen, wie einfach es facettiert Solr Suche in Drupal 8, fast ein Jahr später zu bauen ist.

Hosting

Erstellen Sie eine lokale Entwicklungsumgebung mit Apache Solr

In diesen Tagen habe ich immer bauen und Drupal-Seiten halten lokal Drupal VM verwendet wird; tut dies ermöglicht es mir, eine Entwicklungsumgebung genau festlegen, wie ich es mag, und Dinge zu tun, wie Apache Solr Zugabe ist trivial. Also für diese exemplarische Vorgehensweise werde ich von Platz eins, Start und zeigen Ihnen, wie mit absolut nichts zu starten, und facettierter Suche auf eine neue Drupal 8 Website mit Drupal VM und einer Composer-Datei erstellen:

Laden Sie Drupal VM und folgen Sie der Schnellstartanleitung. dann fügen Sie den folgenden config.yml innerhalb des Drupal VM-Ordner Apache Solr ist installiert, um sicherzustellen:

Wir gehen Drupal VM Composer Integration verwenden, um eine Drupal-Website zu generieren, die ein Komponist basierte hat Drupal im synchronisierten Ordner Pfad installieren (standardmäßig in einem Drupal Unterverzeichnis innerhalb des Drupal VM-Ordner).

Die drupal_composer_dependencies Variable sagt Drupal VM Komponist benötigen, um die notwendigen Module Search API Solr und Facetten zu erhalten. Das post_provision_scripts Skript ist mit Drupal VM enthalten ist, und wird die Version von Apache Solr installiert mit Drupal VM geeignet für den Einsatz mit dem Search API Solr-Modul konfiguriert.

Kopieren Sie die example.drupal.composer.json drupal.composer.json. laufen dann Vagabund auf die lokale Entwicklungsumgebung aufzubauen und alle Drupal Code herunterladen erforderlich ist, um mit Suche zu beginnen.

Hinweis: Wenn Sie auf einer bestehenden Website suchen nach oben setzen oder nicht wollen, Drupal VM, download verwenden und die Such-API, Search API Solr installieren und facettiert Module manuell, und sicherstellen, haben Sie Apache Solr laufen und ein Such Kern mit der neuesten Search API Solr Modulversion Konfiguration konfiguriert.

Installieren Sie die Module

Wenn Sie die Module über Drupal UI installieren:

  1. Zum drupalvm.dev/. melden Sie sich an dann als Administrator (Standard-Benutzernamen und das Passwort ist admin / admin).
  2. Gehen Sie auf die Seite Extend (/ admin / modules), und aktivieren Sie "Search API", "Facets", "Solr Suche" und "Solr Sucheinstellungen".
Facettierte Suche Apache Solr Drupal Hosting wenig mehr

Wenn Sie die Module über Drush installiert werden soll:

  1. Führen Sie drush @ drupalvm.drupalvm.dev en -y Facetten search_api search_api_so lr search_api_solr_defaults

Sie sollten auch den Kern ‚Suche‘ Modul deinstallieren, wenn es installiert ist-es ist nicht für Search API oder facettiert erforderlich ist, und wird auch weiterhin zusätzliche speichern Junk in der Datenbank Ihrer Website, wenn es installiert ist.

Konfigurieren Sie die Solr-Server

Besuchen Sie die Search API Konfigurationsseite, und bearbeiten Sie den Standard Solr Server, die folgenden Änderungen vornehmen:

  • Change 'Solr Kern' zu collection1 (Standard ist d8).

Hinweis. Die neuesten Versionen von Drupal VM nicht mehr benötigen, diesen Schritt, da der Standard-Solr Kern Namen automatisch bis d8 gesetzt (diese PR sehen).

An diesem Punkt auf der Statusseite des Servers (/ admin / config / Suchen / search-api / server / default_solr_server), sollten Sie eine Meldung „Der Solr-Server erreicht werden kann“ und „Der Solr Kern zugegriffen werden kann“:

Sobald dies geschehen ist, deinstallieren Sie die Solr Sucheinstellungen Modul (drush @ drupalvm.drupalvm.dev pmu -y search_api_solr_defaults); Dieses Modul ist nicht mehr erforderlich, nach dem ersten installieren, da die Konfiguration für Ihren Solr-Server jetzt Teil der Site aktiver Konfigurationsspeicher und wird nicht gelöscht werden.

Konfigurieren Sie die Solr-Index

Das Solr Sucheinstellungen Modul erstellt einen Standardinhaltsindex alle veröffentlichten Knoten auf der Website enthalten. In unserem Fall bedeutet, dass alle Grundseiten und die Artikel würden einbezogen werden.

Sie müssen nicht alles in der Index-Konfiguration ändern, aber wenn Sie möchten, um einen Poke haben und sehen, wie es einrichten und welche Möglichkeiten Sie in Bezug auf die Datenquelle haben, Felder oder Prozessoren, Besuch / admin / config / Suche / search-api / index / default_solr_index / bearbeiten.

In Standardinhalt (wenn Sie keine haben)

Vorausgesetzt, dass Sie diese Website mit Drupal VM gebaut, ist es wahrscheinlich die Website unfruchtbar ist, ohne Inhalt überhaupt indiziert werden. Um das zu beheben, können Sie die Devel Moduls handliche Begleiter verwenden, Devel erzeugen:

  1. Aktivieren Sie Devel erzeugen: drush @ drupalvm.drupalvm.dev en -y devel_generate
  2. Erzeugen Dummy-Inhalt: drush @ drupalvm.drupalvm.dev generieren-Inhalt 100
    • Hinweis: Zum Zeitpunkt des Schreibens dieses Artikels hat der Drush Befehl nicht in generierten Inhalten führen. Verwenden Sie die Benutzeroberfläche an / admin / config / Entwicklung / erzeugen / content, wenn der Drush Befehl nicht Generierung von Inhalten ist.

    Jetzt haben Sie eine Reihe von Knoten, die Sie indexieren und durchsuchen können!

    Bestätigen Suche Indizierung arbeitet

    Es ist am besten Ihre Produktion Solr-Server ein paar Minuten warten zu lassen, bevor frisch indizierte Inhalte zur Verfügung gestellt werden zu suchen; Auf diese Weise sucht sind ein wenig performanter als Solr können Batch seine Update-Operationen. Aber für die lokale Entwicklung ist es schön, der Index up-to-date sein zu müssen, so schnell wie möglich zu Testzwecken, so Konfiguration Drupal VM Solr sagt aktualisieren es Suchindex unmittelbar nach Drupal Inhalte sendet.

    Also, wenn Sie mit Devel erzeugt erzeugen, dann die Statusseite für den Standard-Suchindex Index besuchen (/ admin / config / Suchen / search-api / index / default_solr_index), sollten Sie alle Inhalte auf der Website sehen indiziert:

    Wenn Sie auf einer vorhandenen Website arbeiten, oder wenn der gesamte Inhalt noch nicht aus irgendeinem Grund indiziert, können Sie manuell Index alle Inhalte durch den ‚Index jetzt‘ klicken und warten, bis der Vorgang abgeschlossen.

    Beachten Sie, dass die Indizierung Geschwindigkeit in Abhängigkeit von der Komplexität Ihrer Website variiert. Wenn Sie eine Website mit vielen komplexen Knotentypen und Hunderttausende oder Millionen von Knoten haben, müssen Sie effizientere Methoden für die Indizierung verwenden, sonst werden Sie warten Monate für alle Ihre Inhalte durchsuchbar zu sein!

    Machen Sie eine facettierte Solr Suche

    Das Solr Sucheinstellungen Modul erstellt ein Beispiel Ansichten basierte Suchseite, die Sie bei / Solr-Suche / Inhalte zugreifen können. Es sollte bereits funktionsfähig sein, da Ihre Inhalte in Solr indiziert ist (probieren Sie es aus!):

    Für viele Websites, diese Art von allgemeiner Keyword-basierten Website-Suche ist alles, was Sie jemals brauchen würden. Aber wir werden es Fichte ein wenig und machen es mehr funktional durch den Pfad zu ändern und einen Content-Typ Fassette hinzufügen.

    Zuerst ändern Sie die Ansicht durch den Besuch / admin / Struktur / Ansichten / view / solr_search_content:

    1. Ändern Sie den Titel auf ‚Suchen‘ (anstelle von ‚Search Inhalt‘).
    2. Ändern Sie den Pfad zu '/ search' (statt '/ Solr-Suche / content').
    3. Klicken Sie auf ‚Speichern‘.

    Zweitens, erstellen Sie eine Inhaltstyp Facette durch den Besuch / admin / config / search / Facetten:

    1. Klicken Sie auf ‚Add Facette‘.
    2. Wählen Sie den ‚Ansicht Solr Such Inhalt zeigt Seite‘ Facet Quelle (dies ist die Ansicht, die Sie gerade bearbeitet).
    3. Wählen Sie ‚Inhaltstyp (Typ)‘ für das entsprechende Feld Facet.
    4. Nennen Sie die Facette ‚Suche Facet - Inhaltstyp‘ (dies einen Block später bei der Platzierung helfen).
    5. Klicken Sie auf ‚Speichern‘.
    6. Auf der Facet Seite bearbeiten:
    1. Markieren Sie das Kästchen zu ‚zeigen die Menge der Ergebnisse‘.
    2. Überprüfen Sie die ‚Liste item label‘ Checkbox (dies wird die Facette Show ‚Grundseite‘ machen statt ‚page'-Etikett anstelle des Computername für jedes Element).
    3. Klicken Sie auf ‚Speichern‘.

    Die Facette ist nun bereit, in Ihrem Thema platziert werden, so dass es erscheint, wenn die Suchansicht wiedergegeben wird. Besuchen Sie die Blocklayout Konfigurationsseite (/ admin / Struktur / Block), und klicken Sie auf ‚Place Block‘ in der Region, wo Sie die Facette angezeigt werden soll. In meinem Thema, wählte ich die ‚Sidebar erste‘ Region.

    Finden ‚Suche Facet - Inhaltstyp‘ (die Facet Sie gerade erstellt) und klicken Sie auf ‚Place Block‘. Dann stellen Sie den Block-Titel etwas wie ‚Suche nach Typ‘, und klicken Sie auf ‚Save Block‘. Sie müssen keine spezifische Sicht Einschränkungen für den Block setzen, da die Facet nicht gesetzt ist überhaupt angezeigt werden, wenn es nicht die Ergebnisse auf der Seite suchen, die es erfordert gezeigt werden.

    Klicken Sie auf ‚Speicher Blöcke‘ auf dem Block Layout-Seite, und dann die gesamte Site Suchseite / Suche unter:

    Wenn Sie eine Suche durchführen, dann werden Sie das Ergebnis zählt die Facette bemerken entsprechend anpassen:

    An dieser Stelle sollten Sie eine voll funktionsfähige facettierte Solr Suche auf Ihrer Drupal 8 Website. Von hier aus können Sie die Suchseite weiter, die Arbeit an Ausgeben unterschiedliche Ergebnisse anpassen (vielleicht einen Content-Teaser statt des gesamten wiedergegebenen Inhalts?), Und mehr Facetten (Datum, Autor, Taxonomieausdruck, etc.) hinzufügen, um die Suche Arbeit zu machen genau so, wie Sie möchten!

    Nächste Schritte

    Wenn Ihr Hosting-Provider keine Apache Solr Such Kern für Ihre Website zur Verfügung stellen zu verwenden, können Sie mit Hosted Apache Solr betrachten Sie Ihre Website Solr Such Kern auszurichten; es wird ein ähnliches Setup zu dem, was in Drupal VM verwendet wird, und ich kann es bezeugen, da ich den Dienst laufen :)

    Beachten Sie, dass die Such-API-Module als diese Blog-Post noch in der Beta ist; Kleinigkeiten oben Unterschiede zu den Screenshots und Anweisungen führen.

    Dank für Sie umfassende Anweisungen. Ich bin mir meinen Weg durch sie gearbeitet und haben ein wenig hängen auf dem Schema bekommen. Ich habe Vagabund, Virtual Box installiert und bekam die Drupal-Seite und läuft mit solr. Aber wenn ich auf der solr Server-Seite in Drupal aussehen, mein Schema Beispiel-data-driven-Schema und nicht der Drupal-4.5-solr-5.x wie in Ihrer Website. Ich habe auch eine Nachricht auf meiner solr Server-Seite in Drupal sagen: „Sie verwenden eine inkompatible schema.xml Konfigurationsdatei. Bitte beachten Sie die Anweisungen in der Datei INSTALL.txt folgen Solr für die Einrichtung.“ Aber ich kann nicht die Erwähnung jede Bezugnahme auf Schema in der INSTALL.txt sehen. Ich habe versucht, zu sehen, wo das Schema in den vagabundierenden Konfigurationsdateien aufgeführt ist, kann aber nichts sehen. Können Sie mir führen, wo ich muss ändern gehen.

    Ich laufe dies auf einem Microsoft Windows 10-Maschine. Ich habe versucht, mit Solr 5.5 wie in der Vagabund-Datei und auch versucht, Solr 6.3

    Vielen Dank für jede Hilfe im Voraus.
    gh

    Für ein Follow-up, löste ich obige Problem durch alle Dateien in / var Löschen / Solr / data / collection1 / conf / und kopiert alle Dateien aus / var / www / drupalvm / Drupal / web / modules / contrib / search_api_solr / solr -conf / 6.x / bis genannten Stand-Verzeichnis. Dies wird angedeutet in Datei auf modules / contrib / search_api_solr / INSTALL.txt in dem Bereich, in dem sie darüber sprechen, „solr Vor dem Start“. Ich tat dies nach solr beginnen und nur aufgefrischt.

    Schau dieses Video an!

    In Verbindung stehende Artikel

    Benutzerdefinierte Suchblock Drupal HostingGeschrieben von Susan Rosie Am 26. Mai 2015 2015-05-26T14: 28: 40 + 00: 00 Drupal teilen eine Web-Seite in mehreren Regionen, einschließlich den Sidebar, Footer und Header, die Blöcke für eine Anzeige von verschiedenen hält ...
    Ansicht Suchmodul Drupal HostingHallo und willkommen bei DrupalModules.com, eine Gemeinschaft betriebene Bewertung und Überprüfung Service gewidmet helfen Sie, die beste Drupal-Module für Ihr Projekt! Benötigen Sie Hilfe bei der richtigen Drupal zu finden ...
    Feld Tools Drupal HostingEinführung Einer Implementierung einer effektiven Suche ist eine der schwierigsten Aufgaben in der Entwicklung, aber es ist auch ein Schlüssel zum Erfolg von vielen Websites und Anwendungen. Eine schnelle Suche und ...
    Drupal Hosting mit sslHTTPS ist ein Protokoll, das HTTP verschlüsselt Anfragen und die Antworten. Dadurch wird sichergestellt, dass, wenn jemand in der Lage war, das Netzwerk zwischen Ihrem Computer zu gefährden und dem Server Sie anfordern ...
    Tim millwood Drupal HostingSeine Lernkurve ist berüchtigt, aber Tim Millwood argumentiert, dass Drupal nicht so gefürchteten ist, und zeigt, wie Sie es verwenden können, einen Job Board Kenntnisse erforderlich zu bauen. Basic Web-Entwicklung und ...