es基本操作

Elasticsearch —— ES 环境搭建、概念、基本操作、文档操作、SpringBoot继承ES 链接:提取码: xr76一、注:环境搭建过程中的命令窗口不能关闭,关闭了服务就会关闭(除了修改设置后重启的)●ES 下载地址:默认打开是最新版本新建一个文件夹,重名为 ES ,将解压在 bin 目录中 双击启动 elasticsearch.bat访问 http://127.0.0.1:9200成功●前提需要安装 nodejsgithub 下载 elasticsearch head :解压从界面访问 9200 服务会出现跨域问题。 阅读详情

ElasticSearch是一个基于RESTful web接口的分布式全文搜索引擎。 本解决方案是基于Mysql数据库 、 Hadoop生态(可选)、 ElasticSearch搜索引擎三大数据系统实现一个分布式 全文搜索系统。 主要包括数据接入、数据索引和全文搜索3个模块。适用于各种项目的各种搜索场景。

在我们使用es之前需要进行一些公共文件和封装类的引用

创建索引:创建索引添加索引‘index’和表’type‘以及进行高亮显示的配置

 //创建索引,并且设置ik分词器
    public function suoyin2()
    {
        $client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
        $params = [
            'index' => 'qxw',
            'body' => [
                      'settings'=>[
                          'number_of_shards'=>5, //分片数量(后期不可更改)
                          'number_of_replicas'=>1 //副本数量(后期可更改)
                      ],
                        'mappings'=>[
//                          'table'=>[
//                              'enabled'=>true //php版本7.0之后表名默认为‘_doc’,表名可以不加
//                        ],
                    //加载ik分词器的字段
                    'properties' => [
                        'title' => [
                            'type' => 'text',
                            'analyzer' => 'ik_max_word',
                            'search_analyzer' => 'ik_max_word'
                        ],
                        'content' => [
                            'type' => 'text',
                            'analyzer' => 'ik_max_word',
                            'search_analyzer' => 'ik_max_word'
                        ],
                    ]
                ],
            ]
        ];
        $response = $client->indices()->create($params);
    }

当我们添加到数据表后的数据然后进行倒叙排序取出添加数据然后调用封装类进行es同步

  public function save(Request $request)
    {
        //接收数据
        $param=$request->param();
        //验证
        $validate=$this->validate($param,[
           'name'=>'require',
           'ktime'=>'require',
           'jtime'=>'require',
           'shop'=>'require',
           'number'=>'require',
        ]);
        if ($validate !== true){
            $this->fail($validate);
        }
        //添加
        try {
        $obj=new \app\day5\model\es();
        $res=$obj->allowField(true)->save($param);
        //将添加的数据再添加到es中
        $es=new MyElasticsearch();
        $data=\app\day5\model\es::order('id','desc')->limit(1)->find()->toArray();
            //halt($data->id);
            //var_dump($data);die();
        $add=$es->add_doc($data['id'],$data,'ysb','_doc');
        return redirect('index')->with(['msg'=>'添加成功']);
        }catch (Exception $e){
            $this->fail('添加失败');
    }
    }

然后查询的时候对其进行判断:如果input搜索框没有数据那就去数据表进行查找,如果有搜搜值就去es里面进行全文搜索

 public function index(Request $request)
    {
        //接收每页显示条数和每页限制条数
        $page=$request->param('page');
        $limit=$request->param('limit');
        //接收搜索的标题
        $name=$request->param('name');
 //       $where=[];
//        if ($name){
//            $where['name']=['like',"%$name%"];
//        }
//        if ($request->isAjax()){
//            $data=\app\day5\model\es::where($where)->page($page,$limit)->select();
//            //获取总条数
//            $count=\app\day5\model\es::where($where)->count();
//            return ['code'=>'0','data'=>$data,'count'=>$count,'msg'=>'查询成功'];
//        }
//        return view('index');

        if ($request->isAjax()){
            if ($name == ''){
                $data=\app\day5\model\es::page($page,$limit)->select();
                //获取总条数
            $count=\app\day5\model\es::count();
                return ['code'=>'0','data'=>$data,'count'=>$count,'msg'=>'查询成功'];
            }else{
                //从es中查询
                $client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
                $params = [
                    'index' => 'ysb',
                    'body' => [
                        'query' => [
                            'multi_match' => [
                                'query' => $name,
                                //查询字段
                                'fields' => ['name']
                            ]
                        ],
                        //高亮显示
                        'highlight' => [
                            "pre_tags" => ["<em class='yx_hl' style='color: red'>",],
                            "post_tags" => [ "</em>"],
                            'fields' => [
                                '*' => new Highlighter()
                            ]
                        ]
                    ]
                ];
                $response = $client->search($params);
                //print_r($response);die();
                //降维
                $data = array_column($response['hits']['hits'], 'highlight');
                return ['code' => 0, 'msg' => '查询成功', 'data' => $data];
            }
            }
        return view('index');
    }

