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
Percolatorを用いたカテゴリ分類
Search
INA Lintaro
August 02, 2018
Programming
0
3.5k
Percolatorを用いたカテゴリ分類
2018-08-02 Elasticsearch勉強会
https://www.meetup.com/ja-JP/Tokyo-Elastic-Fantastics/events/252971593/
INA Lintaro
August 02, 2018
Tweet
Share
More Decks by INA Lintaro
See All by INA Lintaro
record4s --- Extensible Records for Scala 3, and Domain Modeling with Structural Types
tarao
2
20k
仮想関数テーブルと型クラスを見比べる
tarao
1
2k
ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス
tarao
1
5.8k
計算ファースト vs. 型ファースト / Computation First vs. Type First
tarao
4
22k
10年でどう変わった? はてなブックマークでのPerlの使い方
tarao
10
9.5k
Other Decks in Programming
See All in Programming
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
750
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
300
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
270
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
450
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
170
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
530
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
Testing Trophyは叫ばない
toms74209200
0
870
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
RailsConf 2023
tenderlove
30
1.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Designing for Performance
lara
610
69k
Building an army of robots
kneath
306
46k
Docker and Python
trallard
45
3.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Thoughts on Productivity
jonyablonski
70
4.8k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Navigating Team Friction
lara
189
15k
Transcript
Percolator id:tarao @oarat 2018-08-02 Elasticsearch
(id:tarao @oarat) 2008-10 ( ) 2010-04 (DC1) 2013-04 2013-12 2017-02
◮ ◮ , ◮ ◮ Scala
None
◮ (2015 ) ◮
None
:
◮ ◮ ◮
pull ◮ (Complement Naive Bayes) ◮ ◮ ◮ N ◮
◮
pull
pull ◮ ◮ ◮ Elasticsearch ◮ Memcached
pull
pull ◮ ◮ ◮ ◮ ( ) ◮ N (
N ) ◮
push ◮ ( ) ◮ ( )
push
◮ ◮
◮ ◮ ⇒ Percolator
Percolator https://en.wikipedia.org/wiki/Coffee_percolator
Percolator (Scala) createIndex(MainIndex).mappings( mapping("issue_item_query") fields percolatorField("query")) val query = issueItem.query.toCategorizingQuery.toFilteredQuery
register(query) into(MainIndex / "issue_item_query", "query") withId issueItemId.toPercolatorId search(MainIndex / "issue_item_query") query { percolateQuery("entry", "query") usingSource entry.toEsEntry.toJsonString }
Percolator (API) PUT /MainIndex/issue_item_query { "mappings": { "_doc": { "properties":
{ "query": { "type": "percolator" } } } } } PUT /MainIndex/issue_item_query/issueItemId { "query": query } GET /MainIndex/issue_item_query/_search { "query": { "percolate": { "document_type": "entry", "field": "query", "document": entry } } }
◮ ◮ OR
◮ ◮ ◮ ◮
◮ ×8 ◮ ×250+ ◮ ×800+
None
◮ ◮ 1 ◮ ◮ ( ) ◮ ◮
◮ ◮ ◮ ? ( kuromoji ) ◮ ◮ →
◮ ◮ ◮ Percolator ◮ Percolator ? ◮
◮ push ◮ Percolator ◮ push ◮