1)安裝方法
$ composer require basemkhirat/elasticsearch
2)發(fā)布
$ php artisan vendor:publish –provider=”Basemkhirat\\\\Elasticsearch\\\\ElasticsearchServiceProvider”
配置
這樣我們就安裝好了,如下是我們的連接配置:
'connections' => [
'default' => [
'servers' => [
[
"host" => env("ELASTIC_HOST", "127.0.0.1"),
"port" => env("ELASTIC_PORT", 9200),
'user' => env('ELASTIC_USER', ''),
'pass' => env('ELASTIC_PASS', ''),
'scheme' => env('ELASTIC_SCHEME', 'http'),
]
],
'index' => env('ELASTIC_INDEX', 'my_index')
]],
servers 里可以加入我們的集群配置。
使用方法
該插件的使用方法可借鑒 Laravel 的查詢構(gòu)造器,支持常用的如 where、whereIn、whereBetween、orderBy、first、get,也支持分頁方法paginate。
$documents = ES::connection(“default”)
->index(“my_index”)
->type(“my_type”)
->get(); # return a collection of results
設(shè)置字段權(quán)重:
ES::type(“my_type”)->search(“hello”, function($search){
$search->boost(2)->fields([“title” => 2, “content” => 1])
})->get();
我們也可以通過修改源碼擴充自己需要用到的方法,也可以構(gòu)造原生的查詢語句:
$params['body'] = [
'aggs' => [
'all_created' => [
'terms' => [
'field' => 'element.raw',
'size' => $this->_mAggsPageSize ],
'aggs' => [
'sum_pv' => [
'sum' => ['field' => 'pv'],
],
],
],
],
];
結(jié)語
ES 內(nèi)置分詞器對中分支持并不友好,比較推薦的是 IK分詞器,需要注意的是ik版本需要與ES的版本號保持一致。
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網(wǎng):m.ps-sw.cn