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.1k
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
15k
仮想関数テーブルと型クラスを見比べる
tarao
1
1.4k
ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス
tarao
1
4.8k
計算ファースト vs. 型ファースト / Computation First vs. Type First
tarao
4
21k
10年でどう変わった? はてなブックマークでのPerlの使い方
tarao
10
9k
Other Decks in Programming
See All in Programming
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Quine, Polyglot, 良いコード
qnighy
4
640
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
860
Click-free releases & the making of a CLI app
oheyadam
2
110
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
530
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
570
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
4
640
Featured
See All Featured
Teambox: Starting and Learning
jrom
133
8.8k
Thoughts on Productivity
jonyablonski
67
4.3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
What's new in Ruby 2.0
geeforr
343
31k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Practical Orchestrator
shlominoach
186
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 ◮