Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
技育展登壇資料 Omochi
Search
Yuki Yada
September 11, 2022
Programming
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技育展登壇資料 Omochi
Yuki Yada
September 11, 2022
Transcript
13 slides
全文検索エンジンOmochi 無駄開発部門 / 矢田宙生 ( yyada.jp )
作ったもの 全文検索エンジンの Goによるスクラッチ実装
なんで作った? 全文検索エンジンOmochi 世の役に立つ? 起業? 開発支援? コスト削減?
なんで作った? 全文検索エンジンOmochi 世の役に立つ? 起業? コスト削減? 面白そうだから。 開発支援?
全文検索エンジン・Omochi • 転置インデックス型全文検索エンジン "ドラえもん"という検索ワードで検索したら、 "ドラえもん"というワードを含む文書を返してくれる • 全文検索の部分をGoで全てスクラッチ実装 (「Elasticsearch ? そんなものナンセンスさ
😏」) • HTTP API経由で検索することが可能! ドラえもんで検索するとき : “/v1/document/search?keywords=ドラえもん” • 対応言語: 日本語 & 英語
転置インデックス is 何 1. "java ruby js" 2. "cpp java
rust" 3. "zig carbon rust" 全文検索の肝とも言える文書に登場するトークン(単語)と 文書情報を紐づけたようなデータ構造 文書
転置インデックス is 何 1. "java ruby js" 2. "cpp java
rust" 3. "zig carbon rust" { “java”: [ 1 ,2 ] “rust”: [ 2 , 3 ] “zig”: [ 3 ] …. } 全文検索の肝とも言える文書に登場するトークン(単語)と 文書情報を紐づけたようなデータ構造 文書 転置インデックス
Omochiの技術スタック
デモ🤩
反響😳 • 執筆した記事がzennでトレンド一位 • 有名 & 強い人が拡散してくれた Kosuke tsujino さん(検索エンジン開発者
at Google) mattnさん(Go Expert at メルカリ) • リポジトリのスター数: 65 (皆さん、是非 ⭐ してください🥺 )
まとめ
まとめ 車輪の再発明、 楽しいぞ!!!!!!! 🎉🎉🎉
ご静聴ありがとうございました!
More Decks by Yuki Yada
See All by Yuki Yada
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
11
2.4k
DEIM2024 / 大規模言語モデルを用いたカテゴリ説明文付与によるニュース推薦の性能向上
yadayuki
1
280
【情報科学若手の会 2023秋 軽井沢】大規模言語モデル(BERT)を用いたニュース推薦のPyTorchによる実装と評価
yadayuki
1
1k
インターン成果発表資料 / サイボウズ・フロントエンドエキスパートコース
yadayuki
0
2k
クックパッド・インターン成果発表
yadayuki
0
590
Other Decks in Programming
See All in Programming
どうしても Eloquent でリポジトリパターンをやりたいんだ #phpcon_niigata / phpcon-niigata-2026
shogogg
0
140
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
320
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
670
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
小さなアプリを作って公開するまで
onozaty
0
170
GraphQL の onError と Nullability のこれから
quramy
0
220
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.9k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
150
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
300
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
250
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
150
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
750
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Designing for humans not robots
tammielis
254
26k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Optimising Largest Contentful Paint
csswizardry
37
4k
The SEO Collaboration Effect
kristinabergwall1
1
620
Facilitating Awesome Meetings
lara
57
7.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
11
37k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k