=5.5.9","...">
美文网首页
Laravel5.1简单使用elasticsearch

Laravel5.1简单使用elasticsearch

作者: 庆庆_ce88 | 来源:发表于2019-04-23 15:00 被阅读0次

    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

    来源:简书

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

    相关文章

      网友评论

          本文标题:Laravel5.1简单使用elasticsearch

          本文链接:https://www.haomeiwen.com/subject/hamvgqtx.html