Elasticsearch で join フィールドの値でフィルタする方法

Published: 2022/1/10


例えば、 Elasticsearch の join フィールドタイプを利用する場合、 index する際の document は以下のように記述される。 ("join_field" が join のフィールドであった場合)

POST some-index/_doc/
{
  "field1": "value1",
  "join_field": {
    "name": "parent"
  }
}

この時、 join フィールドの名前(親なのか子なのか)によってフィルタしたい時にどうするか、という話。

結論

ただの keyword type のフィールドと同じように、 term フィルターを実行すれば良い。

GET some-index/_search
{
  "term": {
    "join_field": "parent"
  }
}

参考


Tags: elasticsearch

関連記事

About

エンジニアです。 仕事では Xincere Residence を作っています。 このサイトは個人のブログであり、所属団体の意見等とは関係がありません。

Tags