lf/laravel-scout-elasticsearch

There is no license information available for the latest version (v1.0) of this package.

Elastic 7.0 Driver for Laravel Scout

v1.0 2020-07-08 15:03 UTC

This package is not auto-updated.

Last update: 2024-12-19 12:56:14 UTC


README

Software License

这是在 tamayo/laravel-scout-elastic 的基础上开发的适用于ElasticSearch7.0的laravel scout驱动

由于ElasticSearch7.0 不支持type 所以修改了原来的驱动 改变原来的type为统一的_doc 把searchableAs返回的字符串数据当做一个index 每个表都可以设置不同的index实现多index; 如果searchableAs 返回null 则使用scout配置中的index存储该模型数据 也可以改变MANY_MODEL的值来支持多个模型数据存储到一个index

增加了对elasticsearch nested 类型的搜索 只需在模型中重写getNested方法返回一个nested搜索时所需的path数组则可以完成对nested类型的搜索

增加了搜索数据恢复模型后的排序

使用环境:

laravel 7.0
laravel-scout 7.0
elasticsearch 7.0
elasticsearch(PHP) 5.0

Contents

安装

You can install the package via composer:

composer require lf/laravel-scout-elasticsearch

在Scout配置文件中配置ElasticSearch

在使用之前必须保证ElasticSearch已经启动并且已经创建好相关的index

// config/scout.php
// Set your driver to elasticsearch
    'driver' => env('SCOUT_DRIVER', 'ElasticSearch'),

...
    'elasticsearch' => [
        'index' => env('ELASTICSEARCH_INDEX', 'laravel'),
        'hosts' => [
            env('ELASTICSEARCH_HOST', 'http://localhost'),
        ],
    ],
...

用法

模型中

use ScoutEngines\ElasticSearchEngine\Search;
use Search

搜索用法请参考laravel官方scout的用法

Credits

License

The MIT License (MIT).