PHP操作ElasticSearch
2018-08-27 本文已影响0人
Cesium中文网
参考链接:
http://blog.coinidea.com/elasticsearch-1275.html
官方API:
可以下载官方的PHP ElasticSearch API
阅读文档进行相关操作。
示例代码:
static public function initSearchClient() {
if (null == BaseFrontController::$client) {
$hosts['hosts'] = array(
"host" => '127.0.0.1',
"port" => '9200',
'scheme' => 'http'
);
BaseFrontController::$client = \Elasticsearch\ClientBuilder::create()
->setSSLVerification(false)
->setHosts($hosts)
->build();
}
}
// Elastic search
static public function actionSearch($area, $keyword, $start, $end, $size=100, $agg = null) {
BaseFrontController::initSearchClient();
$params['index'] = BaseFrontController::getSearchIndex();
$params['type'] = 'raw';
$params['body']["size"] = $size;
// your aggs
if (null != $agg) {
$params['body']["aggs"] = $agg;
}
$params['body']["query"]["filtered"]['filter']["and"] = [
["term"=>['Your area' => $area]], // your area
["range"=>["Your time" => array("gte"=>$start, "lte"=>$end)]] // your time
];
if ($keyword != '') {
$params['body']["query"]["filtered"]['query']['bool']['should']['match_phrase'] = array();// your query word
}
$response = BaseFrontController::$client->search($params);
return $response;
}