1

ESに保存/インデックス付けしたいjson辞書の小さい(〜50,00)配列があります。インデックスを作成するデータはcsvファイルから取得され、ロードされ、python経由でjsonに変換されるため、私の好みはpythonを使用することです。または、json に変換するステップをスキップして、単に私が持っている python 辞書の配列を使用したいと思います。とにかく、簡単な検索で ES の一括インデックス作成機能が明らかになりました。私はこのようなことをしたい:

post_url = 'http://localhost:9202/_bulk'
request.post(post_url, data = acc )    # acc a python array of dictionaries

また

post_url = 'http://localhost:9202/_bulk'
request.post(post_url, params = acc )    # acc a python array of dictionaries

両方のリクエストで [HTTP 500 エラー] が返される

4

3 に答える 3

3

私の理解では、1行に1つの「コマンド」(インデックス、作成、削除...)が必要であり、そのうちのいくつか(インデックスなど)は次の行でデータの行を取得します。

{'index': ''}\n
{'your': 'data'}\n
{'index': ''}\n
{'other': 'data'}\n

最後の行であっても、改行に注意してください。

上記のような空のインデックス オブジェクトは、../index/type/_bulk に POST するか、インデックスとタイプを指定する必要がある場合に機能しますが、試したことはありません。

于 2014-10-31T07:24:13.887 に答える
0

Pythonについてはよくわかりませんが、Pyesを見ましたか?バルクはPyesでサポートされています。

于 2012-12-22T07:49:37.587 に答える