Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} 2017 2日目 | Dell.com-検索の裏側 #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんばんは!
Yanagiharaです。

Elastic{ON}2017 2日目!
本日は セッション終了後にパーティがあり、
その会場はなんと、California Academy of Sciencesでした😧
このように変わったパーティ、というのも海外らしいですね😋

では本日も事例を中心にセッション紹介をしていきましょう。

参加セッション

2日目に私が参加したセッションは次の通りです。

  1. BoF: Denormalizing Data
  2. Products, Support, Commerce, and Relevancy: The Story Behind Search on Dell.com
  3. 'Elasticsearch as a Service' in eBay
  4. Consensus and Replication in Elasticsearch
  5. Ballerina

2日目はECサイト検索を扱った事例もあり、特に印象的だった
「Products, Support, Commerce, and Relevancy: The Story Behind Search on Dell.com」
を、簡単に紹介したいと思います。


Products, Support, Commerce, and Relevancy: The Story Behind Search on Dell.com

概要

おなじみ、ハードウェアで有名なDellは、多国籍向けのマルチテナント検索を行っています。
その規模は、60カ国、21言語以上にのぼり、1日に150万件もの検索があるそうです。

そのような大規模なDell.comの検索基盤にもElasticsearchが使われています。

なぜElasticsearchか

Elasticsearchを使うようになった理由は

  • 動かせるまでのシンプルさ
  • ローカルで修正が容易なこと
  • 今後も進化していくこと

とのことでした。

アーキテクチャはこんな感じになっています。

検索入力の高度な解析


Dell.comでの検索における工夫はこんなにもあるようです😲


その中でも検索において重要なのが、ユーザがその単語で何を探そうとしているか
判別するためのAnalyze(解析)です。

セッションでは、Dell.comにおいて、
入力されたワードが細かく解析される様子をみせてくれました。

xps 15」と入力すると→「xps-15-***」という商品を探しにいったり、
「8 Giga bites」と入力すると→「MEMORY_8GB」として認識されたり、
様々なルールが適用されていることがわかります。


さらにそのルール決めに使われている辞書も、各言語ごとに用意され、各辞書は3万行にものぼります。


適用したルールが、入力に応じてリアルタイムで適用されているかテストできる、
というデモもみせてくれました。
この仕組みにノウハウが凝縮されていそうです😆

検索の解析ルールの調整を容易にする管理UI

このような高度なルールがありますが、これを設定するのは大変そうです。
そんなルールを設定するための管理画面を自前で作成してありました😍


重み付けを設定したり、


検索対象のON/OFFを設定できたり、と
様々なルールをセットとして登録でき、
国ごとにそれを適用しているようです。


さらに、適用した結果、クエリがどのプロセスで処理されているか、
重み付けによる影響がどの程度の割合か、などを
可視化することができ、これをみてルールを決めることができます。

なんと、この初期版を3〜4ヶ月で作成したそうです😧

これだけリッチな管理UIがあると、検索条件を細かく設定して、
さまざまな顧客やイベントに対してアプローチできそうですね😀

最後に

明日は、Elastic{ON}いよいよ最終日!
明日はWalgreensのセッションもあり、楽しみすぎて今日も眠れません😣

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com