2013-04-04 6 views
5

JSON出力をcurlコマンドにする方法はありますか?デフォルトではかなり印刷されていますか?つまり、curl URLに?pretty=trueのオプションを指定しなければ、毎回きれいに出力された出力を表示できますか?弾性検索:デフォルトとしてきれいな形式にする

+1

[elasticshell](https://github.com/javアンナ/弾殻)?これは、カールよりもはるかにjsonフレンドリーで、素敵なprettified jsonオブジェクトだけを示しています。 [この記事](http://blog.trifork.com/2013/03/06/introducing-the-elasticshell/)も便利です。 – javanna

+0

スター付き現在、弾性シェルを使用する前に弾性サーチ自体を学習しているので、弾性サーチに慣れようとします。 – callmekatootie

答えて

11

私は(Mac上または.bash_profileの)私の.bashrcに新しいエイリアスを追加することによって、これを達成することができました:

alias pp='python -mjson.tool' 

その後、新しいを開いての.bashrc/.bash_profileの設定をリロードした後、端末または

$ source ~/.bashrc 

を実行することによって、あなたは「P-P」エイリアスにパイプカール出力を次のことができますよう:

$ curl -XGET http://localhost:9200/_search | pp 

出典:http://ruslanspivak.com/2010/10/12/pretty-print-json-from-the-command-line/

2

ほとんどの場合、他の製品(JQuery、PHP、Perl、Ruby ...)からREST APIを使用します。これらのフレームワークはかなり入力する必要はありません。 だから、99%のリクエストでは、を遅くしたくないと思っています。 JSONをきれいにレンダリングしてください。

IMHOの場合、デバッグを行っているときや、デバイドモードのときだけ、かなりのプリントが必要です。

オプションはelasticsearch.ymlファイルのelasticsearchプロパティとして持つことができます。それのためにOpen an issue

+0

これは、なぜ、これが組み込み機能の前に「問題」として提起されなかったのか、組み込み機能でないのかを理解しています。他の製品で使用され、 'curl'を直接使用しません。私は実際に私のアプリケーション内でそれを使用する前にそれを学ぶしようとしているので、私の検索クエリが正しい結果を返しているかどうか、コンソール自体をチェックしたい - そのすべての時間を指定する迷惑な... – callmekatootie

2

ElasticSearchには永続的な設定はありません。多くの場合、開発者は生産現場でその設定を元に戻すのを忘れてしまい、製品全体のパフォーマンスが低下することがあります。同様の例は、非常に一般的なパフォーマンスキラーであるDEBUGロギングを有効にしておくことです。

あなたは、あなたの開発を容易にするツールがたくさんあります。

  • RestClient‎ Firefoxのプラグイン
  • [ElasticSearchヘッド] - あなたの入力

プラス以前はElasticShellを言及してもかなりの形式優れたESの管理を。

しかし、実際にそれを作るにはcurlここで私はちょうど作った簡単なトリックです。

そして、あなたが以前のようにカールを使用します:あなたのbashシェルまたはスクリプトでこれを実行して元に戻すには

curl http://localhost:9200/ 

:もちろん

unset -f curl 

機能に名前を付ける方が良いだろうppcurlあなたが上記のように好きでない場合: