php
  • curl
  • elasticsearch
  • 2014-03-26 60 views 0 likes 
    0

    我是一个非常初学者的弹性搜索。
    我想使用curl弹性搜索使用PHP不工作

    curl -XPUT "http://localhost:9200/movies/movie/1" -d' 
    { 
        "title": "The Godfather", 
        "year": 1972 
    }' 
    

    在PHP中创建一个节点,而无需使用任何开源像弹性弯曲我要实现上述卷曲,
    我想这 -

    <? 
    $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。我不想使用elastica或任何其他。

    回答

    2

    这是你的等效卷曲代码:

    $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); 
    
    +0

    非常感谢它的工作。 –

    +0

    删除CURLOPT_POST的回声并用curl_setopt($ ch,CURLOPT_CUSTOMREQUEST,'PUT')替换它;使它为我工作 –

    相关问题