1

Sense 経由で JSON ファイルをローカル ES インスタンスに読み込もうとしていますが、コードがわかりません。ES に Bulk API と Index API があることは知っていますが、コードをまとめることができないようです。Sense を使用してローカル ES インスタンスに JSON ファイルをアップロード/インデックス化するにはどうすればよいですか? ありがとうございました!

4

1 に答える 1

2

はい、ES には JSON ファイルを ES クラスターにアップロードする一括 API があります。Senseの場合はブラウザーのJavascriptであるため、APIが低レベル言語で公開されているとは思いません。高レベルのクライアントは Java または C# で利用でき、ES クラスターをより詳細に制御できます。Chrome ブラウザーがこのコマンドの実行をサポートするとは思わない。

一括 API を使用して JSON ファイルをエラスティックにアップロードするには。

1) このコマンドは、JSON ファイルから JSON ドキュメントをアップロードします。

curl -s -XPOST localhost:9200/_bulk --data-binary @path_to_file;

2) JSON ファイルは次のようにフォーマットする必要があります。

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value3" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "doc" : {"field2" : "value2"} }

ここで、JSON オブジェクトdocは各 JSON オブジェクト データを表し、対応するインデックス JSON オブジェクトは、ドキュメント ID、インデックスの入力、インデックス名などの特定の JSON ドキュメントのメタデータを表します。

一括アップロードへのリンク

また、私の以前の回答を参照することができます

于 2016-08-01T10:18:56.590 に答える