其他普通的删除、搜索可以直接调用封装的方法。

ElasticSearch 简介及基本操作 阅读详情

相关推荐

feko金属球远场RCS双站

feko金属球远场RCS双站

a264672的博客 6909

Java 操作ElasticSearch

Java查询ES,Java High Level REST Client,Spring Data Elasticsearch

xhl1123456789的博客 2282

模型参考自适应控制(MRAC):让PID参数动态优化

本文深入解析模型参考自适应控制(MRAC)技术,它通过实时调整PID参数,使控制系统能自动适应系统特性变化和外部干扰。文章详细介绍了MRAC的工作原理、数学基础,并提供了用C语言实现的实战代码示例,帮助工程师解决传统PID控制在非线性、时变系统中参数整定繁琐的难题。

tequila的博客 902

javascript中的${}操作符

是javascript ES6 中新增的字符串方法,用于拼接字符串。而现在我们又多了一种选择。

christmassss的博客 2967

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1447

RK356x U-Boot研究所(命令篇)3.7 pci与nvme命令的用法

RK356x U-Boot研究所(命令篇)3.7 pci与nvme命令的用法

Systemcall名屋 2084

ElasticSearch中索引的别名

【代码】ElasticSearch中索引的别名。

围城客的专栏 831

Uniapp返回上一页并刷新:亲测有效的 goBack 实现技巧!

这个技巧在实际开发中非常常用,特别适合表单提交后返回列表刷新这类场景。比起依赖onShow或复杂的vuex状态同步,这种方式更直接、好维护,也不容易出 bug。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1840

Es修改索引别名

es修改索引别名

a...Z 3568

锐捷 MPLS VPN 配置

ISP内部配置 , PE设备和CE设备之间的接口不开启 ( 只在物理接口上配置 , loopback 口不配置 )最后一步关闭 ipv4 单播 , 如果你发现路由奇奇怪怪的 , 可以尝试一下。both --> 同时配置 import export 值。绑定后接口会重置 , 且接口的路由会转到VRF路由表中。这里基本上绑定了 vrf 实例的接口都需要宣告进去。vpnv 4 通道是用来传递 mpls 路由的。先建立邻居管理,建立VPNV4通道。这里要做双向引入 , 才会有路由。export 导出值。

dekangzou的博客 1710

华为OD机考双机位C卷 - 构成正方形的数量 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 成正方形的数量 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 5938

“github.com/go-pg/pg/v10“查询时自动给表名称加s、es或者ies

"github.com/go-pg/pg/v10"查询时自动给表名称加s、es或者ies

qq_40585384的博客 1860

Python爬虫终极实战:逆向解析+异步处理,高效爬取中关村在线万级产品数据

爬虫工程师的战场,已经从简单的HTML解析,转向了对网络协议、JavaScript执行逻辑的深度逆向工程。然后刷新页面,当浏览器发起这个请求时,执行会暂停,我们可以一步步跟蹤调用栈(Call Stack),找到发起请求前的JavaScript代码,从而发现参数的计算逻辑。它们会添加一个动态的、一次性的签名(token)或加密参数,用于验证请求的合法性。这是整个爬虫最核心、最具技术含量的部分。的请求,其响应体正是结构清晰的JSON数据,包含了当前页面的所有手机信息(产品ID、名称、价格、图片等)。

2201_76125261的博客 429

Elasticsearch学习-ES中文档的基本操作

文档是索引中数据的基本单位,类似于关系型数据库中的一条记录,文档的在ES中以json的数据格式存储。当一条记录存储到ES中后,ES会为每个文档添加一些除文档内容之外的其他属性信息,用来描述该文档。常用的以用来描述文档的属性有一下这些:_index:表示文档存放在哪个索引中。索引我们大家都知道,它是一类结构相同的文档集合。看过前面文章"Elasticsearch学习-ES中的一些组件介绍"的老铁都知道,文档其实是被存储在分片中的,而索引仅仅是逻辑上的命名空间, 这个命名空间由一个或者多个分片组合在一起。 然而

weixin_45701550的博客 7663

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Elasticsearch 全文搜索引擎理解和基本操作

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。 全文搜索引擎理解 1.全文搜索引擎是什么 数据总体分为两种:结构化数据和非结构化数据 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元...

qq_33411202的博客 399

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

es的基本操作(elasticsearch-3)

