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

So legen Sie Remotezugriffsberechtigungen in MySQL 8.0 fest

Im vorherigen Artikel wurde erklärt, wie man das ...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...

Detaillierte Erläuterung der Angular-Routing-Grundlagen

Inhaltsverzeichnis 1. Routing-bezogene Objekte 2....

Zusammenfassung der Verwendung des CSS-Bereichs (Stilaufteilung)

1. Verwendung des CSS-Bereichs (Stilaufteilung) I...

JS Leicht verständliche Funktion und Konstruktor

Inhaltsverzeichnis 1. Übersicht 1.1 Erstellen ein...

Vue.js-Textfeld mit Dropdown-Komponente

Ein Textfeld mit Dropdown-Liste ermöglicht es Ben...

Einführung in die Verwendung von Requisiten in Vue

Vorwort: In Vue können Props verwendet werden, um...

Grundlegende Verwendung von exists, in und any in MySQL

【1】existiert Verwenden Sie eine Schleife, um die ...

Detailliertes Tutorial zur Verwendung von stimulsoft.reports.js mit vue-cli

vue-cli verwendet stimulsoft.reports.js (Tutorial...

Beispielanalyse zum Beheben von Problemen in historischen Linux-Images

Fix für Probleme mit historischen Linux-Images De...