狠狠撸

狠狠撸Share a Scribd company logo
祝Elasticsearch 7.6、date, number 型での
ソートがさらに高速に!?
Magic WANDってなんですか?
Elasticsearch meetup #35
Koji Kawamura @ijokarumawak
Elastic - Education Engineer
2019/12/05
Elastic Certi?ed Engineer
試験合格しました!
忘年会LTで喋ったので...報告
35x
https://www.elastic.co/blog/elasticsearch-7-6-0-released
高速に (特定のテストでの結果)
Date, Numberでのソートがかつてなく高速になった
Elasticsearch 7.6.0
But how … ?
org.elasticsearch.search.query.QueryPhase
tryRewriteLongSortの内部でshouldにDistance Feature Queryを持つBooleanクエリに書き換えている。
rewrittenQuery = LongPoint.newDistanceFeatureQuery(sortField.getField(), 1, origin, pivotDistance);
org.elasticsearch.search.query.QueryPhase
適応条件クリアすると、 Luceneレベルのクエリが書き換わる
オリジナル
v:a v:b v:c v:d
書き換え後のクエリ
#(v:a v:b v:c v:d) LongDistanceFeatureQuery(?eld=,origin=1590915600000,pivotDistance=5200200000)
なにが嬉しいの?
WAND
の
流れに乗れるから
Early Termination 関連の improvements
7.0
Top-kクエリの高速化
#33028
Block-max WAND で OR
検索の足切りが高速に
7.2 7.6
ET: 検索結果のTop-kをいかに効率よく決定できるか
longでのソートが高
速に #48804
Distance Feature
Queryを利用してク
エリを書き換え
Distance Feature
Query #33382
Date, geoの距離で
スコアをブースト
Elasticsearch
7.0: Magic WANDって何?
ちちんぷいぷーい!- 魔法の杖 (wand)の文字遊び、Weak AND、複数の検索後をOR
検索する場合のEarly Termination アルゴリズム
- Elasticsearch (Lucene) ではWANDのブロック圧縮インデックス版
のBlock-max WANDを実装
- ブロック単位でposting走査をスキップするので、厳密な Hit数を計
算しなくなった
- 詳細を知りたい方はこちらがものすごくお勧め
https://medium.com/@mocobeta/lucene-8-の-top-k-クエリプロ
セッシング最適化-3-wandアルゴリズム編-4ae50b?b159
https://www.elastic.co/blog/faster-retrieval-of-top-hits-in-elasticsearch-with-block-max-wand
7.2 Distance
Feature Query
"Proximity" 時間や距離の近さ、でスコア
をブーストする。
今まではフィルタでHitさせるかどうかを制
御するか、Functionスコアのスクリプトで
実装する必要があった。
Distance Feature Queryにより、検索語
でのスコアリングとProximityのスコアリン
グをブレンドすることがより簡単、効率的
になった。
またBlock-max WANDの恩恵を受けられ
る。
距離で
時間で
7.6 Long sort
右のようなクエリを実行すると、 match部分の
Luceneクエリが、should句に
DistanceFeatureQueryを使ったboolクエリに自
動変換される
オリジナル
v:a v:b v:c v:d
書き換え後のクエリ
#(v:a v:b v:c v:d)
LongDistanceFeatureQuery(?eld=,origin=1590
915600000,pivotDistance=5200200000)
これまたBlock-max WANDの恩恵を受けられ
る。
適用条件
- Sortの第一条件対象がlong型のフィールド
- 対象のフィールドでインデックスソートが設定されていない (別の最適化が行われる
のでクエリ書き換えは行わない)
- ドキュメント件数 >= 512
- Aggregation使っていない
- ...
- その他もろもろ
お知らせ
Elasticsearch Engineer I – 3月 9 、10日 大阪 -> バーチャル (オンライン)
https://training.elastic.co/EngI/Osaka/March2020
Elasticsearch Engineer II – 3月 11、12 日 大阪 -> バーチャル (オンライン)
https://training.elastic.co/EngII/Osaka/March2020
Elastic Kibana Data and Operations Analyst – 4月 20 - 22日 東京
https://training.elastic.co/KDOA/Tokyo/April2020
Cloudキャンペーン Elasticsearch Serviceを3か月無料で
https://www.elastic.co/jp/campaigns/elasticsearch-service-annual-credit
Thank you!
Ad

