7

ElasticSearch の最初のステップを示し、現在コマンド ラインから curl で作業していることをテストします。ただし、テキスト エディターですべてを入力してコンソールに貼り付ける必要があり (コンソールにタブの書式設定はありません)、得られる json 出力は書式設定されていないため、ちょっと面倒です。

したがって、json データを操作するための多くの SQL コンソールに相当するものがあるかどうか疑問に思っていました。

この種のタスクにはどのようなツールを使用しますか?

4

4 に答える 4

6

まず、取得した json 出力がフォーマットされていない場合は、?pretty=1任意の URL に追加します。結果ははるかに良くなります。別のオプションは、python -m json.toolPython 2.6+ を使用している場合に出力をパイプすることです。| j後者のオプションは、シェル関数に保存されており、 json を出力するコマンドの後に簡単に入力できるため、気に入っています。はるかに短く、一般的です。

curl コマンドを発行するには、いくつかのオプションがあります。最も一般的な解決策は、コマンド全体を含むシェル スクリプトを作成することです。例えば:

curl -s localhost:9200/foo/_search -d'
  {"query":
     {"query_string":
        {"query":"foo*"}}}' | python -m json.tool

シェル プロンプトに貼り付けるのではなく、ファイルに保存します。次に、ソースを微調整して、必要なだけ実行します。

% sh query

これのバリエーションは、Emacs を使用することです。curl私はそれを使用して、バッファーの領域で実行したり、結果を操作したりします。shell-command-on-regionまたはM-|、そこでは良い選択です。したがって、上記のスクリプトではM-| sh RET、シェルに切り替える代わりに発行できます。Vim では、似たようなことができます。

私はこれをチェックしていませんが、多くの人がelasticsearch-headを気に入っているようです。これは、クエリを発行して構造化された結果を提供する UI です。 http://mobz.github.com/elasticsearch-head/

更新: Perl の JSON モジュールにはjson_pp、Python のjson.tool. インストールするJSON::XSと、(より高速な)json_xsビンもあります。

于 2012-04-29T19:18:47.450 に答える
4

かなり便利な別のツールを見つけました

http://stedolan.github.com/jq/tutorial/

curl ideasba.org/api/ideas/1 | jq .

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   525  100   525    0     0    990      0 --:--:-- --:--:-- --:--:--  2488
{
  "created": "2012-09-22T05:20:00Z",
  "author": {
    "nickname": "opensas",
    "created": "2012-09-22T01:40:00Z",
    "id": 2,
...

フィルタリングなど、jsonで動作するいくつかのオプションがあります

curl ideasba.org/api/ideas/1 | jq .votes
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   525  100   525    0     0    809      0 --:--:-- --:--:-- --:--:--  2441
{
  "neg": 1,
  "pos": 8
}
于 2012-11-18T18:44:54.853 に答える
2

https://github.com/micha/jsawkが最適なソリューションです。

JSAWK と Resty のルール :)

于 2012-05-02T01:28:17.343 に答える
0

Chrome 用の Sense プラグインを強くお勧めします。インテリジェントなオートコンプリート、JSON 構文のチェックと整理、構文が強調された出力が提供されます。積極的に開発が進んでおり、私が商談で要求を示したいときに選択するツールです。

于 2013-07-10T13:59:12.063 に答える