我试图在我的java代码中执行弹性搜索帖子查询。我希望使用bash shell在我的机器上执行代码。
这是我的代码:
public class Elastic {public static void main(String[] args) {String cmd = "curl -X PUT IP:PORT/twitter/_doc/10 -H 'Content-Type: application/json' -d '{ \"user\" : \"Bob\", \"post_date\" : \"2019-12-15T14:12:10\", \"message\" : \"trying out Elasticsearch\" }' "; try {Process pr = Runtime.getRuntime().exec(cmd); } catch (Exception e) { e.printStackTrace(); }/* try { Runtime.getRuntime().exec("/bin/bash "+"-c "+"\'"+cmd+"\'"); } catch (Exception e) { e.printStackTrace(); } */System.out.println("===============");System.out.println(cmd); } }
我已经尝试过两种不同的方式,你可以从已被注释掉的代码中看出来。
我打印我构建的查询以验证它。当我在我的本地机器上执行此程序并在终端中尝试打印的查询时,它可以工作,但不能在我的java代码/ bash查询中。我想这与格式化和单引号的使用有关,但我还没有能够直接从我的代码中运行它。
翻阅古今
人到中年有点甜
相关分类