Как вставить любой вложенный json объект вasticsearh с помощью JAVA API - PullRequest
1 голос
/ 01 апреля 2020

В моем проекте мы используем flink для обработки данных журнала, а затем отправляем данные в elastisearch. Однако я обнаружил, что es не может распознать json объект, он распознает только некоторые базовые c типы данных. Таким образом, я мог преобразовать только json объект в строку, но в настоящее время, когда я проверяю данные журнала вasticsearch, формат действительно трудно понять.

"hits" : {
"total" : 10,
"max_score" : 1.0,
"hits" : [
  {
    "_index" : "wyh_dye_test",
    "_type" : "nested",
    "_id" : "gzlvM3EBRgA6CE7yDw8l",
    "_score" : 1.0,
    "_source" : {
      "id" : "id",
      "module" : "wyh_key",
      "content" : """{"map":{"wyh_key":"wyh_value","user_key":"user_value","wqq_key":"wqq_value","hello_key":"hello_value"}}"""
    }
  }

это мой результат поиска в кибане Как видите, поле с контентом действительно трудно читать.

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете обновить это отображение индекса, а затем поместить данные в соответствующее поле.

PUT xxx_index/_mapping/xxx_type
{
"properties": {
    "wyh_key": {
        "type": "keyword"
    },
    "user_key": {
        "type": "keyword"
    },
    "wqq_key": {
        "type": "keyword"
    },
    "hello_key": {
        "type": "keyword"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...