问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在laravel5.4中使用element-ui的组件

发布网友 发布时间:2022-04-28 03:18

我来回答

2个回答

懂视网 时间:2022-04-28 07:39

下面由Laravel教程栏目给大家介绍laravel使用es的正确姿势,希望对需要的朋友有所帮助!

Elasticsearch 简介

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

ES 和 Mysql

ES 里的概念类比于 Mysql 如下图所示:
laravel 使用 es 的正确姿势

倒排索引

在说倒排索引之前我们先说说什么是正排索引。正排索引也称为”前向索引”,它是创建倒排索引的基础。
laravel 使用 es 的正确姿势
如上在查询一个 keyword 在哪些文档里包含的时候,需对所有的文档进行扫描以确保没有遗漏,这样就使得检索时间大大延长,检索效率低下。这个时候我们就用到了倒排索引,首先将文档分词。
laravel 使用 es 的正确姿势
比如我们要查询‘搜索引擎’这个关键词在哪些文档中出现过。首先我们通过倒排索引可以查询到该关键词出现的文档位置是在1和3中;然后再通过正排索引查询到文档1和3的内容并返回结果。

Laravel 使用 ES

安装插件

basemkhirat/elasticsearch 是 Laravel 中使用 ES 的一个扩展,使用起来非常方便:
1)安装方法

$ composer require basemkhirat/elasticsearch

2)发布

$ php artisan vendor:publish –provider=”BasemkhiratElasticsearchElasticsearchServiceProvider”

配置

这样我们就安装好了,如下是我们的连接配置:

'connections' => [
 'default' => [
 'servers' => [
  [
  "host" => env("ELASTIC_HOST", "127.0.0.1"),
  "port" => env("ELASTIC_PORT", 9200),
  'user' => env('ELASTIC_USER', ''),
  'pass' => env('ELASTIC_PASS', ''),
  'scheme' => env('ELASTIC_SCHEME', 'http'),
  ]
 ],
 'index' => env('ELASTIC_INDEX', 'my_index')
 ]],

servers 里可以加入我们的集群配置。

使用方法

该插件的使用方法可借鉴 Laravel 的查询构造器,支持常用的如 wherewhereInwhereBetweenorderByfirstget,也支持分页方法paginate

$documents = ES::connection(“default”)
->index(“my_index”)
->type(“my_type”)
->get(); # return a collection of results

设置字段权重:

ES::type(“my_type”)->search(“hello”, function($search){
$search->boost(2)->fields([“title” => 2, “content” => 1])
})->get();

我们也可以通过修改源码扩充自己需要用到的方法,也可以构造原生的查询语句:

$params['body'] = [
  'aggs' => [
  'all_created' => [
   'terms' => [
   'field' => 'element.raw',
   'size' => $this->_mAggsPageSize   ],

   'aggs' => [

   'sum_pv' => [
    'sum' => ['field' => 'pv'],
   ],
   ],
  ],
  ],
 ];

结语

ES 内置分词器对中分支持并不友好,比较推荐的是 IK分词器,需要注意的是ik版本需要与ES的版本号保持一致。

热心网友 时间:2022-04-28 04:47

在编辑器中没有使控件定位的选项。你可以使用Form控件的OnResize事件动态确定,Form的所有与大小变化有关的动作可以触发这个事件,包括Form的创建、最大化/最小化/还原、用鼠标拖动改变大小等。因此,在此事件中动态地改变各个控件的位置可以确保其在Form中的相对位置正确。希望能帮助你。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 电脑游戏下载平台有哪些好的 电脑下载游戏用什么平台好 thinkPHP 查询时参数为空的话就查全部,不做where限制.【帮我看看代码】 thinkphp用$.post发送到后台的数据打印出来是空数组。求解决。。。在线等。。。。。。。。 thinkphp怎么让uploadfile允许空文件上传 thinkphp 判断data是否有空 thinkphp查询结果不为空 thinkphp怎么判断post提交是否为空 thinkphp 怎么设置404 thinkphp我想调出数据库表中内容显示为空,怎么回事? ThinkPHP 如何判断模块控制器是否存在 ThinkPHP中关于静态缓存的定义格式为全局的操作静态规则 为什么ThinkPHP thinkphp跳转的问题 thinkphp 访问不存在url怎么设置404 thinkphp中控制器不存在的问题该怎么解决? thinkphp emptycontroller怎么执行的 thinkcmf设置空模块和空控制器,空方法默认跳转到404页面,怎么设置 thinkphp如何用空操作和空方法解决404问题? thinkphp3.2空控制器和空方法的写法 laravel 框架 视图 里面怎么用php函数 在laravel中有必要使用vue吗 centos7.2+nginx1.6+php5.7 laravel框架。loadrunner测试注册接口时。php-fpm占用过高的cpu,内存无影响 laravel 框架 开发系统可以销售吗 laravel 框架适合做大型的系统吗 电脑的液晶显示屏能当电视用吗? 电脑显示器能否直接当电视机使用 为什么我做win10系统u盘启动不了 win10 u盘启动不了怎么办 win10开机u盘启动不了怎么办 win10开不了机一直卡在logo,想重装系统,但是无法进入U盘启动。 yii2高级后台怎么设置默认控制器 yii2怎么设置,url不加模块名,直接路由到默认模块 yii 2.0模块默认控制器怎么失效了 yii怎么设置找不到的控制器自动跳转 yii2.0里面控制器怎么调用接口 怎样用yii2.0配合mongodb做后台的权限控制系统 yii2基础版我创建了一个文件夹,里面有控制器、视图、runtime,怎么才能访问到呢?能在config里面配置吗? yii2.0 在控制器init方法中判断权限 怎么阻止往下执行 yii2.0中分页中控制器中的offset没用是为啥