elasticsearch에서 failed to put mappings on indices (NPE) 가 발생하면 용도에 맞는 json 요청이라는 뜻이다.
elasticsearch가 친절하게 에러 메시지를 전달해주는 것이 없어서(결과적으로 실패했다는 로그) 조금 혼란을 줄 수 있긴 한데..
몸으로 때우는 수밖에 없는 것 같다.
[DEBUG][action.admin.indices.mapping.put] [Prototype] failed to put mappings on indices [[my_index]], type [my_type]
java.lang.NullPointerException
at org.elasticsearch.common.xcontent.XContentFactory.xContent(XContentFactory.java:137)
at org.elasticsearch.common.xcontent.XContentHelper.convertToMap(XContentHelper.java:113)
클라이언트에서는 아래와 같은 에러가 발행한다.
{"error":"RemoteTransportException[[olive047][inet[/172.17.48.122:9300]][indices:admin/mapping/put]]; nested: NullPointerException; ","status":500}
해결을 위해서는 setting와 mapping 관련 url이 맞는지 확인한다.
* /_setting url 에 mapping json을 요청했는지,
* /_mapping url에 setting json을 요청했는지.
* /_mapping url에 setting, mapping json을 요청했는지.
* /{index_name} 에 setting, mapping 을 잘 입력해서 정상적으로 요청했는지 (<-- 이거 정상)
test.json에 setting와 mapping 을 포함한 json 파일일 때, 아래와 같은 url 요청시에 failed to put mappings on indices (NPE) 에러 발생한다.
$ curl -s -XPUT http://localhost:9200/suggest_test/type/_mapping -d test.json
test.json에 setting와 mapping 을 포함한 json 파일일 때, 아래와 같은 url 요청시에 문제가 없다.
$ curl -s -XPUT http://localhost:9200/suggest_test -d test.json
'Elasticsearch' 카테고리의 다른 글
[elasticsearch] 낙관적 동시 제어 (optimistic concurrency control) (0) | 2015.05.29 |
---|---|
[elasticsearch] 색인 앨리어스 (별명) (0) | 2015.05.28 |
[elasticsearch] flush, refresh, optimization (0) | 2015.05.26 |
[elasticsearch]에서 인덱스 타입 매핑 변경 및 동시에 여러 매핑 요청하기 (0) | 2015.05.23 |
[elasticsearch] 모든 인덱스(색인)삭제 및 방어 (0) | 2015.05.23 |