Elasticsearch7のAPIの簡単な使い方

  • #技術ブログ 

こんにちは!

初投稿となります、松浦です。

簡単に自己紹介をさせていただきます。

現在社内では技術として活動しており、

このHPの管理や商品開発、保守サポート、WEBマーケティング、SEO対策、データ分析、ECサイト構築、運用など

節操なく色々やってます!

また、来年1月からは営業に転身しさらに節操なく活動していきますので、

皆様案件のご相談は是非「オプトエスピー 松浦」までよろしくお願いいたします!

 

さて、早速本題ですが今回はElasticsearch7の簡単な使い方について書いていこうと思います。

技術での最後の開発として「音声認識連携」の開発でElasticsearch7を使用したのですが、

少し前にリリースされたばかりということもあり、

開発開始当初は記事があまりなく大変苦労いたしました。

ですので、今回は少し使いたいってくらいの方向けに使用頻度の高かったAPIを紹介していこうと思います!

 

elasticsearchとは

スケーラビリティに優れた全文検索エンジン です。

具体的な使用用途としては、ログ解析などのデータ分析が可能になります。

可視化ツールのkibanaとともに使われることが多いです。

 

よく使うAPI

①index作成

mysql等でいうデータベース作成。

これをしないと始まりませんね。

作成と同時にマッピングもしてしまいます。

<例>

curl -H “Content-Type: application/json” -XPUT ‘<ElasticsearchサーバーIPアドレス>:9200/<index名>’ -d ‘
    {
        // マッピング = インデックス構成定義
        mappings : {
            properties:{
                // パラメータ定義(通常)
                項目名 : {
                    type : “項目の型” // long,date,text,keywordなど
                    ,”fielddata” : true // kibanaにてデータ分析の要素として使用する場合にtrueを指定。
                    ,”analyzer” : “<使用するanalyzer>” // 単語分割をするときに使用。
                },
                // パラメータ定義(項目の中身が連想配列の場合)
                項目名 : {
                    properties:{
                        配列の項目名 : {
                            type : “項目の型”
                            ,”fielddata” : true
                            ,”analyzer” : “<使用するanalyzer>” 
                            ,”fields” : { // 全文を保持する必要がある場合指定
                                keyword : {
                                   type : “keyword” // “keyword”固定
                              }
                          }
                      }
                  }
              }
          }
      }
  }

 

②データ登録

指定したindexの任意のidに、任意の値を入れたデータを登録するAPIの使い方。

テスト的にデータを入れる時に使ってみてください。

<例>

curl -H “Content-Type: application/json” -XPUT http://<ElasticsearchサーバーIPアドレス>/<index名>/_doc/<指定する場合のid> -d ‘{ “<指定の項目1>”: “<任意の値>”, “<指定の項目2>”: “<任意の値>”, “<指定の項目3>”: “<任意の値>” }’

 

 

③検索

指定したindex内で指定の項目を一致条件で検索し、結果として指定した項目の値を返すAPIの使い方です。

<例>

curl -H “Content-Type: application/json” -X POST https://<ElasticsearchサーバーIPアドレス>/<index名>/_search -d ‘{“query”:{“match”:{“<検索したい項目>”:”<検索したい値>”}},”_source” : [“<結果に出したい項目>”]}’

 

※共通の注意
elasticsearch6を使用していた方はお気づきかと思いますが、
elasticseach7からContent-Typeを明示的に指定しないとダメになったみたいです。
また、typeの廃止によりリクエスト方法が少し変わっていますのでお気を付けください。

 

簡単に3つ紹介させていただきました。
最低限これらが使えればelasticsearchをお試しで使うには不自由しないと思います!
ちなみに以下に公式ドキュメントのリンク張っときますね。
公式ドキュメントはこちら
また、データ解析で一緒に使用されることの多いkibanaについてや、elasticsearchにデータ登録するのに便利なembulkについては需要があればまた次の機会に書いていきたいと思います!

 

弊社では通話録音システム等のパッケージや、
お客様に合わせたカスタマイズ製品の販売、受託開発等を行っています。
何かお困りのことがございましたらお気軽にご相談ください。
ページ下部のお問合せから是非!!
お電話でのお問い合わせもお持ちしております!!!
以上、松浦でした!