摘要:写在前面以下简称是一个实时的分布式搜索和分析引擎。在搜索引擎方面,不仅仅有,像另一篇提到的,还有等等,这里不做评价和比较,本篇主要介绍中如何使用。首选必须安装有,请参考。本文基于,其他版本大同小异。
写在前面
Elasticsearch(以下简称es)是一个实时的分布式搜索和分析引擎。
在搜索引擎方面,不仅仅有Elasticsearch,像另一篇提到的Algolia,还有sphinx、Solr等等,这里不做评价和比较,本篇主要介绍laravel中如何使用Elasticsearch。
首选必须安装有Elasticsearch,请参考 https://www.tech1024.cn/origi... 。
本文基于laravel5.5,其他版本大同小异。
准备工作通过composer安装依赖包
</>复制代码
composer require laravel/scout
composer require tamayo/laravel-scout-elastic
基本配置
在config/app.php文件中的providers数组中加入服务提供者
</>复制代码
// config/app.php
"providers" => [
// ...
LaravelScoutScoutServiceProvider::class,
// ...
ScoutEnginesElasticsearchElasticsearchProvider::class,
],
使用以下命令生成scout配置文件
</>复制代码
php artisan vendor:publish --provider="LaravelScoutScoutServiceProvider"
在config/scout.php中加入elasticsearch的配置
</>复制代码
"elasticsearch" => [
"index" => env("ELASTICSEARCH_INDEX", "laravel"),
"hosts" => [
env("ELASTICSEARCH_HOST", "http://localhost:9200"),
],
],
然后我们打开.env文件,加入scout和elasticsearch的配置
</>复制代码
# scout配置
SCOUT_DRIVER=elasticsearch
SCOUT_PREFIX=
# elasticsearch 配置
ELASTICSEARCH_INDEX=esdemo
# elasticsearch 地址
ELASTICSEARCH_HOST=http://172.30.6.1:9200
创建索引
创建模型并填充数据
创建模型app/Student.php,为方便后续测试,请先建表和填充数据,可以手动使用sql语句添加数据,也使用laravel自动的数据迁移和填充,可以参考 https://www.tech1024.cn/origi...
</>复制代码
toArray();
// Customize array...
return $array;
}
}
把所有现有记录导入到搜索索引里
</>复制代码
php artisan scout:import "AppStudent"
是不是导入成功了呢?
</>复制代码
php artisan scout:import "AppStudent"
Imported [AppStudent] models up to ID: 500
Imported [AppStudent] models up to ID: 1000
Imported [AppStudent] models up to ID: 1500
Imported [AppStudent] models up to ID: 2000
Imported [AppStudent] models up to ID: 2500
Imported [AppStudent] models up to ID: 3000
Imported [AppStudent] models up to ID: 3500
Imported [AppStudent] models up to ID: 4000
Imported [AppStudent] models up to ID: 4500
Imported [AppStudent] models up to ID: 5000
Imported [AppStudent] models up to ID: 5500
Imported [AppStudent] models up to ID: 6000
Imported [AppStudent] models up to ID: 6500
Imported [AppStudent] models up to ID: 7000
Imported [AppStudent] models up to ID: 7500
Imported [AppStudent] models up to ID: 8000
Imported [AppStudent] models up to ID: 8500
Imported [AppStudent] models up to ID: 9000
Imported [AppStudent] models up to ID: 9500
Imported [AppStudent] models up to ID: 10000
All [AppStudent] records have been imported.
我们访问es,http://172.30.6.1:9200/esdemo/students_index/_search
是不是已经有了刚刚导入的students_index索引数据
大功告成</>复制代码
$studens = AppStudent::search("成燕")->get();
dd($studens);
可以填充个百万条数据试试,检索速度,是不是比直接查询数据库要快很多呢?
更多用法请查阅官方文档 https://www.elastic.co/guide/...
</>复制代码
原文: http://www.tech1024.cn/origin...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28562.html
摘要:至于其他的算一般我习惯说树形模型,这里说的概率模型可能是差不多的意思。 要点 不同工具之间版本匹配很重要由点及面,先实践起来再学细节的原理和使用 技术栈 laravel5.5框架+scout组件+elasticsearch6.3.0搜索引擎 辅助 elasticsearch-head 查看集群数据可视化 中文分词插件Ik 介绍 laravel是一款现代化的php框架es是搜索引擎e...
摘要:导语全文搜索是很重要的功能,实现的方式也有很多种。以下通过和实现。是用开发的,并在许可证下作为开源软件发布。官方客户端在和许多其他语言中都是可用的。根据的排名显示,是最受欢迎的企业搜索引擎,其次是,也是基于。 导语 全文搜索是很重要的功能,实现的方式也有很多种。以下通过 Laravel Scout 和 Elasticsearch 实现。先来看下各自的介绍 Laravel Scout 为...
阅读 1389·2021-11-15 11:37
阅读 3599·2021-11-11 16:55
阅读 1827·2021-08-25 09:39
阅读 3292·2019-08-30 15:44
阅读 1804·2019-08-29 12:52
阅读 1475·2019-08-29 11:10
阅读 3323·2019-08-26 11:32
阅读 3294·2019-08-26 10:16