Recommended

Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
崇介 藤井
?
Part 2: Data & AI 基盤 (製造リファレンス?アーキテクチャ勉強会)
Part 2: Data & AI 基盤 (製造リファレンス?アーキテクチャ勉強会)
Takeshi Fukuhara
?
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよ
VirtualTech Japan Inc.
?
「ウチの事業部の商品をWebサイト?アプリで目立たせて!」私だけじゃなかった! 社内政治と落としどころの見つけ方
「ウチの事業部の商品をWebサイト?アプリで目立たせて!」私だけじゃなかった! 社内政治と落としどころの見つけ方
Yoshiki Hayama
?
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
?
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
NTT DATA Technology & Innovation
?
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
NTT DATA Technology & Innovation
?
新机能によるデータベースシステムの改善ポイント
新机能によるデータベースシステムの改善ポイント
オラクルエンジニア通信
?
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
狈辞厂蚕尝データベースと位置情报
狈辞厂蚕尝データベースと位置情报
Koji Ichiwaki
?
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
?
検索基盘蚕补蝉蝉
検索基盘蚕补蝉蝉
takahito takabayashi
?
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
Hibino Hisashi
?
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
takanori suzuki
?
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
Amazon Web Services Japan
?
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
?
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
?
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
Tetsutaro Watanabe
?
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Akira Shimosako
?
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
Koitabashi Yoshitaka
?
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
MasaruNoda
?
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
驰补丑辞辞!デベロッパーネットワーク
?
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
Satoyuki Tsukano
?
AWS Black Belt Techシリーズ Amazon EMR
AWS Black Belt Techシリーズ Amazon EMR
Amazon Web Services Japan
?
SharePoint Online 「アクセス権」を理解する
SharePoint Online 「アクセス権」を理解する
Kazuhiko Nakamura
?
暗号技术の実装と数学
暗号技术の実装と数学
MITSUNARI Shigeo
?
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
?
アイデアソン?ハッカソン运営ガイドブック
アイデアソン?ハッカソン运営ガイドブック
エイチタス株式会社 H-tus Ltd.
?
Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Koji Kawamura
?
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Koji Kawamura
?

More Related Content

What's hot (20)

pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
狈辞厂蚕尝データベースと位置情报
狈辞厂蚕尝データベースと位置情报
Koji Ichiwaki
?
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
?
検索基盘蚕补蝉蝉
検索基盘蚕补蝉蝉
takahito takabayashi
?
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
Hibino Hisashi
?
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
takanori suzuki
?
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
Amazon Web Services Japan
?
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
?
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
?
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
Tetsutaro Watanabe
?
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Akira Shimosako
?
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
Koitabashi Yoshitaka
?
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
MasaruNoda
?
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
驰补丑辞辞!デベロッパーネットワーク
?
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
Satoyuki Tsukano
?
AWS Black Belt Techシリーズ Amazon EMR
AWS Black Belt Techシリーズ Amazon EMR
Amazon Web Services Japan
?
SharePoint Online 「アクセス権」を理解する
SharePoint Online 「アクセス権」を理解する
Kazuhiko Nakamura
?
暗号技术の実装と数学
暗号技术の実装と数学
MITSUNARI Shigeo
?
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
?
アイデアソン?ハッカソン运営ガイドブック
アイデアソン?ハッカソン运営ガイドブック
エイチタス株式会社 H-tus Ltd.
?
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
狈辞厂蚕尝データベースと位置情报
狈辞厂蚕尝データベースと位置情报
Koji Ichiwaki
?
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
?
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
Hibino Hisashi
?
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
takanori suzuki
?
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
Amazon Web Services Japan
?
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
?
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
?
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
Tetsutaro Watanabe
?
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Akira Shimosako
?
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
叠辞迟辞3からの解放。辫测迟丑辞苍3の标準ライフ?ラリのみて?补飞蝉サーヒ?スを取り扱うには
Koitabashi Yoshitaka
?
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
Team Geek「何故チームにリスヘ?クトか?必要なのか」 / フォトラクションValues社内勉強会資料
MasaruNoda
?
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
はじめての贰濒补蝉迟颈肠蝉别补谤肠丑クラスタ
Satoyuki Tsukano
?
SharePoint Online 「アクセス権」を理解する
SharePoint Online 「アクセス権」を理解する
Kazuhiko Nakamura
?
暗号技术の実装と数学
暗号技术の実装と数学
MITSUNARI Shigeo
?
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
?

