So installieren Sie Solr 8.6.2 in Docker und konfigurieren den chinesischen Wortsegmentierer

So installieren Sie Solr 8.6.2 in Docker und konfigurieren den chinesischen Wortsegmentierer

1. Umgebungsversion

Docker-Version 19.03.12

centos7

solr8.6.2

2. Docker-Installation

1. Automatische Installation mit dem offiziellen Installationsskript

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

2. Verwenden Sie den inländischen Daocloud-Ein-Klick-Installationsbefehl:

curl -sSL https://get.daocloud.io/docker | sh

3. Installieren Sie solr8.6.2 im Docker. 1. Ziehen Sie solr in Docker.

Docker-Pull Solr

2. Erstellen und aktivieren Sie den Solr-Container

docker run --name blog-solr -d -p 8983:8983 solr // blog-solr kann von Ihnen selbst benannt werden

// Parameterdetails

Ausführen des Containers
-d Im Hintergrund ausführen
-p Container-Port- und Host-Port-Zuordnung – Name Containername
blog-solr bezieht sich auf den Bildnamen

3. Den Kern schaffen

docker exec -it --user=solr blog-solr bin/solr create_core -c Ik_core 

Bildbeschreibung hier einfügen

Die Meldung „Neuen Kern 'Ik_core' erstellt“ wird angezeigt. Dies bedeutet, dass mehr als

4. Browserzugriff

Geben Sie IP:8983 in den Browser ein, um auf meinen Server zuzugreifen.

Bildbeschreibung hier einfügen

5. Solr konfiguriert den chinesischen Wortsegmentierer 5.2 Laden Sie die Ik-Datei herunter

Link: https://pan.baidu.com/s/1pkI9ZCThkDdzj4MWg3MO9A Extraktionscode: pgv8

 // 創建創建個目錄將解壓的文件放在這里mkdir /mnt/Ik/

Bildbeschreibung hier einfügen

5.2 Konfigurationsdatei kopieren

docker cp ik-analyzer-8.3.0.jar blog-solr:/opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/lib/
docker cp ik-analyzer-solr7-7.x.jar blog-solr:/opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-8.4.0.jar blog-solr:/opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-extras-8.4.0.jar blog-solr:/opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/lib/

Betreten Sie den Solr-Container und erstellen Sie einen Ordner

docker exec -it --user=root blog-solr /bin/bash
cd /opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF
mkdir-Klassen
Ausfahrt
docker cp IKAnalyzer.cfg.xml blog-solr:/opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/classes/

5.3 IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Eigenschaften SYSTEM "http://java.sun.com/dtd/properties.dtd">

<Eigenschaften>
	<comment>Erweiterte IK Analyzer-Konfiguration</comment>
		<!--Benutzer können hier ihr eigenes erweitertes Wörterbuch konfigurieren-->
	<entry key="ext_dict">ext.dic;</entry>
		<!--Benutzer können hier ihr eigenes erweitertes Stoppwortwörterbuch konfigurieren-->
	<entry key="ext_stopwords">Stoppwort.dic;</entry>
</Eigenschaften>

5.4 Verwaltetes Schema ändern

docker exec -it --user=root blog-solr /bin/bash
cp /opt/solr-8.6.2/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-8.6.2.jar /opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF/lib/
cd /var/solr/data/Ik_core/conf
vim verwaltetes Schema

Wenn Sie vim nicht haben, können Sie vi verwenden oder es mit apt-get install vim installieren.

Fügen Sie unten hinzu:

<!-- ik-Wortsegmentierer -->
 <Feldtyp Name="text_ik" Klasse="solr.TextField">
	 <Analysatortyp="Index">
		 <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
		 <filter class="solr.LowerCaseFilterFactory"/>
	 </Analysator>
	 <Analysatortyp="Abfrage">
		 <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
		 <filter class="solr.LowerCaseFilterFactory"/>
	 </Analysator>
 </Feldtyp>

 <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
	 <Analysatortyp="Index">
		 <tokenizer-Klasse="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	 </Analysator>
	 <Analysatortyp="Abfrage">
		 <tokenizer-Klasse="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	 </Analysator>
 </Feldtyp> 

Bildbeschreibung hier einfügen

5.5 solrconfig.xml ändern

Unten hinzufügen

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
 <lst name="Voreinstellungen">
  <str name="config">db-data-config.xml</str> 
 </lst> 
</AnfrageHandler> 

Bildbeschreibung hier einfügen

Starten Sie Solr neu

Ausfahrt
Docker Neustart Blog-Solr

4. Testen

1. Überprüfen Sie, ob der Wortsegmentierer erfolgreich konfiguriert ist

Bildbeschreibung hier einfügen

2. Testen Sie, ob der Wortsegmentierer Wörter normal segmentieren kann

Bildbeschreibung hier einfügen

3. Testen Sie die Suchfunktion

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Installation von Solr 8.6.2 in Docker und die Konfiguration des chinesischen Wortsegmentierers. Weitere Informationen zur Konfiguration des chinesischen Wortsegmentierers in Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Java implementiert eine einfache Wortsegmentierungsfunktion
  • Detaillierte Erklärung zur Bereitstellung von Elasticsearch Kibana und IK Word Segmenter im Docker
  • So installieren Sie den Kibana-Tokenizer im Docker-Container
  • So installieren Sie den chinesischen Wortsegmentierer elasticsearch-analysis-ik
  • Solr implementiert benutzerdefinierte Wortsegmentierung durch Sonderzeichen
  • So implementieren Sie einen leistungsstarken chinesischen Wortsegmentierer in iOS
  • JAVA StringBuffer-Klasse und StringTokenizer-Klassencodeanalyse
  • Detaillierte Erklärung der StringTokenizer-Klasse in Java (empfohlen)
  • Ein kurzer Vortrag über Tokenizer

<<:  Eine detaillierte Anleitung zu benutzerdefinierten Anweisungen in Vue

>>:  So fragen Sie ab, ob die MySQL-Tabelle gesperrt ist

Artikel empfehlen

vue+el-upload realisiert den dynamischen Upload mehrerer Dateien

vue+el-upload Dynamischer Upload mehrerer Dateien...

Beispiele für häufige Nginx-Fehlkonfigurationen

Inhaltsverzeichnis Fehlender Stammspeicherort Off...

Vue-Routing - Methode zum Sprung relativer Pfade

Inhaltsverzeichnis Relativer Pfadsprung im Vue-Ro...

Detailliertes Tutorial zum Kompilieren und Installieren von Python3.6 unter Linux

1. Gehen Sie zunächst auf die offizielle Website ...

In wenigen Schritten zum einfachen Aufbau eines Windows-SSH-Servers

Das hier erwähnte SSH heißt Security Shell. Ich g...

25 Beispiele für die Verwendung kreisförmiger Elemente im Webdesign

Heute listet dieser Beitrag einige großartige Beis...

So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

Originaldaten und Zieldaten SQL-Anweisungen imple...

Erste Schritte mit GDB unter Linux

Vorwort gdb ist ein sehr nützliches Debugging-Too...

Zusammenfassung der Überlegungen zum Schreiben von Web-Frontend-Code

1. Am besten fügen Sie vor dem HTML-Tag einen Satz...

Wofür wird jQuery verwendet? jQuery ist eigentlich ein js-Framework

Einführung in jQuery Die jQuery-Bibliothek kann e...

Zusammenfassung des Linux-Befehls nc

Der vollständige Name von NC lautet Netcat (Netwo...