2017-06-05 11 views
1

私は弾性検索サーバーにリクエストを送信しています。私は応答をCSV形式にしたいと思います。solrのように、指定することができますwt = csvは、 ? 私のクエリは次のとおりです。JSONとYAML:デフォルトで弾性検索の取得リクエストからのCSV応答

enter code here 
http://elasticServer/_search?q=RCE:"some date" OR 
VENDOR_NAME:"Anuj"&from=0&size=5&[email protected] 


    -----After that i want to force the server to return me response in csv format 

答えて

0

、ESは2つだけのデータ形式をサポートしています。しかし、あなたがLogstashを使用するオープンしている場合、あなたはこのように非常に簡単に欲しいものを達成することができます:elasticsearch入力がスクロールを使用しているので

input { 
    elasticsearch { 
    hosts => ["localhost:9200"] 
    query => 'RCE:"some date" OR VENDOR_NAME:"Anuj"' 
    size => 5 
    } 
} 
filter {} 
output { 
    csv { 
    fields => ["field1", "field2", "field3"] 
    path => "/path/to/data.csv" 
    } 
} 

、あなたは任意の並べ替えを指定することはできません。ソートはあなたに本当に重要であれば、あなたの代わりにelasticsearch 1のhttp_poller inputを使用することができ、このように:

input { 
    http_poller { 
    urls => { 
     es => { 
     method => get 
     url => 'http://elasticServer/_search?q=RCE:"some date" OR VENDOR_NAME:"Anuj"&from=0&size=5&[email protected]' 
     headers => { 
      Accept => "application/json" 
     } 
     } 
    } 
    codec => "json" 
    } 
} 
filter {} 
output { 
    csv { 
    fields => ["field1", "field2", "field3"] 
    path => "/path/to/data.csv" 
    } 
} 
+0

返信ありがとうございます。JavaでLogstashをサポートしていますか? Logstashを使用してJavaとUIを使用してクエリを行う方法 –

+0

LogstashはETLツールです。上記のように設定して実行します。 Javaで呼び出すことはできません。彼の答えで@volatilevarが提案した、Javaから動くかもしれないものを試すことができます。 – Val

0

のGithub上ElasticSearchプラグインは、あなたの要件を満たす必要がありますElasticsearch Data Format Pluginと呼ばれるがあります。

+0

私たちはそれをJavaで使うことができます –

+0

短い答えは、言語に依存しないので、はいです。これはElasticSearch用のプラグインです。インストールするだけで(ここではhttps://github.com/codelibs/elasticsearch-dataformat#for-5x)、Java HTTPクライアントを使用してHTTP GET要求を行って、csv形式のデータを戻すことができます。 – volatilevar

+0

私たちはローカルにエラスティックサーバを使用していないので、そこにそのプラグインをインストールする必要があるか、システムにインストールする必要があるかをいくつか配備しました。 私はウィンドウ環境を実行しています。さらなる助けをありがとう。 –