データ送信中にElasticSearchエラーが発生しました 質問する

データ送信中にElasticSearchエラーが発生しました 質問する

ElasticSearchにJSONを送信しようとしています。PostmanとSOAPUIを使用してみました。データは

[{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}, {"column1": "pqr", "column2": "stu", "column3": "vwx", "column4": "", "column5": ""}]

次のエラーが返されます

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "failed to parse"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "failed to parse",
    "caused_by": {
      "type": "not_x_content_exception",
      "reason": "Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"
    }
  },
  "status": 400
}

しかし、単一のJSON配列を投稿すると、

{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}

その後、正常に動作します。ElasticSearch は初めてなので、何が問題なのかわかりません。

ベストアンサー1

まず中括弧を使用してから配列に名前を付けてみてください。試してみて、動作するかどうかを確認してください。

例えば:

{root:[1, 2, 3, 4, 5]}

オブジェクト内に含まれているため機能する可能性があります。

さらに良いことに、 を試していたところJSON.stringify();、配列を次のように JSON に変換できることが分かりました。

{1, 2, 3, 4, 5}

おすすめ記事