Programing

Elasticsearch "추가 된 요청 없음"대량 API 오류

lottogame 2021. 1. 6. 07:41
반응형

Elasticsearch "추가 된 요청 없음"대량 API 오류


ES 1.0.1에서 대량 업데이트를 사용하려고합니다.

Postman에서 다음을 게시합니다.

URL POST 또는 PUThttp://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

반응형