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

Handtrack.js-Bibliothek zur Echtzeitüberwachung von Handbewegungen (empfohlen)

【Einführung】: Handtrack.js ist eine Prototypbibli...

Wissenspunkte zum Prinzip der MySQL-Parallelitätskontrolle

Mysql ist eine gängige relationale Open-Source-Da...

Node implementiert Suchfeld für Fuzzy-Abfragen

In diesem Artikelbeispiel wird der spezifische Co...

Prototyp und Prototypenkette Prototyp und Protodetails

Inhaltsverzeichnis 1. Prototyp 2. Prototypenkette...

Zwei Arten von Tab-Anwendungen im Webdesign

Heutzutage werden Registerkarten häufig im Webdes...

Der Unterschied zwischen HTML-Frame, Iframe und Frameset

10.4.1 Der Unterschied zwischen Frameset und Fram...

Tutorial zur Verwendung von Hyperlink-Tags in XHTML

Hyperlink, auch „Link“ genannt. Man kann sagen, d...

Detaillierte Erläuterung der Verwendung von MySQL Explain (Analyseindex)

EXPLAIN zeigt, wie MySQL Indizes verwendet, um Au...

So konfigurieren Sie den Nginx-Lastausgleich

Inhaltsverzeichnis Nginx-Lastausgleichskonfigurat...

Kurs zur Web-Frontend-Entwicklung Was sind die Web-Frontend-Entwicklungstools

Mit der Entwicklung der Internettechnologie werde...

MySQL-Grundlagen-Tutorial: Detaillierte Erklärung der DML-Anweisungen

Inhaltsverzeichnis DML-Anweisungen 1. Datensätze ...