默认情况下,ES仅支持两种数据格式:JSON和YAML。但是,如果你打开使用Logstash,你可以达到你想要的东西很容易像这样:
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
输入采用滚动,你可以不指定任何排序。所以,如果排序是对你很重要,你可以使用http_poller
input代替elasticsearch
一个,像这样:
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"
}
}
来源
2017-06-05 05:21:42
Val
感谢您的回复在java中是否支持Logstash? 我如何使用Logstash查询使用java和UI –
Logstash是一个ETL工具。你配置它就像我上面显示,然后你运行它。你不能通过Java调用它。你可以尝试@volatilevar在他的答案中提出的建议,这可能适用于Java。 – Val