Heim  >  Artikel  >  Datenbank  >  Wie indiziere ich eine MySQL-Datenbank mit Solr?

Wie indiziere ich eine MySQL-Datenbank mit Solr?

黄舟
黄舟Original
2017-08-03 09:18:181659Durchsuche

Im vorherigen Artikel wurde die Bereitstellung von solr4.10 und dem integrierten IK-Analysator-Wortsegmentierer in Tomcat vorgestellt. Jetzt stellen wir vor, wie Solr für die Indizierung der MySQL-Datenbankdaten konfiguriert wird, um die Abfrage zu realisieren die MySQL-Datenbank.

Laden Sie zunächst das JAR-Paket herunter, das für die Verbindung mit MySQL erforderlich ist. Was ich heruntergeladen habe, ist: mysql-connector-java-5.1.26-bin.jar.

1. Es wird davon ausgegangen, dass die MySQL-Datenbank-bezogenen Arbeiten wie Datenbank, Tabelle, Felddefinition usw. im Voraus abgeschlossen wurden. Hier ist eine Einführung in die in meinem Testfall verwendete Datenbank: Die Datenbank- und Tabellennamen lauten „Crawler“, der Benutzername ist „root“ und das Passwort lautet „admin“. Die SQL-Anweisungen sind hier nicht aufgeführt, es ist sowieso ein Test. Da außerdem der Dekomprimierungspfad von Solr und der Pfad von Solr_HOME für jeden unterschiedlich sind, werde ich in Zukunft $SOLR_HOME verwenden, um den Pfad von Solr_HOME darzustellen.

Wie indiziere ich eine MySQL-Datenbank mit Solr?

2. Verwenden Sie DataImportHandler, um Daten zu importieren und zu indizieren

Konfigurieren Sie $SOLR_HOMEcollection1confsolrconfig.xml

Fügen Sie einen Datenimport-Verarbeitungshandler vor hinzu, wie in der Abbildung gezeigt:

Darunter Daten- config Die .xml-Datei wird verwendet, um die Zuordnungsbeziehung zwischen solr und MySQL zu definieren. Hier wird der relative Pfad verwendet, der sich im selben Verzeichnis wie solrconfig.xml befindet. Erstellen Sie daher die Datei data-config.xml im Verzeichnis $SOLR_HOMEcollection1conf

Wie indiziere ich eine MySQL-Datenbank mit Solr?

3. Vervollständigen Sie Solr und MySQL über data-config. xml Die Zuordnung der Datenbank und der Inhalt der Datei data-config.xml sind wie in der Abbildung dargestellt:

Wie indiziere ich eine MySQL-Datenbank mit Solr?


4.Ändern Sie die Datei schema.xml, da diese Datei aus dem komprimierten Paket kopiert wurde und viele redundante Daten enthält. Hier müssen wir nur Definieren und Entfernen Sie für verwandte Felder in der MySQL-Datenbanktabelle einfach die irrelevanten Felder. Beachten Sie jedoch, dass einige Felder weiterhin beibehalten werden müssen, z. B.: _version_ und text Diese beiden Felder sowie andere Felder und CopyFields sollten beibehalten werden kann gelöscht werden: z. B. Illustration.

Im obigen Bild ist meine ID als int-Typ definiert. Standardmäßig unterstützt der Primärschlüssel des Index in Solr nur den Zeichenfolgentyp type="string". Lösung: Ändern Sie elevate.xml im selben Verzeichnis und kommentieren Sie die folgenden 2 Zeilen aus.

Wie indiziere ich eine MySQL-Datenbank mit Solr?

Wie indiziere ich eine MySQL-Datenbank mit Solr?

5. Fügen Sie mysql-connector-java-5.1.26-bin.jar und solr-4.10.3distsolr- hinzu. dataimporthandler-4.10.3.jar wird nach D:Solrsolr-4.10.3examplesolr-webappwebappWEB-INFlib kopiert.


6 Öffnen Sie Tomcat und rufen Sie die Admin-UI-Oberfläche von Solr auf, wählen Sie „Collection1“ im Core Selector aus und wählen Sie das Untermenü „dataImport“. . Wie im Bild gezeigt.

Nach Abschluss der Einstellungen klicken Sie auf Ausführen.

Wie indiziere ich eine MySQL-Datenbank mit Solr?

7 Wählen Sie für Abfragetests im Untermenü unter der Kernauswahl den Inhalt aus: Xi Jinping q-Feld, klicken Sie unten und Sie erhalten die Abfrageergebnisse


Das obige ist der detaillierte Inhalt vonWie indiziere ich eine MySQL-Datenbank mit Solr?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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