Elasticsearch の bulk リクエストにおいて、`join` データのために routing を指定する方法

Published: 2021/12/15


例えば、現状最新版である 7.16 の Elasticsearch ドキュメントの bulk についての説明 において、 join フィールドを利用する際、子供側に指定が必要な routing パラメータをどう指定したら良いか分からなかったので、それについてのメモ。

https://stackoverflow.com/questions/19745515/why-doesnt-routing-work-with-elasticsearch-bulk-api

上記の Stack Overflow のスレッドにあるように、

  • 6.1 より前: {"index":{"_index":"index-name", "_id":"id-name", "_routing":"parent-id"}}
  • 6.1 以降: {"index":{"_index":"index-name", "_id":"id-name", "routing":"parent-id"}}

のように、 "_index""_id" の隣に "routing" を付与することで、 routing の指定が可能。


Tags: elasticsearch
Next: Elasticsearch のサーバー上でクエリログを出力する方法
Prev: Ruby でオープンなファイルオブジェクトたちを取得する方法