Поле формата ElasticSearch при создании документа - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть сопоставление с 1 полем:

"message" : {
    "type" : "text"
}

Я вставляю новый документ:

"message" : " 123 "

Можно ли изменить текст поля (обрезку) с помощью функции ES?
Цель состоит в том, чтобы создать стандарт для поля "message".
Пояснение: Не фильтровать текст по обратному индексу, но по исходному тексту.

Требуемый вывод должен быть:

{
     "message" : "123"   
}

1 Ответ

0 голосов
/ 09 сентября 2018

Да, вы можете добиться этого, используя конвейер загрузки с trim процессором .

Сначала определите приемный конвейер:

PUT _ingest/pipeline/my-pipeline
{
  "description": "My ingest pipeline",
  "processors": [
    {
      "trim": {
        "field": "message"
      }
    }
  ]
}

Затем просто укажите конвейер, который будет использоваться при индексации документов:

PUT my-index/doc/1?pipeline=my-pipeline
{
  "message": " 123 "
}

Тогда вы можете видеть, что начальные и конечные пробелы были удалены

GET my-index/doc/1
=>
{
  "message": "123"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...