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 
} 
+0

업데이트하기 전에'/ user_profiles/user_profile/12345'가 어떻게 보이는지 보여 줄 수 있습니까? – Val

+0

문제점을 발견했습니다. 쿼리 자체와 관련이 없습니다. 문제는 인덱스의 매핑에 추가 필드가 포함되지 않았기 때문입니다. –

답변

0

내가 문제를 발견 여기에 내 현재 코드입니다. 쿼리 자체와 관련이 없습니다. 문제는 인덱스의 매핑에 추가 필드가 포함되지 않았기 때문입니다.