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
17k
仮想関数テーブルと型クラスを見比べる
tarao
1
1.6k
ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス
tarao
1
5.2k
計算ファースト vs. 型ファースト / Computation First vs. Type First
tarao
4
22k
10年でどう変わった? はてなブックマークでのPerlの使い方
tarao
10
9.1k
Other Decks in Programming
See All in Programming
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Introduction to kotlinx.rpc
arawn
0
700
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
110
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
130
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
120
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
Domain-Driven Transformation
hschwentner
2
1.9k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
2024年のWebフロントエンドのふりかえりと2025年
sakito
3
250
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Navigating Team Friction
lara
183
15k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
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 ◮