Elastic{ON}2017 レポートのまとめはこちら!!
こんばんは!PlNOKlOです!
サンフランシスコは夜中でございます!!
本日参加したセッションについてご説明したいと思います!
参加セッション
- Opening Keynote
- Near Real Time Retail Analytics @ Walmart
- Elastic @ General Mills: The Journey Continues
- Streamlining Healthcare and Research: The Story of Elasticsearch at UCLA Health
- Welcome Reception
いやー、キーノートすごかったですね!
同僚がそこは詳しくブログを書いているので割愛しますが、
Kibana大好きな私は興奮しっぱなしでした!!
ぜひこちらのブログもご覧ください😊
本日はキーノート以外にはUse Caseをたくさん聞いてきました。
Walmartはアメリカの世界最大のスーパーマーケットで、
売上額でも世界最大の企業です。
General Millsは食品の加工 / 販売をしている会社で、
子会社にハーゲンダッツなど有名な企業を80ほど持つ、大手企業です。
食品業界、流通業界に関連する分野でのElasticsearchの活躍範囲を聞けたのは大きかったですね!!
それでは私はGeneral Millsの事例をご紹介します!
General Millsは昨年のElastic{ON} シカゴでも発表していて、
その発表では精度の高いサイト内検索をするために
EndecaからElasticsearchへの置き換えを行った内容が紹介されていました。
https://www.elastic.co/elasticon/tour/2016/chicago/the-trix-to-creating-a-totally-new-customer-experience-elastic-at-general-mills
こちらが昨年の発表内容です。
ちなみにEndecaというのは、「Oracle Endeca Information Discovery」のことであり、
構造化データと非構造化データの紐づけを簡単に実現し、DBの構造設計が不要、
検索中心の操作感で誰でもすぐに利用可能な「ビジネスアナリスト」向けの製品です。
こちらをElasticsearchに置き換え、
以下のサイトの検索を行いたいと紹介されていました。
http://www.bettycrocker.com/
https://www.pillsbury.com/
http://tabelspoon.com/
今年の発表では、Webサイト内の複雑なデータの検索を行うために、
データの持ち方に工夫をしたようで、
それをデモも交えて紹介していました。
まず構成としては、
5データノード、2クライアントノード、3マスターノードでクラスタを組み、
1秒あたり350レコードを取得しながら、約3500個のシャード検索をしています。
そして、Simple Search DTOを間に挟むことで検索の実装を行っています。
General Millsのサイトを検索するには、
レシピ、記事、ビデオ、製品、クーポンなど、
多種にわたるデータを検索できるようにしなくてはなりません。
そこでGeneral Millsが行ったのは
商品カテゴリや、商品までさまざまな要素を対等なドキュメントとして扱う、
シンプルに検索する仕組みだそうです。
発表で説明されていたのは、
ItemID、Title、Metadataを共通のフィールドにしていました。
ItemIDは要素を判別するためのIDで、
Titleは検索するために最も必要な要素、
Metadataは固有の情報を格納するための要素です。
Metadataは
・Label:カテゴリ
・Value:サブカテゴリ
・Groupes:LabelとValueを論理的にグループ化する要素
・Parent-child groups:Groupの階層構造を持つ要素
を保持しています。
そうすることで検索の際、
Metadataを検索すればよいことになります。
そしてここで出てくるのは、
ドキュメントベースから情報ベースの考え方です。
一つのDocumentがたくさんのフィールドを持つという
Documentベースで考えではありません。
Documentを汎用的な型のように考え、
商品カテゴリ、商品、タイムスタンプをそれぞれ
1Documentとして表す、というものです。
各Documentは
・ItemID(Guid)
・Title(string)
・Values(List
・Attachments(List
を保持しており、ValuesやAttachmentsに
各ItemIDを入れて、商品カテゴリ-商品-タイムスタンプなどの
関連づけをおこなっています。
このようなデータの管理をすることで、
サイト内でItemID検索をすると、
そのItemIDを持った商品と、それを子(Attachments)に持つ商品カテゴリ
の両方のドキュメントが取得できるのです。
そうすることで多種多様なデータでも、等しいドキュメントとして検索が可能になったのです。
ただ、同じドキュメントでも構造が変わるので、
データの入れ方、取り出し方などが難しいと思いますよね?
そこで、自前で出し入れするメソッドを実装し、
それを利用してデータの管理を簡単に行っているそうです。
実はどういうコーディングもしているか紹介してくれていて、
これがその紹介Demoになります。
私も営業でお客様とお話しすると、
自社Webサイトの検索をElasticsearchでしたいと相談をしてくださる方が多いです。
そういった方々には少しヒントになるのではないでしょうか?
ということで、General Millsの紹介でした!
General Millsの発表はDemoの解説が多く、
技術者には楽しい内容という感じでした。
私は営業なので、かなり技術的に詳しい話になると、
情報の処理が追い付かなくなり大変でした😭
かなりの集中力を使って疲れ切ってしまったので、
明日に備えて寝ることにします😅
明日は以下のセッションを聞いてきます!
- What's the Latest in Logstash?
- What's X?citing in X?Pack?
- Strengthen your SIEM: Using Logstash to Connect ArcSight to the Elastic Stack
- Browse Raw Logs in One Place: Open Source Plug-in for Kibana
- 'Elasticsearch as a Service' in eBay
- Ballerina
- Elastic{ON} Party
この中から面白かったものを明日もあげるので、
お楽しみにしてください!!
"Please enjoy using Elasticsearch !"
Elastic{ON}2017 レポートのまとめはこちら!!
Acroquest Technologyでは、キャリア採用を行っています。
- ビッグデータ(Hadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
- マイクロサービス、DevOpsなどの技術を使ったり、データ分析、機械学習などのスキルを活かしたい。
- 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
- 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com