Мне сказали, что «у каждого типа есть собственное отображение или определение схемы» на the official guide.Отображение поля elasticsearch влияет на разные типы acors в одном и том же индексе
Но тот факт, что я встретил это отображение, может влиять на другие типы в пределах одного индекса. Вот ситуация: определение
Mapping:
[[email protected] agent]# curl localhost:9200/agent*/_mapping?pretty
{
"agent_data" : {
"mappings" : {
"host" : {
"_all" : {
"enabled" : false
},
"properties" : {
"ip" : {
"type" : "ip"
},
"node" : {
"type" : "string",
"index" : "not_analyzed"
}
}
},
"vul" : {
"_all" : {
"enabled" : false
}
}
}
}
}
, а затем я индексировать запись:
[[email protected] agent]# curl -XPOST 'http://localhost:9200/agent_data/vul?pretty' -d '{"ip": "1.1.1.1"}'
{
"error" : {
"root_cause" : [ {
"type" : "mapper_parsing_exception",
"reason" : "failed to parse [ip]"
} ],
"type" : "mapper_parsing_exception",
"reason" : "failed to parse [ip]",
"caused_by" : {
"type" : "number_format_exception",
"reason" : "For input string: \"1.1.1.1\""
}
},
"status" : 400
}
Кажется, что он пытается разобрать внутрибрюшинно как число. Поэтому я ставлю ряд в этой области:
[[email protected] agent]# curl -XPOST 'http://localhost:9200/agent_data/vul?pretty' -d '{"ip": "1123"}'
{
"error" : {
"root_cause" : [ {
"type" : "remote_transport_exception",
"reason" : "[Argus][127.0.0.1:9300][indices:data/write/index[p]]"
} ],
"type" : "illegal_argument_exception",
"reason" : "mapper [ip] cannot be changed from type [ip] to [long]"
},
"status" : 400
}
Эта проблема уходит, если я явно определить IP-поле типа М. Вул как внутрибрюшинно поля типа.
Я не совсем понимаю поведение выше. Я что-то пропустил?
Заранее спасибо.