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
Query Rulesの現在地
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuma Arimura
February 28, 2024
Technology
0
190
Query Rulesの現在地
第58回Elasticsearch勉強会 2024.2.28 #elasticsearchjp
Kazuma Arimura
February 28, 2024
Tweet
Share
More Decks by Kazuma Arimura
See All by Kazuma Arimura
言語モデルを用いたQuery Categorizationへの取り組み / LM-based query categorization for query understanding
pakio
0
1.1k
Search platform migration at MercariUS/Mercari USにおけるElasticsearchへの検索基盤移行:マイグレーションの知見と課題
pakio
0
690
Shard Balancingについて理解したい/Understanding shard rebalancing in Elasticsearch
pakio
0
1.1k
Rallyで支えるバージョン追従
pakio
0
1.2k
CUEを使ったJSONテンプレート管理
pakio
0
990
宣言的かつ安全に管理するElasticsearch/Declarative management for Elasticsearch
pakio
0
1k
8.0からのkNNはどう変わったのか / How kNN search changed in the Elasticsearch 8.0
pakio
1
2.2k
マッピング設定最適化によるパフォーマンス改善の取り組み + match_only_textのパフォーマンス検証 / Improving indexing performance by specifying mapping properties.
pakio
0
530
リプレイスを通して実現した、 より高度なサービス改善 / Service improvement process through the system replacement
pakio
0
5.3k
Other Decks in Technology
See All in Technology
新規事業における「一部だけどコア」な AI精度改善の優先順位づけ
zerebom
0
450
SMTP完全に理解した ✉️
yamatai1212
0
180
AI時代、1年目エンジニアの悩み
jin4
1
140
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
260
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
210
Digitization部 紹介資料
sansan33
PRO
1
6.8k
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
630
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
600
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
670
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
200
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
The browser strikes back
jonoalderson
0
350
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Balancing Empowerment & Direction
lara
5
880
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Transcript
Query Rulesの現在地 第58回Elasticsearch勉強会 2024.2.28 Kazuma Arimura (@pakio)
自己紹介 Kazuma Arimura • 株式会社メルカリ • Mercari US@Tokyo ML/Search
team • Software Engineer(Search)
Query Rules とは?
Query Rules とは? • 検索時に何らかの目的を持ってクエリを動的に書き換える機能、 及びその際に参照するルールセット
参考:他の検索エンジンでは? • Vespa ◦ Query Rewriting 機能 ▪ 検索クエリの書き換え無しで利用可能 (要設定)
▪ 検索キーワードをトリガーに発動 ▪ 特定フィールドへのBoosting, Rewrite, Stop wordsなどが利用可能 • Algolia ◦ Rules 機能 ▪ 検索クエリの書き換え無しで利用可能 (要設定) ▪ 検索クエリをトリガーに発動 ▪ 文書の固定, 文書の非表示, Stop words, Rewrite, Boostingなどが利用可能
Query Rules API
https://www.elastic.co/jp/blog/introducing-query-rules-elasticsearch-8-10
要約:Introducing query rules in Elasticsearch 8.10 • 検索結果を検索クエリへの関連度とは別の観点からカスタマイズする機能 • Elasticsearch
8.10 で導入 (Technical Preview) • 現在はPinned Queryの動的な挿入をサポート • 想定ユースケース例 ◦ ナレッジ検索 : お知らせページの固定 ◦ EC検索 : プロダクトのプロモーション
前提:Pinned Query とは? • Elasticsearch 7.4 で追加 • 検索クエリの関連度に関わらず、 指定された文書を優先して返却
前提:Pinned Query とは? 通常の検索クエリ
前提:Pinned Query とは? 固定対象の文書ID
前提:Pinned Query とは? スコアがかさ増しされ、優先的に返却
Query Rules の利用方法 引用元: https://www.elastic.co/jp/blog/introducing-query-rules-elasticsearch-8-10
Query Rules の利用方法 1. Query Rules の作成 2. Query Rules
の登録 3. 検索クエリの書き換え
1. Query Rules の作成 rule_id 管理用ID type ルールの種類 criteria 適用条件の詳細
type: - exact: 完全一致 - fuzzy: 一定編集距離内の場合一致 - prefix: 前方一致 - suffix: 後方一致 - contains: 含有 - lt, lte, gt, gte: 数値範囲 - always: 常時オン metadata: 検索時に指定 actions 固定ドキュメントの指定 (Max: 100)
2. Query Rules の登録 PUT /_query_rules API 経由で登録
3. 検索クエリの書き換え organic 内に検索条件を移動 + 適用対象の ruleset_id を指定
3. 検索クエリの書き換え match_criteria 内に ルール照会条件を指定 ※ ルール作成時のmetadataに該当
Query Rules 👍 • Relevancyを超えて最適化が可能 • API経由で管理 • 適用条件のカスタマイズ性 👎
• 機能がIDベースのPinned Queryに限定 • クエリの書き換えが必要
参考:Searchkit • Searchkit ◦ Query Rules 機能 ▪ 検索クエリの書き換え無しで利用可能 (要設定)
▪ 検索キーワードをトリガーに発動 ▪ 特定フィールドへのBoosting, Rewrite, Stop wordsなどが利用可能
Thanks!