Преобразование бета-функции и вложенного поиска - PullRequest
1 голос
/ 02 апреля 2020

TLDR: как осуществить вложенную агрегацию с преобразованиями? В более общем смысле: как хранить агрегаты во время индекса?

Я пытаюсь использовать новое бета-преобразование функций эластичного поиска. Мое агрегирование выглядит следующим образом:

{
  "query": {
    "bool": {
      "should": [
        {
          "match_all": {}
        }
      ]
    }
  },
  "aggs": {
    "event": {
      "nested": {
        "path": "site_document"
      },
      "aggs": {
        "inspection_per_agency": {
          "terms": {
            "field": "site_document.document_type_kw"
          },
          "aggs": {
            "action_per_event_type": {
              "value_count": {
                "field": "site_document.id"
              }
            }
          }
        }
      }
    }
  }
}

И это преобразование, которое я создал

PUT /_transform/transformation1
{
  "source": {
    "index": "site_source"
    }
    ,
  "pivot": {
    "group_by": {
      "id": {
        "nested": {
          "path": "site_document"
        },
        "terms": {
          "field": "site_document.document_type_kw"
        }
      }
    },
    "aggregations": {
      "count_id": { 
        "nested": {
          "path": "site_document"
        },
        "value_count": {
          "field": "site_document.id" }
      }

    }
  },
  "dest": {
    "index": "site_dest"
  },
  "frequency": "1s"
}

Это возвращает ошибку

No enum constant org.elasticsearch.xpack.core.transform.transforms.pivot.SingleGroupSource.Type.NESTED

Вы знаете, что такое синтаксис должно быть?

Более подробно ниже (пример отображения и данных):

{
  "mappings": {
    "dynamic": "strict",
    "properties": {
      "id": {
        "type": "long"
      },
      "site_name_kw": {
        "type": "keyword",
        "normalizer": "govz_normalizer",
        "copy_to": "site_name_txt"
      },
      "site_document": {
        "type": "nested",
        "properties": {
          "id": {
            "type": "long"
          },
          "document_type_kw": {
            "type": "keyword",
            "normalizer": "govz_normalizer",
            "copy_to": "site_document_type_txt"
          }
        }
      }
    }
  }
}
  {
  "id": 67,
  "site_name_kw": "site1",
  "site_document": [
    {
      "id": 13,
      "document_type_kw": "type1"
    },
    {
      "id": 34,
      "document_type_kw": "type2"
    },
    {
      "id": 56,
      "document_type_kw": "type3"
    },
    {
      "id": 34,
      "document_type_kw": "type1"
    }
  ]
}

...