AWSの主な検索サービスには「Amazon Kendra」と「Amazon Elasticsearch Service」がある。それぞれの機能と特徴、利用方法を説明する。
明確な構造定義を持たない「半構造化データ」や構造そのものがない「非構造化データ」を検索したい――。Amazon Web Services(AWS)はこのニーズに応える2つの検索サービス「Amazon Elasticsearch Service」と「Amazon Kendra」を用意する。どちらのサービスも複数のデータソースにまたがってデータを検索できるが、用途は異なる。それぞれの概要と特徴を説明する。
Amazon Elasticsearch Serviceは、検索と分析のためのオープンソースソフトウェア(OSS)「Elasticsearch」のマネージドサービスだ。AWSの仮想マシンサービス「Amazon Elastic Compute Cloud」(Amazon EC2)のインスタンス(仮想サーバ)で稼働する。
検索にはElasticsearch固有のJSON形式クエリ言語を使う。このクエリ言語は論理演算子(AND、OR、NOTなど)やワイルドカード、正規表現などを使った検索を実行できる。クエリの送信には、Amazon Elasticsearch ServiceのGUI(グラフィカルユーザーインタフェース)を利用する。システム連携の標準的な設計思想「REST」準拠のAPI(アプリケーションプログラミングインタフェース)を介したクエリの送信も可能だ。
データは分析前にElasticsearchに取り込む必要がある。データの取り込みはストリームデータ(連続的に発生し続けるデータ)処理サービス「Amazon Kinesis Data Firehose」やログ監視サービス「Amazon CloudWatch Logs」、IoT(モノのインターネット)データ収集サービス「AWS IoT」などのAWSサービスとの連携を通じて実行できる。データ処理OSSの「Logstash」を使ったデータ取り込みも可能だ。REST準拠のAPI経由でデータを取り込む方法もある。
Amazon Kendraは機械学習を利用して、複数のデータソースに保存されたデータを検索する。開発者がAmazon Kendraをアプリケーションに組み込めば、データアナリストなどのエンドユーザーは半構造化データや非構造化データを自然言語で検索できるようになる。Amazon Kendraは、今までの検索パターンを基に検索結果の精度を微調整する機能を持つ。インデックス機能を使用することで、複数のデータソースに分散したドキュメントやよくある質問をグループ化し、一元管理できる。
エンドユーザーはデータをAmazon Kendraに直接取り込んだり、AWSのオブジェクトストレージサービス「Amazon Simple Storage Service」(Amazon S3)に配置したりすることで、Amazon Kendraを使ってデータを検索できるようになる。コネクターを使用することで他のデータソースも検索対象にできる。例えばSalesforce(salesforce.com)の同名CRM(顧客関係管理)やMicrosoftの「OneDrive」やGoogleの「Google Drive」といったファイル同期サービス向けにコネクターを用意している。
AWSは、ユーザー企業がアプリケーションにAmazon Kendraの機能を組み込むためのサンプルコード(ソースコードのサンプル)を用意している。Amazon Kendraの操作方法に加えて、独自のユーザーインタフェースからクエリを発行するためのサンプルコードも提供している。
後編は、Amazon Elasticsearch ServiceとAmazon Kendraのどちらを選択すればよいかを考えるときのポイントを説明する。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
ネットの口コミを参考に8割超が商品を購入 最も参考にした口コミの掲載先は?
ホットリンクは、口コミ投稿の経験や購買への影響を調査した結果を発表した。
「生成AIの普及でSEOはオワコン」説は本当か?
生成AIの普及によりSEOが「オワコン」化するという言説を頻繁に耳にするようになりました...
ボストン コンサルティング平井陽一朗氏が語る 日本企業のイノベーションを阻む「5つの壁」
企業の変革を阻む5つの壁とそれを乗り越える鍵はどこにあるのか。オンラインマーケットプ...