ElasticSearch: странная проблема при вставке документов в индексы ElasticSearch при наличии шаблона

Я пытаюсь провести некоторое тестирование в ElasticSearch. Я могу заполнить все по мере необходимости, но всякий раз, когда я пытаюсь поместить шаблон нашего проекта по умолчанию, а затем вставить, данные не загружаются в индекс (хотя HTTP-вызовы успешны).

После проверки я понял, что не могу вставить даже простой документ даже после использования стандартного шаблона elasticSearch. Например, вставка шаблона из документации ES:

PUT _template/template_1
{
  "index_patterns": ["te*", "bar*"],
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
    "_source": {
      "enabled": false
    },
    "properties": {
      "host_name": {
        "type": "keyword"
      },
      "created_at": {
        "type": "date",
        "format": "EEE MMM dd HH:mm:ss Z yyyy"
      }
    }
  }
}

А затем вставить документ в index = "bark" с помощью

PUT http://localhost:9200/bark/_doc/11232 HTTP/1.1
User-Agent: Fiddler
Host: localhost:9200
Content-Length: 21
Content-Type: application/json

{"host_name": "generic_name"}

добавляет документ в индекс, но без данных о host_name. Простое изменение имени индекса на что-то, для чего этот шаблон не применяется (например, index = dark), добавит документ с данными о host_name. Отображение данных индекса для репликации:

(когда index=bark)

{"took":2,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"bark","_type":"_doc","_id":"11232","_score":1.0}]}}

(когда index=dark)

{"took":6,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"dark","_type":"_doc","_id":"11232","_score":1.0,"_source":{"host_name":"generic_name"}}]}}

Заметили, что в первом поле _source":{"host_name":"generic_name"} отсутствует?

Что можно сделать для этого? Если кто-то сталкивался с этой проблемой или знает решение, помогите.


person Himanshu121    schedule 02.06.2020    source источник


Ответы (1)


Вам нужно удалить это из вашего сопоставления

"_source": {
  "enabled": false
},

Эффект этой настройки заключается в том, что исходный документ не сохраняется в поле _source. Это, вероятно, не то, что вы хотите.

person Val    schedule 02.06.2020
comment
Привет, похоже, это не проблема. Я пытался сделать "enabled": true и полностью удалить поле "_source": { "enabled": false } Ни чего не изменилось - person Himanshu121; 02.06.2020
comment
Вы удалили индекс после внесения изменений в шаблон? - person Val; 02.06.2020
comment
Да, это было проблемой. Благодарю вас! - person Himanshu121; 02.06.2020
comment
Круто, рад, что помогло! - person Val; 02.06.2020