반응형
Elasticsearch "추가 된 요청 없음"대량 API 오류
ES 1.0.1에서 대량 업데이트를 사용하려고합니다.
Postman에서 다음을 게시합니다.
URL POST
또는 PUT
에http://localhost:9200/_bulk
요청 본문 :
{ "update" : { "_index" : "test_people", "_type" : "person", "_id" : "1" }} \n
{ "doc" : { "name":"hi", "age":100 }} \n
나는 \n
. 나는 항상 얻는다
{
"error": "ActionRequestValidationException[Validation Failed: 1: no requests added;]",
"status": 500
}
데이터를 사용하여 생성 할 때도 동일한 작업을 수행합니다.
{
"create": {
"_index": "test_people",
"_type": "person",
"_id": "1"
}
}
{
"name": "hi",
"age": 100
}
최신 정보
Mac, PC 및 Linux에서 이것을 시도했지만 계속해서 동일한 오류가 발생합니다.
\n
마지막 줄에 있었지만 말 그대로 마지막 json 줄 이후에 전체 캐리지 리턴을 가져야했습니다.
다음은 작동했습니다.
{ "update" : { "_index" : "test_people", "_type" : "person", "_id" : "1" }} \n
{ "doc" : { "name":"hi", "age":100 }}
따라서 줄 아래에 빈 줄이 있어야합니다 "doc"
.
문서 행 뒤에 하나의 빈 새 줄 이 트릭을 수행한다는 것은 사실입니다.
당신은 컬을 사용하는 경우, 당신은 당신의 대량 항목의 끝 부분에 빈 줄이 있어야합니다 그리고 당신은 사용해야합니다 --data-binary
(대신 일반의 -d
) . 예를 들어 다음과 같은 파일이 있다고 가정합니다 bulk
.
{ "index" : { "_id" : 1 } }
{ "accounts" : ["hillary", "sidney"]}
{ "index" : { "_id" : 2 } }
{ "accounts" : ["hillary", "donald"]}
{ "index" : { "_id" : 3 } }
{ "accounts" : ["vladimir", "donald"]}
파일이 빈 줄로 끝나는 지 확인한 다음 cURL로 게시합니다.
curl -i -XPOST -H'content-type: application/json' 'localhost:9200/emails/message/_bulk?refresh&pretty' --data-binary @bulk
참조 URL : https://stackoverflow.com/questions/22996337/elasticsearch-no-requests-added-bulk-api-error
반응형
'Programing' 카테고리의 다른 글
주어진 URL은 애플리케이션 구성에서 허용되지 않습니다. Facebook 애플리케이션 오류 (0) | 2021.01.06 |
---|---|
AngularJS. (0) | 2021.01.06 |
메시지 앱을 열지 않고 프로그래밍 방식으로 SMS 보내기 (0) | 2021.01.06 |
Angular 2 구성 요소는 NgModule의 일부가 아닙니다. (0) | 2021.01.06 |
데이터 소스가 서버 측 데이터 페이징을 지원하지 않습니다. (0) | 2021.01.06 |