addons/elasticsearch

Laravel的elasticsearch分页器/集合/日志助手。

3.0.4 2020-03-27 15:43 UTC

This package is auto-updated.

Last update: 2024-09-25 18:31:07 UTC


README

在Laravel 5中使用官方的Elastic Search 5.x~6.x客户端的简单方法。

警告:本手册适用于addons/elasticsearch:3.0.0Elasticsearch 6.x。如果您使用Elasticsearch 5.x,请访问2.0.1

版本

  • addons/elasticsearch:1.0.2
    • Elasticsearch 5.x
    • Laravel/Scout 3.0
    • Laravel 5.1~5.5
  • addons/elasticsearch:2.0.1
    • Elasticsearch 5.x
    • Laravel/Scout 3.0~4.0
    • Laravel 5.1~5.6
  • addons/elasticsearch:3.0.0 - master
    • Elasticsearch 6.x
    • Laravel/Scout 4.0
    • Laravel 5.1~5.6

差异

Elasticsearch 6.0移除(弃用)了TYPE。 (类似于数据库的表)

因此我们使用ES的索引名为env('SCOUT_PREFIX').$mode->getTable()为每个表

例如

.env

SCOUT_PREFIX = my_application_name-

索引名称如下

my_application_name-users
my_application_name-roles

示例

搜索类似于Laravel的模型

此构建器将在ES中搜索,而不是数据库中。

User::search('must')->where('name', 'admin')->whereIn('type', ['1', '2'])->get();

页面

// page 1
User::search()->where(...)->paginate(25);

// page 4
User::search()->where(...)->paginate(25, ['*'], 'page', 4)

读取/修改Elastic DSL JSON

User::search('must', function($elasticsearch, &$query){
    print_r($query); // Show the DSL JSON

    // ... edit the $query.

})->where(...)->get();

版权和许可

elasticsearchColin ViebrockFly编写,并按照MIT许可发布。

版权(c)2016-2018