Painless / Painful? A Custom Ranking System in Elasticsearch
summary
A car-rental demo implements a custom ranking system on Elasticsearch/OpenSearch using function_score (mode=sum) to combine index-time, runtime, and mixed factors so business rules and contextual filters affect scoring. Runtime functions are written in Painless scripts but encounter pitfalls like lost array order unless reading _source, a restricted Java subset, and performance/caching tradeoffs between filters and scoring; debugging uses explain/debug APIs and clip_score, and the solution was migrated to OpenSearch 1.3.0’s explanation feature to avoid breakage.
AI-written summary · about
chapters (10)
- 0:00System rankingowy introduction
- 2:29Case study presentation
- 5:23System architecture & tech
- 7:09Ranking factors types
- 12:24Contextual factors deep dive
- 17:29Painless in Elasticsearch
- 21:21Painless debugging pitfalls
- 32:59Color issues troubleshooting
- 36:30Ranking exploration & explanations
- 37:59OpenSearch comparison
related talks
30mFrom basic distance search to a complex multi criteria search
36mRecommendations at scale with Elastic Search
21mEvolution of Yelp search to a ranking platform
09mNative Dense Vector Scoring in Elasticsearch
26mMeasuring Search Engine Quality using Spark and Python
41mBeyond the basics with Elasticsearch
01h 00mElasticsearch: you know, for more than search
47mWhy, What, When and How of Running Diff Types of Sear...
