摘要:写在前面以下简称是一个实时的分布式搜索和分析引擎。在搜索引擎方面,不仅仅有,像另一篇提到的,还有等等,这里不做评价和比较,本篇主要介绍中如何使用。首选必须安装有,请参考。本文基于,其他版本大同小异。
写在前面
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 为...
阅读 1262·2021-11-15 11:37
阅读 3453·2021-11-11 16:55
阅读 1719·2021-08-25 09:39
阅读 3185·2019-08-30 15:44
阅读 1712·2019-08-29 12:52
阅读 1350·2019-08-29 11:10
阅读 3189·2019-08-26 11:32
阅读 3194·2019-08-26 10:16