Laravel5.1简单使用elasticsearch

2019-04-23  本文已影响0人  庆庆_ce88

1.在laravel的composer.json中添加

"require": {"php":">=5.5.9","laravel/framework":"5.1.*","elasticsearch/elasticsearch":"~5.0"}

2.执行composer更新

composer update

3.插入索引

<?php

namespaceApp\Http\Controllers;

//测试用

use Illuminate\Routing\ControllerasBaseController;

use Elasticsearch\ClientBuilder;

class TestControll erextends BaseController{

functiontest(){

//测试使用es

$clientBuilder = ClientBuilder::create();      

 $hosts[] ="127.0.0.1";        

$clientBuilder->setHosts($hosts);    

  $client = $clientBuilder->build();

//初始化

$params = ['index'=>'my_index','type'=>'my_type','id'=>'1','body'=> ['testField'=>'abc']        ];        $response = $client->index($params);//添加索引returnjson_encode($response);   

    }

}

返回值

{"_index":"my_index","_type":"my_type","_id":"1","_version":1,"result":"created","_shards": {"total":2,"successful":1,"failed":0},"created":true}

4.根据索引获取数据

$params = ['index'=>'megacorp','type'=>'employee','id'=>4, ];$response = $client->get($params);

{

"_index": "megacorp",

"_type": "employee",

"_id": "4",

"_version": 1,

"found": true,

"_source": {

"first_name": "tom",

"last_name": "john",

"age": 32,

"about": "I like to collect rock albums",

"interests": [

"music"

]

}

}

### 5.根据索引获取原始数据

$params = [

'index' => 'megacorp',

'type' => 'employee',

'id' => 4,

];

$response = $client->getSource($params);

>```{"first_name":"tom","last_name":"john","age": 32,"about":"I like to collect rock albums","interests": ["music"]}

6.条件查询

$params = ['index'=>'megacorp','type'=>'employee','body'=> ['query'=> ['match'=> ['last_name'=>'john']                ]            ]        ];$response = $client->search($params);

{

"took": 20,

"timed_out": false,

"_shards": {

"total": 5,

"successful": 5,

"failed": 0

},

"hits": {

"total": 2,

"max_score": 0.2876821,

"hits": [

{

"_index": "megacorp",

"_type": "employee",

"_id": "4",

"_score": 0.2876821,

"_source": {

"first_name": "tom",

"last_name": "john",

"age": 32,

"about": "I like to collect rock albums",

"interests": [

"music"

]

}

},

{

"_index": "megacorp",

"_type": "employee",

"_id": "3",

"_score": 0.2876821,

"_source": {

"first_name": "Jane",

"last_name": "john",

"age": 32,

"about": "I like to collect rock albums",

"interests": [

"music"

]

}

}

]

}

}

### 7.删除文档

//删除一个文档$params = ['index'=>'megacorp','type'=>'employee','id'=>3];    $response = $client->delete($params);

>```{"found":true,"_index":"megacorp","_type":"employee","_id":"3","_version": 2,"result":"deleted","_shards": {"total": 2,"successful": 1,"failed": 0  }}

作者:足迹人生2017

链接:https://www.jianshu.com/p/fb9a117ae501

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

上一篇下一篇

猜你喜欢

热点阅读