2016-03-25 5 views
0

Я Хав в JSON для моего индекса, который выглядит следующим образом:elasticsearch - добавить пользовательские поля к определенному индексу

{ 
"_index": "myindes", 
"_type": "external", 
"_id": "1", 
"_source": { 
    "id": "1", 
    "name": "myName", 
    "description": "myDescription", 
    "source": "mySource", 
    } 
} 

И я хочу, чтобы добавить поле строки в _source имени topic

Как могу я сделать

ответ

0

Вы можете обновить отображение индекса в

curl -XPUT 'http://localhost:9200/myindex/_mapping/external' -d ' 
{ 
    "external" : { 
     "properties" : { 
      "id": {"type":"string"}, 
      "name": {"type":"string"}, 
      "description": {"type":"string"}, 
      "source": {"type":"string"}, 
      "topic":{"type":"string"} // <---new field 
     } 
    } 
}' 

Хотя вышеуказанный шаг не был необходим, но всегда хорошо контролировать то, что вы индексируете.

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

+0

Спасибо, что много работает, теперь, как я могу исправить изменения; глядя на kibana или выполняя запрос, не показывает мне поле темы –

+0

Вы переиндексировали документы? – Rahul

Смежные вопросы