0
내 Elastic 검색 문서 중 하나의 배열에 항목을 추가하려고합니다. 문자열과 같은 간단한 항목에 대해서는이 작업을 수행 할 수 있지만 개체를 추가하기 위해 지금은 작업 할 수 없습니다. 나는 다음과 같은 오류를 얻고있다ElasticSearch에서 스크립트를 사용하여 배열에 객체를 추가하는 방법은 무엇입니까?
POST /user_profiles/user_profile/12345/_update
{
"script" : {
"inline": "ctx._source.searches.add(params.search)",
"lang": "painless",
"params" : {
"search" : {
"test": "test2"
}
}
}
}
:
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "failed to parse [searches]"
}
],
"type": "mapper_parsing_exception",
"reason": "failed to parse [searches]",
"caused_by": {
"type": "illegal_state_exception",
"reason": "Can't get text on a START_OBJECT at 1:29"
}
},
"status": 400
}
업데이트하기 전에'/ user_profiles/user_profile/12345'가 어떻게 보이는지 보여 줄 수 있습니까? – Val
문제점을 발견했습니다. 쿼리 자체와 관련이 없습니다. 문제는 인덱스의 매핑에 추가 필드가 포함되지 않았기 때문입니다. –