2016-11-04 17 views
1

私は弾性検索を初めて利用しています。私は1つのURLを持っています。そのURLを実行すると直接結果が得られます。しかし、カールを使ってこれを実行しようとすると、私はデータを取得していません。以下は私のリンクはPHPを使用してカール結果を表示

http://localhost:9200/bank/_search?q=address:mill 

であると私は取得しています上記のリンクからサンプル応答は以下の

{"took":1,"timed_out":false,"_shards":  {"total":5,"successful":5,"failed":0},"hits":{"total":1,"max_score":4.8004513,"hits":[{"_index":"bank","_type":"account","_id":"136","_score":4.8004513,"_source":{"account_number":136,"balance":45801,"firstname":"Winnie","lastname":"Holland","age":38,"gender":"M","address":"198 Mill Lane","employer":"Neteria","email":"[email protected]","city":"Urie","state":"IL"} 
}]}} 

であることは上記URLのカールのプログラムです。

$url = "localhost:9200/bank/account/_search?q=mill"; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = curl_exec($ch); 
curl_close($ch); 
var_dump($data); 
+0

はコードの下に試してみてください//'一部たぶんあなたのカールスクリプト – mike510a

+0

愚かな質問には、なぜあなたは弾性に接続するためのPHPドライバのいずれかを使用していませんか?私はドライブではないので、 –

+0

私にドライバを教えてください。 – medanaresh

答えて

0

あなたはCURLOPTHTTPGETオプションを使用する必要があり、その後、あなたは、URLを使用してパラメータを追加する必要があります。 `HTTP行方不明

<?php 
try { 
$url = "http://localhost:9200/bank/_search"; 
$search_val  = 'mill'; 

$str = "q=address:".$search_val; 
$url_final = $url.'?'.$str; 

    $ch = curl_init(); 
if (FALSE === $ch) 
     throw new Exception('failed to initialize'); 
curl_setopt($ch, CURLOPT_URL, $url_final); 
curl_setopt($ch, CURLOPT_HTTPGET, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$return = curl_exec ($ch); 
if (FALSE === $return) 
     throw new Exception(curl_error($ch), curl_errno($ch)); 
} catch(Exception $e) { 

    trigger_error(sprintf(
     'Curl failed with error #%d: %s', 
     $e->getCode(), $e->getMessage()), 
     E_USER_ERROR); 

} 
curl_close ($ch); 
echo $return; 
?> 
+0

幸運は、偽を得る... – medanaresh

+0

申し訳ありません運、同じエラーを取得、 – medanaresh

+0

ブールfalse、私はこれを取得しています – medanaresh

関連する問題