複雑な検索条件でも高速サーチを実現
Elasticsearch採用によりさまざまな検索条件やデータの種類に対応し、「意味検索+キーワードによる絞り込み」の複合条件でも高速なサーチを実現、優れた顧客体験を提供可能。
検索システムの集約による運用負荷の軽減
意味検索をはじめとした検索機能の多様化により、煩雑化していた検索システムをElasticsearchに集約したことでインフラの運用負荷を大幅に軽減し、安定したサービス提供を実現。
「顧客体験の向上」に向けたサービス開発を支えるシステム運用
マネージドサービス「Elastic Cloud」に検索機能のメンテナンスをアウトソースすることで、開発チームは当社ミッションの「顧客体験の向上」に向けたサービス開発に注力できるようになった。
「モノづくり産業のポテンシャルを解放する」をミッションに掲げるキャディ株式会社(以下、キャディ)は、「製造業AIデータプラットフォーム CADDi 」を通じて、蓄積された知見を最大限に生かせるDXを推進している。しかし、サービス開始当初、心臓部ともいえる検索機能は、性能レベルや安定性などに課題を抱えていた。そこで同社は新たな検索システムにElasticsearchを採用し、高速な検索と運用負荷の軽減を実現した。
製造業の課題を解決するソフトウェア企業へ事業転換
キャディは、2017年の創業から一貫して、製造業の変革を支援するサービスに特化して取り組む企業である。当初は板金部品の受発注業務の課題を解決するためのワンストップサービス「CADDi Manufacturing」を提供し、自らサプライヤーの選定や検品、納品を担うモノづくり企業として活動してきた。
製造事業者の内部に蓄積したデータを活用するための製造業データ活用クラウド「CADDi Drawer」や、調達業務特化の「CADDi Quote」を提供するソフトウェア企業へと業態転換を図っている。
同社エンジニアリングマネージャーの橋本侑樹氏は、2022年同社に入社後、検索領域を中心にCADDi Drawerの製品開発部門でマネジャーを務めている。
「当社の祖業でもあった『CADDi Manufacturing』は、好調に事業を拡大していましたが、サービスを提供する過程で、製造業ではさらに広い領域で変革が求められていることがわかりました。そこで業態転換を図り、ソフトウェアの提供にリソースを集中することで、より多くの企業の変革を支援できると考えています」と橋本氏は語る。
CADDi Drawer開発の背景となった製造業の情報管理の課題について、橋本氏は次のように説明する。
「一般的に、製造業では大きく分けて2つのシステムが稼働しています。1つは製品のライフサイクル全体にわたる情報を管理するPLM(Product Lifecycle Management)。これは部品表や図面、属性情報など、設計や開発に関する情報を管理します。もう1つがERP(Enterprise Resource Planning)で、会計や在庫、受発注などの情報を扱います。このように、もともと製造業では情報管理の意識は高いのですが、これらの情報を統合的に扱う際にはさまざまな問題が生じていました」
既存の情報検索は用語を検索するシステムとなっており、例えば「この部品の図面はどのPDFの内容と一致するか」を特定する検索形式が多く、過去の情報を自在に検索したり、違う条件で絞り込んだりといったことは想定されていなかった。そのため、一度描いた図面などの情報が後から活用される機会は少なく、同じような図面を一から作成しなければならないという不合理さにもつながっていた。
「もともと製造業で使われていたのはSoR(記録のためのシステム)でした。一方、当社が開発したCADDi DrawerはSoI(データから示唆を得るためのシステム)であり、企業内に眠っていた情報を、価値ある資産に変えることを目指しています」(橋本氏)
求める機能を実現するために検索システムが複雑化
社内の情報を効果的に活用するためのツールとしてCADDi Drawerが重視したのは、社内に分散したさまざまな形式のデータを一括で検索できる機能と、その検索の能力をユーザーが自在に操ることができるユーザーインターフェースの作り込みだ。
「CADDi Drawerの初期タイプは、図面に書かれている文字情報を抽出して、その全文をキーワードで検索できる機能を実装しました。また、検索結果を1つずつ表示して確認するのは手間がかかるため、一覧形式にサムネイルを入れて図面の内容がわかるように表示するなど、検索作業をスムーズにする作り込みも行いました」(橋本氏)
だが、製造業と一口に言っても、さまざまな業態があり、素材や単位、数量などを一括りでは管理できず、業界ごとに最適な検索条件を設ける必要がある。また、企業によっては数十万点におよぶ社内情報を検索するため、大量データの検索に耐えるシステムでなければいけない。さらに、さまざまな部署で管理されている情報をどのようにつなぎ、部署を跨いだ検索できるようにするかという課題も残っていた。橋本氏のチームはそれらの課題を一つ一つクリアしていった。
CADDi Drawerの開発が進むにつれ、キーワードだけでなく、抽象度の高い検索にも対応する「意味検索」の機能も採り入れた。この機能のために、意味検索用のエンジンを自社内のサーバーにホストし、エンジニアチームで管理することとした。
加えて、すでに構造化されている情報を検索するためのリレーショナルデータベースの検索システムも必要だったため、CADDi Drawerのバックエンドでは、合計3つの検索システムが稼働する状況が生まれていた。「3つのシステムにはそれぞれ一長一短があり、管理が煩雑になっていました。特に意味検索のエンジンは自社内でホストしたサーバーに置かれており、インフラ自体に大きな運用負荷がかかっていました」(橋本氏)
意味検索エンジンのサーバーでインフラの運用負荷が高まり、スケーラビリティの確保に課題が生じていた。障害が発生しなかったとしても、3つのシステムの稼働を続けることはコストや安定性の点から望ましくなかった。そして、肝心の検索スピードも遅く、同社が実現したいユーザー体験には達していなかった。
複数の検索システムをElasticsearchに統合し、検索体験を大幅に向上
「Elasticsearchの検索エンジンが、次のバージョンでベクトル検索をサポートするという情報を得ました。しかも、Elasticsearchはベクトル検索と通常のキーワードによる絞り込み検索を組み合わせて検索結果を出せるため、当社が求めている機能を1つのシステムに集約できる可能性がありました」(橋本氏)
さらに追い風となったのは、Elasticsearchのマネージドサービスである「Elastic Cloud」が同タイミングでリリースすることだった。
「Elasticsearchを利用すれば最適化された構造でデータを利用できるため、検索スピードが向上することは事前の検証でわかっていました。マネージドサービスでElasticsearchを利用することにより、検索システムの統合、インフラ管理のアウトソーシング、パフォーマンスの向上という3つの課題を一挙に解決できる見通しが立ちました」(橋本氏)
こうして、同社は従来の3システムの組み合わせからElastic Cloudへと検索システムの移行を進め、2023年から本番サービスでの提供を開始した。エンドユーザーには直接見えないところの改修ではあるが、ユーザー体験は大幅に向上したと橋本氏は語る。
「特に、複雑な条件を設定したときや、異なるデータソースの情報を組み合わせた際の検索スピードの速さは目を見張るものがあります。マネージドサービスとしてこれだけの体験が得られるのであれば、自社で検索エンジンをチューニングする必要はありません」
検索スピードが速ければ、検索のやり直しが発生した場合においても、容易に検索することが可能なためユーザーは結果的に短時間で目的の情報にたどり着くことができる。「情報を資産に変える」という、キャディが目指す世界の実現にとって、検索体験の向上は不可欠なピースでなのである。
設計部門のデータと調達部門のデータなど、複数のデータソースにまたがる情報にハイブリット検索をかける場合でも、Elasticsearchは非常に高速な検索が可能なため、当社が追い求める顧客体験を損なわずにレスポンスを返すことができます。
マネージドサービスのサポートについても評価が高い。「予期せずデータが過剰にシステムに投入されたことがありましたが、サポートチケットを利用してElastic側で修復を行っていただき、迅速に復旧できました。常にサポートが得られることは、非常に安心感があります」(橋本氏)
今後はサーバーレス環境での運用に期待
Elasticsearchの実装によって、大きく改善したCADDi Drawerの検索性能に対し、橋本氏は概ね満足している。また、マネージドサービスの利用によって、検索システムの運用負荷からも解放されたことで、開発チームの本来のミッションである「顧客体験の向上」に十分なリソースを投入することができている。
「当社は初期CADDi Manufacturing事業で培った知見を製造業向けAIデータプラットフォームとして引き継ぎ、日々製造業のお客様の現場へ出向いています。そこで得た情報は開発チームへフィードバックされ、より業務を効率化するための改善を加えます。」
「Elastic Cloud」に検索機能の運用を任せることで、開発チームは「製造業のポテンシャルを解放する」という、当社のミッションに沿ったサービスの開発に集中できるようになりました。
橋本氏は、Elasticからの情報提供の姿勢についても評価している。「管理者と一般の開発者でElasticsearchの利用権限を分けてガバナンスを利かせることを考えましたが、導入当時のElasticsearchにはその機能がありませんでした。Elasticに相談したところ、近日中にリリースされる次のバージョンでは実装できるということで、それを待ちながら社内体制を検討し、リリースと同時に実装することができました」
今後、橋本氏が期待しているのは、Elasticsearchのサーバーレス環境での提供だ。これはElasticより公式アナウンス済みだが、橋本氏は、「当社のサービスの場合、検索のサーバーレス化はコストパフォーマンスを大幅に向上させると想定しています。リリースされたら、すぐにテストして実装に向けて検討したいです。楽しみにしています」と話す。
同社では、用意した良いデータと優れたエンジンが組み合わされて、はじめて検索の体験価値は高まると考えている。橋本氏は最後に次のように語った。
「私個人としては、まだ“検索”の価値を20%程度しか引き出せていないと感じています。残り80%のポテンシャルを発揮するために、これからもElasticのサポートを受けながら、データとサーチの両面で改善を続けていきます」