Heim >Datenbank >MySQL-Tutorial >Wie indiziere ich eine MySQL-Datenbank mit Solr?
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.
2. Verwenden Sie DataImportHandler, um Daten zu importieren und zu indizieren
Konfigurieren Sie $SOLR_HOMEcollection1confsolrconfig.xml
Fügen Sie einen Datenimport-Verarbeitungshandler vor
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
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:
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.
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.
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!