More from Koji Kawamura (16)

Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Koji Kawamura
?
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Koji Kawamura
?
Drupal Elasticsearch Connector の日本語検索の質を高める
Drupal Elasticsearch Connector の日本語検索の質を高める
Koji Kawamura
?
20200324 ms open-tech-elastic
20200324 ms open-tech-elastic
Koji Kawamura
?
Apache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマを
Koji Kawamura
?
What will be new in Apache NiFi 1.2.0
What will be new in Apache NiFi 1.2.0
Koji Kawamura
?
Apache NiFi 1.0 in Nutshell
Apache NiFi 1.0 in Nutshell
Koji Kawamura
?
そのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょう
Koji Kawamura
?
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Koji Kawamura
?
Kafka含むデータ処理フローを NiFiで構築するさまを実演する5分間
Kafka含むデータ処理フローを NiFiで構築するさまを実演する5分間
Koji Kawamura
?
Couchbase 30-dbtechshowcase-tokyo2014
Couchbase 30-dbtechshowcase-tokyo2014
Koji Kawamura
?
Introduce couchbase server
Introduce couchbase server
Koji Kawamura
?
CouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LT
Koji Kawamura
?
Introduction of CouchDB JP
Introduction of CouchDB JP
Koji Kawamura
?
ApacheCon NA 2011 report
ApacheCon NA 2011 report
Koji Kawamura
?
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとは
Koji Kawamura
?
Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Broadcast チームの オフ?サ?ーハ?ヒ?リティ向上活動.pdf
Koji Kawamura
?
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Elastic Stack を網羅する ハンス?オンワークショッフ?を 作ってみた.pdf
Koji Kawamura
?
Drupal Elasticsearch Connector の日本語検索の質を高める
Drupal Elasticsearch Connector の日本語検索の質を高める
Koji Kawamura
?
20200324 ms open-tech-elastic
20200324 ms open-tech-elastic
Koji Kawamura
?
Apache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマを
Koji Kawamura
?
What will be new in Apache NiFi 1.2.0
What will be new in Apache NiFi 1.2.0
Koji Kawamura
?
Apache NiFi 1.0 in Nutshell
Apache NiFi 1.0 in Nutshell
Koji Kawamura
?
そのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょう
Koji Kawamura
?
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Koji Kawamura
?
Kafka含むデータ処理フローを NiFiで構築するさまを実演する5分間
Kafka含むデータ処理フローを NiFiで構築するさまを実演する5分間
Koji Kawamura
?
Couchbase 30-dbtechshowcase-tokyo2014
Couchbase 30-dbtechshowcase-tokyo2014
Koji Kawamura
?
Introduce couchbase server
Introduce couchbase server
Koji Kawamura
?
CouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LT
Koji Kawamura
?
Introduction of CouchDB JP
Introduction of CouchDB JP
Koji Kawamura
?
ApacheCon NA 2011 report
ApacheCon NA 2011 report
Koji Kawamura
?
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとは
Koji Kawamura
?
Ad

祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?