1、首先安装 jave环境 jdk 下载地址 ,我用的是最新版本的,有时版本要跟elasticsearch对应

2、安装elasticsearch 下载地址

3、安装Laravel scout 全文搜索包,这里我用的是5.0.3版本,tamayo/laravel-scout-elastic .这里的版本很重要,不然一会就出错了!

composer require laravel/scout=5.0.3

生成配置文件

php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"

这样,scout就安装完了,这可以参考官方教程

4、因为要使用es做搜索引擎,所以我们要用到一个叫tamayo/laravel-scout-elastic的包。4.0对应5.0.3不要搞错!

composer require tamayo/laravel-scout-elastic=4.0

5、添加服务提供器到config/app.php的providers数组中

// config/app.php
'providers' => [
...
ScoutEngines\Elasticsearch\ElasticsearchProvider::class,
],

6、配置。在config/scout.php文件中添加如下代码。默认使用的是algolia引擎,我们要使用es做引擎

'driver' => env('SCOUT_DRIVER', 'elasticsearch'),
'elasticsearch' => [
'index' => env('ELASTICSEARCH_INDEX', '你的索引名'),
'hosts' => [
env('ELASTICSEARCH_HOST', 'http://127.0.0.1:9200'),
],
],

7、建立model 并配置

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable; //一定要有,自动生成没有的 class Article extends Model
{
//
use Searchable; //一定要有 // 定义索引里面的类型,上文我们说过,可以把type理解成一个数据表。我们现在要做的就是把我们所有的要全文搜索的字段都存入到es中的一个叫'_doc'的表中。
public function searchableAs()
{
return 'articles';
}
// 定义有那些字段需要搜索
public function toSearchableArray()
{
return [
'user_title' => $this->title, //user_name加上前缀以区别。因为不同的表里可能会有相同的字段。mysql中的字段是name,email,created_at。在es中我们存储的user_name,user_email,user_created_at。是可以自定义的。
'user_description' => $this->description,
];
}
}

8、导入数据,其实看官方的那个文档,来增、更、删除也可以的。主要是配置好es就好了

php artisan scout:import "App\Models\Article"

9、按官方scout的来使用搜索就可以了,例如

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Article; class TestController extends Controller
{
public function test($value='')
{
return Article::search('ic')->paginate(5);
}
}

最后总结,简单使用,可以这样,如果有其它复杂要求的话,可以自行设置!

laravel-elasticsearch 全文搜索设置的更多相关文章

  1. [Elasticsearch] 全文搜索 (一) 基础概念和match查询

    全文搜索(Full Text Search) 现在我们已经讨论了搜索结构化数据的一些简单用例,是时候开始探索全文搜索了 - 如何在全文字段中搜索来找到最相关的文档. 对于全文搜索而言,最重要的两个方面 ...

  2. Elasticsearch全文搜索——adout

    现在尝试下稍微高级点儿的全文搜索——一项传统数据库确实很难搞定的任务. 搜索下所有喜欢攀岩(rock climbing)的雇员: curl -XGET 'localhost:9200/megacorp ...

  3. Elasticsearch 全文搜索

    1,匹配查询(match) match查询主要的应用场景是进行全文搜索: // 1,初始化数据 DELETE /my_index PUT /my_index { "settings" ...

  4. Elasticsearch 全文搜索和keyword search字段的mapping定义

    在ES5.0之前我们对于需要keyword search的字段都是这样定义的: { "field name":{ "type": "string&qu ...

  5. elasticsearch全文搜索

    1.创建索引 PUT 192.168.100.102:9200/news 2.创建mapping POST 192.168.100.102:9200/news/new/_mapping { " ...

  6. ElasticSearch全文搜索引擎(A)

    文章:[Elasticsearch] 全文搜索 (一) - 基础概念和match查询 全文检索,是从最初的字符串匹配和简单的布尔逻辑检索技术,演进到能对超大文本.语音.图像.活动影像等非结构化数据进行 ...

  7. 在 Laravel 项目中使用 Elasticsearch 做引擎,scout 全文搜索(小白出品, 绝对白话)

    项目中需要搜索, 所以从零开始学习大家都在用的搜索神器 elasiticsearch. 刚开始 google 的时候, 搜到好多经验贴和视频(中文的, 英文的), 但是由于是第一次接触, 一点概念都没 ...

  8. 全文搜索之 Elasticsearch

    概述 Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定.可靠.快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的. 特性 安装方便:没有其他依赖,下载 ...

  9. 使用ElasticSearch服务从MySQL同步数据实现搜索即时提示与全文搜索功能

    最近用了几天时间为公司项目集成了全文搜索引擎,项目初步目标是用于搜索框的即时提示.数据需要从MySQL中同步过来,因为数据不小,因此需要考虑初次同步后进行持续的增量同步.这里用到的开源服务就是Elas ...

随机推荐

  1. Centos7安装JDK+部署Tomcat8

    Centos7下JDK+Tomcat的部署: 1.安装JDK 1.1 通过以下命令获得java JDK列表 yum -y list java* 1.2 通过yum安装JDK yum -y instal ...

  2. MySQL之排序、分组(五)

    一.排序 格式:select * from 表 order by 字段 asc|desc 1.查询所有的商品进行排序(升序asc.降序desc) mysql> select * from pro ...

  3. Vue:window.onresize

    1. 添加属性screenHeight 和 timer. screenHeight: window.innerHeight timer: '' //  window.onresize函数频繁调用时,页 ...

  4. STM32的定时器定时时间计算(计数时间和中断定时时间)

    时基单元 可编程高级控制定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器.这个计数器可以向上计数.向下计数或者向上向下双向计数.此计数器时钟由预分频器分频得到. 计数器.自动装载寄存器和预 ...

  5. 学习HTML5, Canvas及简单动画的使用

    通过在CSDN中的一些简单课程学习,跟随老师联系,做了如下的月亮,太阳和地球的运动效果.纪录在文章中,用于下次使用. 准备工作如下: 1. 使用三张背景图片 太阳 月亮 地球 2. 在HTML页面中定 ...

  6. 神经网络的另一种非线性阶跃函数---ReLU函数

    import numpy as np import matplotlib.pylab as plt from matplotlib.font_manager import FontProperties ...

  7. Net MVC使用datatables插件

    基本用法 1 - 引入js和css <link href="https://cdn.bootcss.com/datatables/1.10.19/css/dataTables.boot ...

  8. win10 安装mysql8

    参考:https://www.jb51.net/article/139219.htm mysql下载地址:https://dev.mysql.com/downloads/mysql/ 1.下载:mys ...

  9. zookeeper(1)-简单介绍

    参考:  https://www.cnblogs.com/wuxl360/p/5817471.html   zookeeper集群搭建 zookeeper集群原理和搭建 zookeeper集群搭建3 ...

  10. symfony简单的博客练习,熟悉具体开发流程

    这里搭建一个简单的博客系统作为练习,之后再完成学校任务搭建一个表白墙, 使用htmlpurifier和parsedown来搭建前端,所以需要先安装这两个第三方包,必须要弄一个composer的国内镜像 ...