ElastciSearchについて

機械学習技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 オントロジー技術 検索技術 データベース技術 アルゴリズム デジタルトランスフォーメーション技術 Visualization & UX ワークフロー&サービス ITインフラ技術 Javascript CSS 本ブログのナビ
ElastciSearchについて

Elastic Searchは、以前述べたFESSのバックグラウンドでも使われているツールであり、Elasticsearch社により、open-coreビジネスモデルで展開されている全文検索エンジンとなる。下図に示すように、全文検索やクラスタリング等の基本機能(Apache Luceneをベースとした超高速分散処理型検索)はApacheライセンスのオープンソースプログラムとなる。

検索モジュールであるElasticsearchは、データ収集モジュールであるLogstash、データの見える化ツールであるKibana、軽量のデータシッパーであるbeats等のElastic Stackと呼ばれるコアプロダクト群をJSONベースのRestfulな通信モジュールでつなげてシステムを組むことが可能で、検索だけでなく、収集、分析、可視化の処理を行うことができる。

本ブログでは以下の項目について述べる。

  1. 検索ツールFESS Elastic SearchベースとしたオールインワンのOSS
  2. Elastic Searchについて (本稿)
  3. 検索ツールElastic Search(1) 参考図書紹介
  4. 検索ツールElastic Search(2) ElasticSearchの立ち上げ
  5. 検索ツールElastic Search(3) UI(reactivesearchとの連携:基本)
  6. 検索ツールElastic Search(4) UI(reactivesearchとの連携:応用)

以下にElastic Seachの概要について「Elastic Search in Action」をベースに述べる。

Elastic search はbackendシステムであり、以下のようにweb apiを介してデータをやり取りする

内部のデータは以下のようにJsonで表され

以下のようなjson形態のクエリでデータを検索する

内部のデータ処理のしくみとしては、入力データをanalyzerで解析してindex化し、queryも同様にanalyzerで解析してmatchingを行う。一般的なデータベースのqueryと異なる点はデータをインデックス化することで高速の検索ができることにある。

実際の使い方としては、機械学習等の処理でindex applicationを作り、任意のindexを挿入して検索するものとなる。

実際には複雑なインデックスを組み合わせることで、様々な検索ソリューションを実現できる。

また、Elastic Stashはログ収集PFとしても広く活用されている。それらの詳細は!マイクロサービスを含めたシステム運用監視の為のElasticStashの活用”にて詳しく述べる。

コメント

  1. […] 前述のelasticsearch用のUIライブラリの導入は、npmを使って「npm install Package名」で導入できる。 […]

  2. […] elasticsearch等の検索エンジンの中では、一旦形態素解析等で分かち書きした後にn-gramを組み合わせる等の使い方がよく使われるパターンとなる。elastcisearchではアナライザ・トークナイザの設定でNGram Tokenizerを設定することで利用することができる。 […]

  3. […] Elastic Searchについて 概要 […]

  4. […] 化などのタスクを効率的に実行するためのツールとなる(詳細は”エラスティックサーチ(Elastic Search)について 概要“等を最小のこと)。以下に、Elasticsearchを実装するための具体的 […]

タイトルとURLをコピーしました