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.2k
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
16k
仮想関数テーブルと型クラスを見比べる
tarao
1
1.5k
ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス
tarao
1
4.9k
計算ファースト vs. 型ファースト / Computation First vs. Type First
tarao
4
21k
10年でどう変わった? はてなブックマークでのPerlの使い方
tarao
10
9k
Other Decks in Programming
See All in Programming
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
350
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
600
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
useSyncExternalStoreを使いまくる
ssssota
6
1k
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
150
快速入門可觀測性
blueswen
0
310
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How STYLIGHT went responsive
nonsquared
95
5.2k
Typedesign – Prime Four
hannesfritz
40
2.4k
Visualization
eitanlees
146
15k
GraphQLとの向き合い方2022年版
quramy
44
13k
GitHub's CSS Performance
jonrohan
1030
460k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Documentation Writing (for coders)
carmenintech
66
4.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
How GitHub (no longer) Works
holman
311
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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 ◮