1. はじめに Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑される可能性があります。そこで、esを勉強してみることにしました。私はdockerの方が好きなので、dockerを使ってesをインストールしました。ここではインストールの詳細や注意すべき点などを詳しく紹介します。ここでは docker のインストールについては説明しません。自分でインストールできます。非常に簡単なので、きっと気に入っていただけると思います。ここで使用しているパソコンはMacBook Proです。Linuxであれば基本的に同じです。Windowsであれば違うかもしれません。こちらでは実際に操作したことはありません。興味があれば自分で試してみて下さい。 2.ElasticSearchのインストール 2.1 dockerにesをインストールする es を使用するには、インストールする必要があります。私は docker に慣れているので、主に私のソフトウェアの多くが docker を選択しているため、docker でも試してみたいと思います。 Docker のインストールは実は非常に簡単で、必要なのは 1 行のコマンドだけです。ここでは、es 7.2.0 バージョンのミラー イメージ インストールを選択しました。具体的なインストール コマンドは次のとおりです。 docker pull elasticsearch:7.2.0 コマンドを入力したら、Enter キーを押してイメージのダウンロードが完了するまで待ちます。 2.2 開始 インストールが完了したら、もちろん es を起動する必要があります。ここから起動するのも非常に便利で、コマンド 1 行だけで十分です。次のように: docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0 このようにしてesが開始されます。次のコマンドを入力すると、es が正常にインストールされているかどうかを確認できます。 カール http://localhost:9200 または、ブラウザで URL http://localhost:9200 を開きます。次の情報が表示されれば、es がインストールされたことになります。 { "名前" : "530dd7820315", 「クラスター名」:「docker-cluster」、 "クラスターUUID" : "7O0fjpBJTkmn_axwmZX0RQ", 「バージョン」: { "番号" : "7.2.0", "build_flavor" : "デフォルト", 「ビルドタイプ」:「docker」、 "build_hash" : "508c38a", 「ビルド日付」:「2019-06-20T15:54:18.811730Z」、 "build_snapshot" : 偽、 "lucene_version" : "8.0.0", "最小ワイヤ互換性バージョン" : "6.8.0", "最小インデックス互換性バージョン" : "6.0.0-beta1" }, 「タグライン」:「検索用です」 } サーバーにインストールする場合は、外部アクセス用にサーバーのポート 9200 を開き、localhost をサーバーの IP アドレスに置き換える必要があります。 2.3 クロスドメインアクセスの問題を解決するために設定を変更する まずコンテナに入り、次に指定されたディレクトリに入って elasticsearch.yml ファイルを変更します。 docker exec -it elasticsearch /bin/bash /usr/share/elasticsearch/config/ をコピーします。 vi elasticsearch.yml elasticsearch.yml ファイルの末尾に以下を追加します。 http.cors.enabled: 有効 http.cors.allow-origin: "*" 設定を変更したら、コンテナを再起動します。 docker で elasticsearch を再起動する 2.4 ik word segmenterをインストールする es に付属する単語セグメンテーションは中国語の単語セグメンテーションにはあまり適していないため、この問題を解決するためにオープンソースの IK 単語セグメンテーションをダウンロードします。まず、プラグイン ディレクトリに移動して Word segmenter をダウンロードし、ダウンロード後に解凍して、es を再起動します。具体的な手順は次のとおりです。 注意: elasticsearch のバージョンと ik tokenizer のバージョンは一致している必要があります。一致していないと、再起動時に失敗します。ここですべてのバージョンを表示できます。適切なバージョンを選択し、右クリックしてリンク アドレスをコピーします。ここをクリック cd /usr/share/elasticsearch/plugins/ elasticsearch-plugin のインストール https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip 出口 docker で elasticsearch を再起動する 次に、kibana インターフェースの開発ツールでインストールが成功したかどうかを確認できます。 POSTテスト/_analyze { "アナライザー": "ik_max_word", "text": "こんにちは、私はDongxie Jiaflyです" } 「analyzer」:「ik_max_word」を追加しないと、各単語がセグメント化されます。以下の kibana をインストールした後に試すことができます。 3. Kibanaのインストール 3.1 Dockerにkibanaをインストールする docker を使用して kibana をインストールするための同じコマンドは次のとおりです。 docker pull kibana:7.2.0 すべての画像がダウンロードされるまで待ちます。 3.2 Kibanaを起動する インストールが完了したら、kibana コンテナを起動し、--link を使用して elasticsearch コンテナに接続する必要があります。コマンドは次のとおりです。 Docker 実行 --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0 docker キバナを起動する 起動後、ブラウザを開いて http://localhost:5601 と入力すると、kibana インターフェースが開きます。 4. 結論 上記の手順でesとkibanaがインストールされます。簡単ですよね?これは Docker の利点の 1 つであり、私が Docker を好む理由の 1 つです。もちろん、Docker にはこれ以外にもたくさんの機能があります。後ほど詳しく書きますが、一言で言えば、間違いなく使えます。ハハハ 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScript でドラッグ可能なプログレスバーを実装する
>>: MySQL 8.0.12 解凍版インストールチュートリアル個人テスト!
目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...
1. .js ライブラリ ファイルのアドレスを Google CDN アドレスに置き換えます。 (G...
目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...
1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...
序文MySQL 5.7.11 以降、MySQL は、別の表領域に格納された InnoDB テーブルの...
目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...
この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...
この記事では、パズル効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的...
この記事は主に、Nginx 7 層負荷分散のいくつかのスケジューリング アルゴリズムを紹介します。こ...
目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...
<br />jb51.net では、常に記事のセマンティクスを重視してきましたが、HTM...
目次1. 概要2. 応用例2.1、Docker コンテナ分離名前空間2.2. Docker のフリー...
最終的な解決策は最後の写真にありますリモート データベース ( Linux システム) に接続したと...
目次序文1. オフィス文書の種類のプレビュー2. PDF形式のプレビュー3. 画像の種類4. ビデオ...
たとえば、次のように入力します。 XML/HTML コードdiv#ページ>(div#ヘッダー&...