Docker に Solr 8.6.2 をインストールし、中国語の単語セグメンターを構成する方法

Docker に Solr 8.6.2 をインストールし、中国語の単語セグメンターを構成する方法

1. 環境バージョン

Docker バージョン 19.03.12

セントロス7

ソル8.6.2

2. Dockerのインストール

1. 公式インストールスクリプトを使用して自動的にインストールする

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

2. 国内のdaocloudワンクリックインストールコマンドを使用します。

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

3. dockerにsolr8.6.2をインストールする 1. dockerにsolrをプルする

docker プル solr

2. Solrコンテナを作成して有効化する

docker run --name blog-solr -d -p 8983:8983 solr // blog-solr は自分で名前を付けることができます

// パラメータの詳細

コンテナを実行する
-d バックグラウンドで実行
-p コンテナポートとホストポートのマッピング – name コンテナ名
blog-solrは画像名を参照します

3. コアを作成する

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

ここに画像の説明を挿入

「新しいコア「Ik_core」が作成されました」というメッセージが表示されます。これは、

4. ブラウザアクセス

私のサーバーにアクセスするには、ブラウザに IP:8983 と入力してください。

ここに画像の説明を挿入

5. Solrが中国語の単語セグメンテーションを構成する 5.2 Ikファイルをダウンロードする

リンク: https://pan.baidu.com/s/1pkI9ZCThkDdzj4MWg3MO9A 抽出コード: pgv8

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

ここに画像の説明を挿入

5.2 設定ファイルをコピーする

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/

Solrコンテナに入り、フォルダを作成する

docker exec -it --user=root blog-solr /bin/bash
cd /opt/solr-8.6.2/server/solr-webapp/webapp/WEB-INF
mkdir クラス
出口
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 バージョン="1.0" エンコーディング="UTF-8"?>
<!DOCTYPE プロパティ SYSTEM "http://java.sun.com/dtd/properties.dtd">

<プロパティ>
	<comment>IK Analyzer 拡張構成</comment>
		<!--ユーザーはここで独自の拡張辞書を設定できます-->
	<entry key="ext_dict">ext.dic;</entry>
		<!--ユーザーはここで独自の拡張ストップワード辞書を設定できます-->
	<entry key="ext_stopwords">ストップワード.dic;</entry>
</プロパティ>

5.4 マネージドスキーマの変更

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 管理スキーマ

vimをお持ちでない場合は、viを使用するか、apt-get install vimを使用してインストールできます。

一番下に追加:

<!-- ik 単語セグメンター -->
 <fieldType 名="text_ik" クラス="solr.TextField">
	 <アナライザータイプ="インデックス">
		 <トークナイザークラス="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
		 <フィルタークラス="solr.LowerCaseFilterFactory"/>
	 </アナライザー>
	 <アナライザータイプ="クエリ">
		 <トークナイザークラス="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
		 <フィルタークラス="solr.LowerCaseFilterFactory"/>
	 </アナライザー>
 </フィールドタイプ>

 <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
	 <アナライザータイプ="インデックス">
		 <トークナイザークラス="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	 </アナライザー>
	 <アナライザータイプ="クエリ">
		 <トークナイザークラス="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	 </アナライザー>
 </フィールドタイプ> 

ここに画像の説明を挿入

5.5 solrconfig.xmlを変更する

一番下に追加

<リクエスト ハンドラー名="/dataimport" クラス="org.apache.solr.handler.dataimport.DataImportHandler"> 
 <lst name="デフォルト">
  <str name="config">db-data-config.xml</str> 
 </lst> 
</リクエストハンドラ> 

ここに画像の説明を挿入

Solrを再起動する

出口
docker 再起動 ブログ-solr

4. テスト

1. 単語セグメンターが正しく設定されているか確認する

ここに画像の説明を挿入

2. 単語分割器が正常に単語を分割できるかどうかをテストする

ここに画像の説明を挿入

3. 検索機能をテストする

ここに画像の説明を挿入

これで、Docker に Solr 8.6.2 をインストールして中国語単語セグメンテーションを構成する方法についての記事は終了です。Docker で中国語単語セグメンテーションを構成する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Javaは単純な単語分割機能を実装する
  • Docker で Elasticsearch Kibana と ik Word Segender をデプロイする詳細な説明
  • Dockerコンテナ内にkibanaトークナイザーをインストールする方法
  • elasticsearch-analysis-ik 中国語単語セグメンテーションのインストール方法
  • Solrは特殊文字を使用してカスタム単語セグメンテーションを実装します
  • iOS で強力な中国語単語セグメンテーションを実装する方法
  • JAVA StringBuffer クラスと StringTokenizer クラスのコード分析
  • Java の StringTokenizer クラスの詳細な説明 (推奨)
  • Tokenizerについての簡単な説明

<<:  Linux におけるドライバモジュールのパラメータ転送プロセスの分析

>>:  MySQL テーブルがロックされているかどうかを照会する方法

推薦する

DockerコンテナのIPアドレスを表示する方法

私はずっとDockerにはIPアドレスがないと思っていました。実はDockerのネットワークテンプレ...

nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

目次1. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...

jQuery タグセレクターの適用例の詳細な説明

この記事では、jQueryタグセレクターアプリケーションの具体的なコードを例として紹介します。具体的...

Dockerでプロジェクトを実行する方法

1. プロジェクトwarが保存されているディレクトリを入力しますDockerfileを編集する vi...

CSS3 を使用して色付きのプログレスバーアニメーションを実装する例

簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...

MySQLにおける遅いSQLの最適化の方向性について詳しく話しましょう

目次序文SQL文の最適化遅いクエリSQLを記録する設定を変更する方法スロークエリログを表示するSQL...

Centos7はMySQLログに基づいてデータを復元するためのサンプルコードを実装します

導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...

テーブル編集操作を実現する js+Html

この記事では、テーブルの編集操作を実現するためのjs+Htmlの具体的なコードを参考までに共有します...

CentOSバージョンにDockerをインストールする際のエラーの解決方法

1. バージョン情報 # cat /etc/system-release CentOS Linux ...

mysql 5.7.20 win64 のインストールと設定方法

mysql-5.7.20-winx64.zipインストール手順のないインストール パッケージ: ht...

Vite2.0の落とし穴

目次Viteプロジェクトビルドの最適化他のやっとこれは前回の記事の補足です。設定プロジェクトで遭遇し...

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

Vue の this.$store.state.xx.xx に関する簡単な説明

目次これを Vue.$store.state.xx.xxストアからデータを取得する私のプロジェクトフ...

Linux システムでのスケジュールされたタスクの紹介

目次1. 計画タスクをカスタマイズする2. 時間を同期する3. 練習する4. セキュリティの問題1....