반응형

php에서 엘라스틱서치의 api를 호출하는 방법은 curl이 있다. php에서 사용하는 대부분의 api호출은 curl을 사용한다.

한번 불러보자...

<?php

$json='{"size": 10, "from": 0,"sort": {"site_cnt":"asc"}}';

$url="http://localhost:9200/eve/_search?pretty";

$ch = curl_init(); // 리소스 초기화

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_USERPWD, "elastic:123456");//엘라스틱 접속 계정

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $json);//엘라스틱 호출 json

curl_setopt($ch, CURLOPT_HTTPHEADER, array(

'Content-Type: application/json'

));

$output = curl_exec($ch); // 데이터 요청 후 수신

curl_close($ch); // 리소스 해제

?>

기본적인 사용법이다. $output에 데이타가 들어온다. 이놈을 json_decode로 배열로 변환한 뒤 뿌려주면 된다.

위 쿼리는 조회용 쿼리이지만 데이타를 입력할때도 마찬가지 방법으로 하면 된다.

반응형

+ Recent posts