Elasticsearch プラグイン

Elasticsearch Plugins — 機能を拡張するプラグインの管理方法と主なプラグイン

Kunihiko Kido
Hello! Elasticsearch.

--

プラグインは、Elasticsearch の基本機能を強化する為の仕組みです。プラグインと一口に言っても、analysis 系のプラグインとか、Discovery 系のプラグインとか、いろいろあるのでまとめ。

Installing Plugins.

インストールは簡単で、Elasticsearch のパッケージに含まれる plugin スクリプトを使ってインストール可能。

$ bin/plugin --install <org>/<user/component/<version>

elasticsearch が提供しているプラグインは、GitHub のここで見つかります。

例えば、Japanese (kuromoji) Analysis for Elasticsearch のインストール。

$ bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.0.0

Installed Plugins.

インストール済みのプラグインの一覧は、Node Info API を使って取得できます。

$ curl -XGET 'http://localhost:9200/_nodes?pretty=true'

なぜか、’localhost:9200/_nodes/plugins’ だと表示されなかった。

Removing Plugins.

プラグインの削除は、インストールと同じく plugin スクリプト使用します。

$ bin/plugin —remove analysis-kuromoji

Plugins.

とりあえず、自分が使いそうなプラグインと気になったものをまとめてみました。

Analysis Plugins.

Discovery Plugins.

  • AWS Cloud Plugin.
    EC2 上で複数ノードを稼働するときに同じクラスター内の他のノードを発見する為のプラグインです。

River Plugins.

Transport Plugins.

※ 特に使わなそうかな?

Scripting Plugins.

Site Plugins.

  • Elasticsearch Marvel Plugin.
    Elasticsearch のモニタリングと管理の為のプラグインです。クエリを実行したり、クラスターの状態をグラフィカルに表示するウェブベースのインターフェースを提供します。
    ※ 開発環境では無料で使用できますが、プロダクション環境で使用する際はライセンスの購入が必要です。
  • Elasticsearch Inquisitor Plugin.
    クエリーデバッグ用のプラグインです。ウェブ画面でクエリの発行と、Analyzer の確認(文章形態素のされ方の確認とか)ができます。
  • Elasticsearch HQ Plugin.
    Elasticsearch のモニタリングと管理の為のプラグインです。ウェブベースのインターフェースを提供します。

Snapshot/Restore Repository Plugins.

Misc Plugins.

  • Elasticsearch View Plugin.
    Elasticsearch にインデックスされているドキュメントをHTML、XML、または text 形式で出力することができるプラグインです。
  • Elasticsearch Image Plugin.
    イメージ検索用プラグインです。類似画像を様々な特徴で検索することができます。
  • Elasticsearch Auth Plugin.
    Elasticsearch の 認証とアクセス制御を可能にするプラグインです。ユーザー情報を使って、アクセストークンを取得し、Elasticsearch Auth がフィルタリングして、トークンがアクセス可能なパスかか判断します。パス以外にもHTTPメソッドとの組合せで制御可能です。

Elasticsearch でウェブサイトをインデックスするときは、自作か別のクローラーが必要かと思ってましたが、プラグインで実現しているのですね。要件にあわせてプラグインを使用すれば、ほとんどなんとかなりそうです。

--

--