创建es_db索引,并将该索引的默认分词方法设置为ik_max_word PUT /es_db { "settings": { "index": { "analysis.analyzer.default.type": "ik_max_word" } } } 针对索引的基本操作 GET /es_db DELETE /es_db 添加文档 PUT /es_db/_doc/1 { "name": "张三", "sex": 1, "age": 23,.

云泽的博客 5417

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Elasticsearch(四)——ES基本操作

Rest风格一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。 它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 基于Rest命令说明 下图执行信息显示: _index:索引名 _type:类型名 _id:文档id 完成了自动增加了索引!,数据也成功的添加了,这就是学习初期把它理解为数据库的原因。 下图是创建索引,定义数据的类型 mappings: 定义个类型 properties:自定属性 通过命令查看elasticsearch索引情

qq_43070052的博客 1万+

ElasticSearch8.x.x 【一篇文章精通系列】【ES的基本操作,ES安装,ES head + Kibana】

一、ElasticSearch的安装,1、解压安装ES,2、熟悉目录,3、启动ES,4、安装可视化界面(elasticsearch head) 5、了解ELK,6、安装Kibana,(1)下载解压Kibana,(2)启动Kibana,(3)访问:[http://localhost:5601](http://localhost:5601),(4)Kibana开发工具 (5)汉化`Kibana`,设置在`config`下的`kibana.yml` 二、ElasticSearch的核心概念,1、基本概念,2、物理

程序员猫爪 3221

elasticsearch基本操作

ES 简介 Elasticsearch 是基于Apache Lucene的开源分布式(全文)搜索引擎,,提供简单的RESTful API来隐藏Lucene的复杂性。 ES 和 传统数据库对比 传统数据库 Elasticsearch database(库) index(索引) table (表) ducument(文档) column(列) feild(属性) docker 下 安装 es 和 kibana es 安装 docker run -d -e ES_JAVA_POTS="

qq_31211493的博客 366

ElasticSearch全文搜索引擎 -Spring Boot操作ES(SpringData概述、Spring Data Elasticsearch、基本操作、

数据库redisMongoDB等包括数据库在内,很多第三方数据都可以使用SpringData操作,非常方便。

m0_67403240的博客 409

elasticsearch(es)基本操作

"query":{"match":{"title":"华为手机"},"fields":{"title":{}

weixin_64723414的博客 737

Elasticsearch 实战之三:ES 基本操作

在实战开始之前,为了便于书写和沟通,本文先来约定一下如何在文章中表达请求和响应的信息:1. 假设通过Postman工具或者Kibana向服务器发送一个PUT类型的请求,地址是:http://{IP}:9200/test001/article/1。

akenseren的博客 1618

【ES】ElasticSearch基本操作

文章目录1 启动ElasticSearch服务2 索引操作2.1 创建索引2.2 获取索引2.3 删除索引3 文档操作3.1 创建文档3.2 文档查询3.3 修改文档3.4 删除文档4 文档查询操作4.1 条件查询4.2 分页查询4.3 查询排序4.4 多条件查询4.5 范围查询4.6 完全匹配4.7 查询结果高亮显示4.8 聚合查询5 映射关系5.1 创建索引5.2 增加文档数据5.3 查询数据参考资料 1 启动ElasticSearch服务 2 索引操作 2.1 创建索引 索引相当于关系型数据库中

Awt_FuDongLai的博客 448

Elasticsearch 实战 - 第三讲:ES 基本操作、批处理

Elasticsearch 实战 - 第三讲:ES 基本操作、批处理一:ES的基本操作1、索引操作1.1、建立索引1.2、删除索引1.3、查询索引2、映射操作2.1、建立映射2.2、查询映射3、基本操作-CRUD3.1、新增和替换文档3.2、删除文档3.3、查询文档二 、批处理1、简介2、bulk批量增删改3、mget批量查询 导读: 上篇博客讲了关于 Elasticsearch 的安装以及部署,......

华星详谈的博客 3506

Elasticsearch 文档的基本操作

Elasticsearch 提供了强大且灵活的文档操作功能,涵盖了创建、读取、更新和删除等基本操作,帮助开发者管理和查询大量数据。在实际应用中,了解如何高效地进行文档操作,掌握批量操作与性能优化技巧,对于提高系统的吞吐量和响应速度至关重要。对于 Elasticsearch 的基本操作来说,文档的增、查、改、删(CRUD 操作)是最基本也是最常用的功能之一。部分更新允许仅更新文档的一部分字段,而完全更新则是用新的文档替换原有文档。更新操作会基于文档 ID 查找到原始文档,然后只更新指定的字段。

Flying_Fish_roe的博客 1694

kibana实现ES入门及ES基本操作

一、简介 Elasticsearch是一个实时、分布式的存储、搜索和分析引擎。 它使您可以近乎实时地快速存储、搜索和分析大量数据。它通常用作支持具有复杂搜索功能和要求的应用程序的底层引擎/技术。 它可以用于多种用途,但它擅长的一个上下文是索引半结构化数据流,例如日志或解码的网络数据包。 使用比较广泛的平台ELK(ElasticSearch, Logstash, Kibana) 二、下载安装 Elasticsearch 1、下载 参考地址:https://www.elastic.co/guide/en/e

一个喜欢诗和远方的程序媛 5017
上一篇: 小程序添加、oss上传加水印
下一篇: 小程序es高亮搜索
stringQiang
博客等级 码龄5年 36粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值