elasticsearch,Php,Curl,elasticsearch" /> elasticsearch,Php,Curl,elasticsearch" />

使用PHP的弹性搜索不起作用

使用PHP的弹性搜索不起作用,php,curl,elasticsearch,Php,Curl,elasticsearch,我是弹性搜索的初学者。 我想使用Curl在php中创建一个节点 curl -XPUT "http://localhost:9200/movies/movie/1" -d' { "title": "The Godfather", "year": 1972 }' 在不使用任何开源软件(如elastica)的情况下,我希望实现上述CURL, 我试过这个- <? $url='curl -XPUT "http://localhost:9200/movies/movie/1" -d\

我是弹性搜索的初学者。
我想使用Curl在php中创建一个节点

curl -XPUT "http://localhost:9200/movies/movie/1" -d'
{
    "title": "The Godfather",
    "year": 1972
}'
在不使用任何开源软件(如elastica)的情况下,我希望实现上述CURL,
我试过这个-

<?
$url='curl -XPUT "http://localhost:9200/movies/movie/1" -d\' { "title": "The Godfather","year": 1972}\'';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$data = ob_get_contents();
ob_end_clean();
var_dump($data);
?>



但它既不提供任何输出,也不创建节点。问题是什么?
对于初始使用,我希望使用最简单的php。我不想使用或其他任何代码。

这是您的等效curl代码:

$url='http://localhost:9200/movies/movie/1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"title": "The Godfather","year": 1972}');
curl_setopt($ch, CURLOPT_HTTPHEADER,array("Content-Type: appliaction/json"));
$result = curl_exec($ch);
curl_close($ch);

移除echo CURLOPT_POST并将其替换为curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT');让它为我工作