Процессор набора ElasticSearch - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь использовать функциональность Elasticsearch Set Processor, чтобы добавить поле «Постоянная очередь» к заданному индексу, который содержит данные из нескольких очередей. Документация ElasticSearch действительно скудна в этом отношении.

Я пытаюсь использовать приведенный ниже код для создания Set Processor for Index default- *, но почему-то он не работает

PUT /_ingest/pipeline/set_aht 
{
  "description": "sets queue wise AHT constants",
  "processors": [
    {
      "set": {
        "field": "queueAHTVal",
        "value": "10",
        "if": "queueName == 'A'"
      }
    }
  ]
}

Ищу для получения некоторых практических рекомендаций от всех, кто, возможно, ранее работал над Set Processor for ElasticSearch

1 Ответ

0 голосов
/ 03 сентября 2020

Я попытался проработать возможное предложение. Если я хорошо понял вашу проблему, вы хотите добавить новое поле на основе значения поля (queueName), когда оно равно A?

Если да, я изменил ваш конвейер и провел тест локально. Вот обновленный код конвейера:

PUT _ingest/pipeline/set_aht
{
"processors": [
        {
            "set": {
                "field": "queueAHTVal",
                "value": "10",
                "if": "ctx.queueName.equals('A')"
            }
        }
    ]   
}

Я использовал _reindex API, чтобы вставить данные в другое поле.

POST _reindex
{
"source": {
    "index": "espro"
},
"dest": {
    "index": "espro-v2",
    "pipeline": "set_aht"
}
}

Ответ:

"hits" : [
  {
    "_index" : "espro-v2",
    "_type" : "_doc",
    "_id" : "7BErVHQB3IIDvL59miT1",
    "_score" : 1.0,
    "_source" : {
      "queueName" : "A",
      "queueAHTVal" : "10"
    }
  },
  {
    "_index" : "espro-v2",
    "_type" : "_doc",
    "_id" : "IBEsVHQB3IIDvL59iien",
    "_score" : 1.0,
    "_source" : {
      "queueName" : "B"
    }
  } 

Дайте мне знать, если вам понадобится помощь, или если я неправильно понял вашу проблему, я постараюсь помочь вам спасибо.

...