エンジニアのみなさま、日々の学習本当にお疲れ様です!
また本記事まで足を運んでいただき本当に感謝です。
約2分程度で読めるので最後まで読んでもらえると幸いです。
はじめに
案件でプロジェクト管理のサポートをしております。
お客様との打合せの中でAWSサービスの話題になり、お客様から 「Elasticsearch」 の話が出てきました。
申し訳ございません。不勉強でした...
そのため、「Elasticsearch」 がどのようなものなのかを早速インプットしました。
Elasticsearchとは
Elasticsearch は、Apache Lucene を基盤として構築された分散検索/分析エンジンです。2010 年のリリース以来、Elasticsearch はすぐに最も人気のある検索エンジンとなり、ログ分析、フルテキスト検索、セキュリティインテリジェンス、ビジネス分析、およびオペレーショナルインテリジェンスのユースケースに広く使用されています。
引用先:https://aws.amazon.com/jp/what-is/elasticsearch/
一言でいうと 「全文検索エンジン」 とのことです。
利用されているサービスの代表でいうと 「Google」「Yahoo!」「Bing」 などが挙げられます。
途端にすごくイメージしやすい!
お客様との打合せではAWSサービスから派生した話題だったので、てっきりAWSが提供しているサービスかと思っていました。
しかしながら実態は
Elasticsearch、およびその他の関連するマークは、米国およびその他の国におけるElasticsearch B.V.の商標、ロゴ、または登録商標です。
とのことです。
AWSは2015年に Amazon Elasticsearch Service をリリースしましたが、2021年に Amazon OpenSearch Service として名称を変更しております。
詳細は こちら
全文検索とは
全文検索とは、複数の文書(ファイル)から特定の文字列(キーワード)を検索する技術を指します。「全文」は「全て」の「文字」という意味であり、文書(ファイル)に含まれるすべての文字情報を対象として検索するので「全文検索」と呼ばれます。
引用先:https://www.sei-info.co.jp/quicksolution/column/fulltext-search/
grep型 と 索引型 に大別されます。
grep型
検索対象のテキスト全部を探す方式で、 逐次検索 とも呼ばれます。
メリットは事前準備が不要で、すぐに検索ができることです。
ただし検索対象のテキストが大量にある場合、すべてのテキストを読み込むことになるため時間がかかるというデメリットもあります。
索引型
事前に検索対象のテキストから 索引(インデックス) を作成し、検索時にはその索引を利用して検索語を探す方式です。
メリットは膨大な量の情報も高速で検索できることです。
デメリットは索引を作成するための初期コストや、テキストが更新されるたびに索引も更新する必要があり、時間や労力がかかることです。
ビジネスシーンにおいては大量のデータ群からほしい情報を高速に検索することが求められるので、索引型の全文検索が一般的です。
Amazon OpenSearch Service も索引型になります。
検索システムの構成
詳細はAWSが提供している以下資料を見れば理解が深まりました。
さいごに
また1つ勉強させていただきました。ありがとうございました。
どの様な仕組みなのかはざっくり把握ができたので、お客様のシステムにどのように活用するかを検討していきたいと思います!
そして唐突ですが弊社のご紹介もさせてください。
▼ コーポレートサイト
▼ Wantedly求人
弊社メンバーは学習した内容を日々Qiitaの記事にアウトプットしております。
弊社にご興味のある方、まずは求人を見てみてください!
ご応募お待ちしておりますー!
参考記事