lf/laravel-scout-elasticsearch

本包最新版本(v1.0)没有提供许可证信息。

Elastic 7.0 驱动程序适用于 Laravel Scout

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

This package is not auto-updated.

Last update: 2024-09-26 11:59:51 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

内容

安装

您可以通过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', 'https://'),
        ],
    ],
...

用法

模型中

use ScoutEngines\ElasticSearchEngine\Search;
use Search

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

致谢

许可证

MIT许可(MIT)。