Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
〇〇みたいな検索作ってと言われたときに考えること / thinking before dev...
Search
ryokato
July 29, 2022
Technology
6
3.8k
〇〇みたいな検索作ってと言われたときに考えること / thinking before developing search system like that one
ryokato
July 29, 2022
Tweet
Share
More Decks by ryokato
See All by ryokato
The first step self made full text search
ryook
7
7k
Other Decks in Technology
See All in Technology
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
190
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
13
4.2k
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
370
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
300
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
660
Model Mondays S2E02: Model Context Protocol
nitya
0
180
知識を整理して未来を作る 〜SKDとAI協業への助走〜
yosh1995
0
130
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
140
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
ローカルLLMでファインチューニング
knishioka
0
120
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Making Projects Easy
brettharned
116
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Become a Pro
speakerdeck
PRO
28
5.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
The Cult of Friendly URLs
andyhume
79
6.4k
Embracing the Ebb and Flow
colly
86
4.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
The Invisible Side of Design
smashingmag
299
51k
Transcript
© VisasQ Inc. All Rights Reserved. 〇〇みたいな検索作って と言われたときに考えること
© VisasQ Inc. / Confidential 自己紹介 ▪ 加藤遼 ▪ 株式会社ビザスク
◦ 検索チーム ▪ 最近好きなビールのスタイル ◦ スムージーサワーエール(高いけど
© VisasQ Inc. / Confidential こういうことよくありますね 〇〇みたい検 索作ってよ 検索よくしたい よね〜
とりあえず 〇〇参考にし てみるか〜
© VisasQ Inc. / Confidential 他サービスを参考にするのはいいことだけど... ▪ 安易に採用するとうまくいかない可能性があります。 ▪ 今回は、「なぜうまくいかないかもしれないの?」の説明をします
© VisasQ Inc. / Confidential 大前提にあるべき大事なこと ▪ 検索機能はサービスの一部 ▪ 機能やロジック・精度以前に、ユーザーにどういう体験を提供するかが重要
▪ ユーザーによりよい体験を提供するために、「よい検索機能」や「よい検索精 度」というものが必要という順番
© VisasQ Inc. / Confidential 検索システム全体像 ▪ 検索機能は単純に見えて、考える要素は意外と多い ▪ 最低限の検索機能を実現するだけでも以下の要素が必要
検索エンジン 検索ロジック 検索機能/UI データ ユーザー
© VisasQ Inc. / Confidential 検索機能を考えるときの視点 検索エンジン 検索ロジック 検索UI データ
ユーザー ▪ 検索機能の考えるときに青枠部分だけに意識が向きすぎる ◦ 不幸な結果になる ▪ オレンジ枠から考えることが重要 ◦ 青枠部分はオレンジ枠の内容次第で変わる
© VisasQ Inc. / Confidential ユーザーってどんな人?? ▪ その検索機能を使うユーザーがどんな人か理解する必要がある ▪ 検索観点だと
◦ 何を検索したいのか ◦ どういう観点で検索したいのか ◦ 検索する対象について詳しいのか ◦ 検索することになれているのか ◦ 何を求めて検索するのか ◦ どういう動機なのか
© VisasQ Inc. / Confidential 検索と行動は一つじゃない ▪ 「検索する人は何かを探したい」という認識は雑 ▪ 検索という行為は、動機やそれに基づく検索行動は複数ある
▪ 例えば、ランチのお店を探すときにどういう動機でどういう検索するかを考え てください
© VisasQ Inc. / Confidential ランチのお店探す時の動機の一例 ▪ 「今日お昼何たべよ」 ◦ 探したいものを認識できていない状態
▪ 「暑いからさっぱりしたやつ...」 ◦ 方針はある程度見えているが具体性はない状態 ▪ 「会社から近い麺にしよ」 ◦ 具体的な条件が明確で、条件を満たすものを探す状態 ▪ 「〇〇に行こう。場所どこだっけ?」 ◦ 既知の特定の情報を探す状態 探したいものが明確 探したいものが不明確
© VisasQ Inc. / Confidential 誰がどういう動機・目的で何を探している(ニーズ)によって 「検索する」という行為も様々
© VisasQ Inc. / Confidential ニーズや動機による違い例 ▪ よくみるこの機能も誰でも使えるわけではない 検索 探したいものが不明確な人
探したいものに詳しくない人 何で検索した らいいの... 必要な情報 見つけた!! 探したいものが明確な人 探したいものに詳しい人
© VisasQ Inc. / Confidential ニーズや動機による違い例 ▪ もしこういう結果になったら発狂したくなりますね? 近くのサイゼリヤを探したい時 渋谷のイタリアンを探したい時
サイゼリヤ デートにおすすめ!渋谷イタリアン10選 家族連れもOK 気楽にいけるイタリアン ・ ・ ・ 渋谷 イタリアン サイゼリヤ渋谷東急ハンズ前店 サイゼリヤ恵比寿駅東口店 ・ ・ ・
© VisasQ Inc. / Confidential どんな機能が必要か、どんなロジックがいいのかは ユーザーのニーズによって異なる 他サービスの機能がそのまま自サービスの ユーザーニーズに一致するとはいえない
© VisasQ Inc. / Confidential うちのサービスのユーザーのニーズもバッチリ理解した! その上で参考になる機能を見つけた! よしこれ実装しよ!
© VisasQ Inc. / Confidential そうは問屋が卸さないのが検索システム
© VisasQ Inc. / Confidential 検索(システム)はそもそも... ▪ DBに存在する情報しか検索できない ▪ 完璧な機能(UI)とロジックでも、ないものを探すことはできない
© VisasQ Inc. / Confidential こういうのあるあるですね いや、そういうデータう ちにはなくて... この条件で検索した い!!!
その項目ほとんど入力 されてないんで... この項目で検索しても 全然ヒットしないんだ けど!!!!
© VisasQ Inc. / Confidential データ品質は検索体験に大きく影響する ▪ データの欠損 ◦ 一部入力されてない、入力されていても短くて十分な情報量がない、等
◦ 検索してもうまくヒットしない... ▪ データの信頼性が低い ◦ 入力内容が間違っている、形式がバラバラ、古くて更新されていない、等 ◦ 期待通りにヒットしない。間違った内容がヒットする。 ▪ 各社データの品質をあげるために、データを買ったり機械学習的なこと頑張っ たり、人手で整備する専任部隊を作ったり、様々工夫している
© VisasQ Inc. / Confidential その機能はそもそも... ▪ 他サービスの検索機能が実現できているのは、持っているデータに依存してい る可能性がある こういうのもカテゴリデータであったり、検索ログだったりといったものがあるからできる
© VisasQ Inc. / Confidential データの準備方法はサービスによって異なる ▪ データをどうやって準備されているかは様々 ◦ ユーザーが入力する、(信頼できる)特定の人が作成する、整備されたデータベース
を購入する、など ◦ 独自でデータを作っていたり ▪ サービスや準備方法が異なれば、データの特性も違う ◦ 表記ゆれが多いとか、入力が少ないとか、テキストより数値が多いとか ▪ 同じ事業ドメイン、似たようなサービス、似たようユーザーニーズであって も、持っているデータの違いから、同じ検索機能を提供できるとは限らない
© VisasQ Inc. / Confidential データの特性と品質を理解しておくのはとても大事
© VisasQ Inc. / Confidential 検索機能を考えるときは ▪ ユーザーに提供すべき体験、解くべき課題を明確にする ▪ 前提となるユーザーニーズやデータについて理解する
▪ 前提をもとにどういう手段が適切なのかを考える ◦ この段階で他サービスを参考にするとよい 検索機能はあくまでも手段なので目的をまちがえないように
© VisasQ Inc. / Confidential まとめ ▪ 検索機能やロジックは、ニーズやデータ特性によって何が適切かは異なる ▪ いい感じの検索機能やロジックを作るよりも、解決したい問題は何か、提供し
たい価値は何かという目的を明確にして最適な手段を選ぶことが大事 ◦ 実際は今回の話以外にも技術的難易度やコスト、ROI等色々なことを考慮する必要 がある
© VisasQ Inc. / Confidential Appendix ▪ もっと詳しく知りたい人は、ペンギン本こと「検索システムー実務者のための 開発改善ガイドブック」を読んでください。