-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS紹介
-
Elasticsearch〜ビッグデータに対応した全文検索エンジン〜
-
Elasticsearchのインストール
Elasticsearchのインストール
Elasticsearchはビッグデータに対応した全文検索エンジンです。Elasticsearchは、Elastic社からパッケージなどで提供されています。そのため、簡単にインストールすることができます。ここでは、Elasticsearchのインストール方法を紹介します。
Elasticsearchインストールの準備
Elasticsearchをインストールするには、まずjavaの実行環境をインストールする必要があります。
Elasticsearchパッケージのダウンロード
Elasticsearchは、Elastic社のホームページ(https://www.elastic.co/)から、ダウンロードできます。
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.rpm ⏎
Elasticsearchパッケージのインストール
RPMをダウンロードしたら、Elasticsearchパッケージを次のようにインストールします。
# rpm -ivh elasticsearch-5.6.3.rpm ⏎
警告: elasticsearch-5.6.3.rpm: ヘッダー V4 RSA/SHA512 Signature、鍵 ID d88e42b4: NOKEY
準備しています... ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
更新中 / インストール中...
1:elasticsearch-0:5.6.3-1 ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.servicec
Kuromojiのインストール
Elasticsearchで日本語を扱う場合には、Kuromojiのインストールも必要です。Kuromojiは、Elasticsearchで日本語の解析を行う場合に利用されるオープンソースの日本語形態素解析エンジンです。ElasticsearchのベースであるApache Luceneへの日本語のサポートを提供しています。
$ wget https://github.com/downloads/atilika/kuromoji/kuromoji-0.7.7.tar.gz ⏎
パッケージを展開します。
$ tar xzf kuromoji-0.7.7.tar.gz ⏎
ElasticsearchのプラグインとしてKuromojiをインストールします。
# /usr/share/elasticsearch/bin/plugin install elasticsearch/elasticsearch-analysis-kuromoji/2.7.0 ⏎
KuromojiをElasticserchのデフォルトのトークアナライザとして利用する場合には、config/elasticsearch.ymlに設定を行います。
config/elasticsearch.yml
index.analysis.analyzer.default.type: custom
index.analysis.analyzer.default.tokenizer: kuromoji_tokenizer
Elasticsearchサービスの起動
Elasticserchサービスを起動するには、まずsystemdへユニット読み込みをします。
# systemctl daemon-reload ⏎
次に、elasticsearch.serivceをスタートします。
# systemctl start elasticsearch.service ⏎
なお、Elasticsearchを複数のサーバを使用したクラスタ構成にするためには、/etc/elasicsearch/elasticsearch.confにノードの設定を行う必要があります。
このようにElasticsearchは簡単にインストールして使用することができます。Elasticsearchを利用したシステム構築事例や、Elasticsearchの関連情報は以下のリンクからご覧ください。
分散型検索/分析エンジン Elasticsearch「構築事例/情報の一覧」
デージーネットでは、大容量のログを管理するためのソフトウェアであるSylasを開発し、OSSとして公開しています。Sylasは、rsyslogと連携してElasticsearchにログを取り込みます。Elasticsearchと連携することでSylasの検索画面からログの検索を行うことができます。
デージーネットでは、DNSサーバへの攻撃に対応するためのDNSログ解析システムを提案しています。DNSサーバから、dnstapなどのインタフェースを使ってクエリログを収集して、Elasticsearchに登録します。収集されたログをKibanaを使って解析することで、攻撃の状況をリアルタイムに把握し、攻撃に対する防御を行うことができます。
Elasticsearchは、ファイルサーバの全文検索システムとしても利用できます。ファイルサーバへの全文検索を実現すれば、膨大なファイルの中から、必要なファイルを短時間で探し出すことができます。ファイルサーバの情報をElasticsearchで管理するためには、ファイル情報を取り出してElasticsearchに取り込むためのソフトウェアが必要です。デージーネットでは、そのようなソフトウェアとしてFessをご提案しています。Fessは、ファイルサーバを自動的にクロールし、ファイルの情報を取り出し、Elasticsearchに登録します。
また、Fessには標準で検索インタフェースも付属しています。ファイルの更新日、名称、形式などから検索結果を絞り込むことも可能です。
ElasticsearchにWebサイトの情報を保存し、サイト内検索を実現することができます。Webサイトの情報を管理するためには、Webサイトにアクセスし、情報を取り出してElasticsearchに取り込むためのソフトウェアが必要です。デージーネットでは、そのようなソフトウェアとしてFessをご提案しています。Fessは、HTTPプロトコル経由でサイトを自動的にクロールし、情報を取り出してElasticsearchに格納します。Fessには標準で検索インタフェースも付属していますので、そのまま検索画面として利用することもできます。
また、サイトのデザインに合わせた専用の検索画面を作成することもできます。その場合には、ElasticsearchのRESTful APIを利用して、検索結果を表示するアプリケーションを作成します。なお、デージーネットのホームページでも、サイト内検索の機能を実装するためにFessとElasticsearchを使っています。
さらに、ElasticsearchとKibanaを連携させることで、サイト内検索の利用状況について分析することもできます。
Elasticsearchを使ってシステムを作っても、思ったより検索に時間がかることがあります。そのような場合には、利用するメモリ量に合わせて、Elasticsearchとをチューニングする必要があります。デージーネットの改善支援コンサルティングサービスでは、こうしたチューニングの作業を行っています。
デモのお申込み
もっと使い方が知りたい方へ
Elasticsearchの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Elasticsearchのデモをご希望の方は、下記よりお申込みいただけます。
全文検索エンジン「Elasticsearch」
- Elasticsearchのインストール
- Elasticsearchは、Elastic社からパッケージなどで提供されています。そのため、簡単にインストールすることができます。ここでは、Elasticsearchのインストール方法を紹介します。