[ 'mappings' => [ " /> [ 'mappings' => [ " />
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >es 简单实现增加,查询,分词 热词
  • 526
分享到

es 简单实现增加,查询,分词 热词

elasticsearchmysqlphp 2023-09-08 13:09:45 526人浏览 薄情痞子
摘要

看代码: $params = [ 'index' => "goods", 'body' => [ 'mappings' => [

看代码:

 $params = [            'index' => "goods",            'body' => [                'mappings' => [                    'properties' => [                        //之后可以进行搜索的字段                        'name' => ['type' => 'text',"analyzer" => "ik_max_word","search_analyzer" => "ik_max_word"                        ]                    ]                ]            ]        ];        $this->client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();//    执行 只用执行一次即可//        $this->client->indices()->create($params);

 添加es中的表,index 表示表名 body 表示主体部分,然后执行,可以创建一个es 中的表格,相当于数据库中的数据表,现在还是空的表格,需要添加数据后在进行查询

添加:

 $goods = $goods->toArray();        $params = [            'index' => 'goods',            'type' => '_doc',            'body' => $goods        ];        //执行添加        return $this->client->index($params);

先查询出添加数据库的数据,转为数组格式添加进es中 方便在随后的搜索中实现搜索

搜索:

     //判断用户是否搜索,如果没有则跳过        if ($search != "") {            $client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();            $params = [                'index' => 'goods',                'type' => '_doc',                'body' => [                    'query' => [                        'match' => ['name' => $search                        ]                    ],                    'highlight' => [                        'fields' => ['name' => [    'pre_tags' => "",    'post_tags' => "",]                        ]                    ]                ]            ];//            dd($params);            // 执行搜索            $response = $client->search($params);//            dd($response);            //高亮            $data = $response['hits']['hits'];            $res = [];            //循环获取高亮字段            foreach ($data as $v) {                if (!empty($v['highlight']['name'][0])) {                    $v['_source']['name'] = $v['highlight']['name'][0];                }                array_push($res, $v['_source']);            }//            热词            Redis::zincrby('search', 1, $search);            return $res;        }        $res = Goods::get();//        dd($res);        return $res;

基本实现

来源地址:https://blog.csdn.net/NobleCharacter/article/details/126608094

--结束END--

本文标题: es 简单实现增加,查询,分词 热词

本文链接: https://lsjlt.com/news/400002.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • es 简单实现增加,查询,分词 热词
    看代码: $params = [ 'index' => "goods", 'body' => [ 'mappings' => [ ...
    99+
    2023-09-08
    elasticsearch mysql php
  • Python实现简单的猜单词
    本文实例为大家分享了Python实现简单猜单词的具体代码,供大家参考,具体内容如下 游戏说明: 由程序随机产生一个单词,打乱该单词字母的排列顺序,玩家猜测原来的单词。 游戏关键点: 如何产生一个单词? 如何打乱单词字...
    99+
    2022-06-02
    python 猜单词
  • Android实现一个简单的单词本
    目录布局设计代码AddDanciActivity.javaDBOpenHelper.java效果图总结本文基于Java实现了一个简单的单词本安卓app,用的是SQLite数据库,包括...
    99+
    2024-04-02
  • JavaScript如何实现简单的词法分析器
    这篇文章主要介绍了JavaScript如何实现简单的词法分析器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript如何实现简单的词法分析器文章都会有所收获,下面我们一起来看看吧。什么是词法分析器?...
    99+
    2023-07-05
  • C++实现LeetCode之添加和查找单词的示例分析
    这篇文章将为大家详细讲解有关C++实现LeetCode之添加和查找单词的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。[LeetCode] 211.Add and Search Word - Da...
    99+
    2023-06-20
  • Android怎么实现一个简单的单词本
    这篇文章主要介绍了Android怎么实现一个简单的单词本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么实现一个简单的单词本文章都会有所收获,下面我们一起来看看吧。本文基于Java实现了一个简单...
    99+
    2023-06-29
  • 详解JavaScript实现简单的词法分析器示例
    目录正文什么是词法分析器?实现一个简单的词法分析器总结正文 词法分析是编译器的一项重要工作,其目的是将源代码转换成单个单词(token)的序列,方便后续语法分析器(parser)对...
    99+
    2023-03-10
    JavaScript词法分析器 JavaScript 分析器
  • Java实现简易的分词器功能
    业务需求: 生活中常见的搜索功能大概可分为以下几类: 单关键词。如“Notebook” 双关键词加空格。如“Super Notebook” 多关键词加多空格...
    99+
    2024-04-02
  • java怎么实现es分页查询
    在Java中,可以使用Elasticsearch的Java客户端库来实现ES分页查询。下面是一个简单的示例代码: import or...
    99+
    2023-10-28
    java es
  • python实现简单中文词频统计示例
    本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import...
    99+
    2022-06-04
    词频 示例 中文
  • 基于Java实现一个简单的单词本AndroidApp的实践
    目录布局设计代码AddDanciActivity.javaDBOpenHelper.java       &nb...
    99+
    2024-04-02
  • 怎么使用Python+Pygame实现简单的单词小游戏
    本篇内容主要讲解“怎么使用Python+Pygame实现简单的单词小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python+Pygame实现简单的单词小游戏”吧!一、环境准备1)...
    99+
    2023-07-05
  • Android 有道词典的简单实现方法介绍
    首先看程序界面如下! 1、布局文件: 代码如下:<AbsoluteLayout xmlns:android="http://schemas.android.com/ap...
    99+
    2022-06-06
    有道 方法 Android
  • c语言单词本的新增、删除、查询按顺序显示功能
    c语言单词本的新增,删除,查询,按顺序显示 #include<stdio.h> #include<string.h> #define SIZE 100 i...
    99+
    2024-04-02
  • C++实现LeetCode(211.添加和查找单词-数据结构设计)
    [LeetCode] 211.Add and Search Word - Data structure design 添加和查找单词-数据结构设计 Design a data str...
    99+
    2024-04-02
  • Python利用re模块实现简易分词(tokenization)
    目录一个简单的tokenizer过滤tokens流注意子串匹配陷阱一个简单的tokenizer 分词(tokenization)任务是Python字符串处理中最为常见任务了。我们这里...
    99+
    2024-04-02
  • 基于Java怎样实现一个简单的单词本Android App
    这篇文章跟大家分析一下“基于Java怎样实现一个简单的单词本Android App”。内容详细易懂,对“基于Java怎样实现一个简单的单词本Android App”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅...
    99+
    2023-06-29
  • Python怎么利用re模块实现简易分词
    本文小编为大家详细介绍“Python怎么利用re模块实现简易分词”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么利用re模块实现简易分词”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一个简单的to...
    99+
    2023-06-30
  • JpaRepository 实现简单条件查询
    目录JpaRepository 简单条件查询创建持久化类定义数据访问层接口定义业务层类定义控制器类测试应用JpaRepository 查询规范1.JpaRepository支持接口规...
    99+
    2024-04-02
  • C++实现LeetCode之替换单词的示例分析
    这篇文章主要介绍C++实现LeetCode之替换单词的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完![LeetCode] 648.Replace Words 替换单词In English, we have a...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作