广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何在PHP中使用ElasticSearch实现搜索
  • 340
分享到

如何在PHP中使用ElasticSearch实现搜索

2023-06-05 03:06:40 340人浏览 薄情痞子
摘要

这篇“如何在PHP中使用elasticsearch实现搜索”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在php中使用E

这篇“如何在PHP中使用elasticsearch实现搜索”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在php中使用ElasticSearch实现搜索”文章吧。

环境

php 7.2

elasticsearch 6.2 下载

elasticsearch-php 6 下载

安装 elasticsearch

下载源文件,解压,重新建一个用户,将目录的所属组修改为此用户,因为 elasticsearch 无法用 root 用户启动。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gztar zxvf elasticsearch-6.2.3.tar.gzuseradd elasticsearchpassWord elasticsearchchown elasticsearch:elasticsearch elasticsearch-6.2.3cd elasticsearch-6.2.3./bin/elasticsearch // 启动

安装 PHP 扩展

我这里使用的是 composer 安装 elasticsearch-php。在 composer.JSON 文件中加入 "elasticsearch/elasticsearch": "~6.0",执行 composer update。

{ "require": {  // ...  "elasticsearch/elasticsearch": "~6.0"  // ... }}

测试例子

创建表和测试数据

我这里准备了一张文章表来进行测试,首先是建表,其次写入测试数据,准备工作完毕之后,就开始编辑测试用例。

create table articles( id int not null primary key auto_increment, title varchar(200) not null comment '标题', content text comment '内容');insert into articles(title, content) values ('Laravel 测试1', 'Laravel 测试文章内容1'),('Laravel 测试2', 'Laravel 测试文章内容2'),('Laravel 测试3', 'Laravel 测试文章内容3');

Mysql 读取数据

try { $db = new PDO('Mysql:host=127.0.0.1;dbname=test', 'root', 'root'); $sql = 'select * from articles'; $query = $db->prepare($sql); $query->execute(); $lists = $query->fetchAll(); print_r($lists);} catch (Exception $e) { echo $e->getMessage();}

实例化

require './vendor/autoload.php';use Elasticsearch\ClientBuilder;$client = ClientBuilder::create()->build();

名词解释:索引相当于 mysql 中的表,文档相当于 MySQL 中的行记录

elasticsearch 的动态性质,在添加第一个文档的时候自动创建了索引和一些默认设置。

将文档加入索引

foreach ($lists as $row) { $params = [  'body' => [   'id' => $row['id'],   'title' => $row['title'],   'content' => $row['content']  ],  'id' => 'article_' . $row['id'],  'index' => 'articles_index',  'type' => 'articles_type' ]; $client->index($params);}

从索引中获取文档

$params = [ 'index' => 'articles_index', 'type' => 'articles_type', 'id' => 'articles_1'];$res = $client->get($params);print_r($res);

从索引中删除文档

$params = [ 'index' => 'articles_index', 'type' => 'articles_type', 'id' => 'articles_1'];$res = $client->delete($params);print_r($res);

删除索引

$params = [  'index' => 'articles_index'];$res = $client->indices()->delete($params);print_r($res);

创建索引

$params['index'] = 'articles_index'; $params['body']['settings']['number_of_shards'] = 2; $params['body']['settings']['number_of_replicas'] = 0; $client->indices()->create($params);

搜索

$params = [  'index' => 'articles_index', 'type' => 'articles_type',];   $params['body']['query']['match']['content'] = 'Laravel';$res = $client->search($params);print_r($res);

以上就是关于“如何在PHP中使用ElasticSearch实现搜索”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网PHP编程频道。

--结束END--

本文标题: 如何在PHP中使用ElasticSearch实现搜索

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在PHP中使用ElasticSearch实现搜索
    这篇“如何在PHP中使用ElasticSearch实现搜索”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在PHP中使用E...
    99+
    2023-06-05
  • PHP 中使用 Elasticsearch 实现分布式搜索引擎
    简介:分布式搜索引擎是现代互联网应用中非常重要的一环,它能够实现快速的全文检索、高效的数据搜索和排序。Elasticsearch是一个基于Lucene的开源分布式搜索引擎,提供了强大的搜索和分析功能。本文将介绍如何在PHP中使用Elasti...
    99+
    2023-10-21
    PHP elasticsearch 分布式搜索引擎
  • PHP 中基于 Elasticsearch 的模糊搜索与语义搜索实现
    在现代互联网环境下,搜索功能已经成为了各种应用的必备功能之一。传统的模糊搜索往往只能按照关键字进行简单的匹配,而缺乏了对用户意图的理解。而语义搜索则可以更好地抓住用户的意图,从而提供更加精确的搜索结果。在本文中,我们将介绍如何在 PHP 中...
    99+
    2023-10-21
    elasticsearch 模糊搜索 语义搜索
  • SpringBoot+Elasticsearch如何实现数据搜索
    这篇文章主要介绍了SpringBoot+Elasticsearch如何实现数据搜索的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot+Elasticsearch如何实现数据搜索文章都会有所收获,...
    99+
    2023-06-30
  • 详解如何在Elasticsearch中搜索空值
    目录引言选项 1:null_value 映射参数选项2:使用 MUST_NOT 查询引言 根据 Elasticsearch 文档,无法索引或搜索空值 null。 当一个字段设置为 ...
    99+
    2023-01-28
    Elasticsearch搜索空值 Elasticsearch 空值
  • 怎么在Spring Boot中使用ElasticSearch实现一个搜索引擎
    这篇文章将为大家详细讲解有关怎么在Spring Boot中使用ElasticSearch实现一个搜索引擎,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Elastic Search是一个开源的...
    99+
    2023-05-30
    springboot elasticsearch
  • PHP 中 Elasticsearch 实现地理位置搜索与周边推荐
    摘要:地理位置搜索和周边推荐在许多 Web 应用程序中起着至关重要的作用。Elasticsearch 是一个强大的开源搜索引擎,它提供了丰富的功能和灵活性,可以轻松地实现地理位置搜索和周边推荐。本文将介绍如何使用 PHP 和 Elastic...
    99+
    2023-10-21
    PHP elasticsearch 地理位置搜索
  • PHP 开发中 Elasticsearch 实现图像识别与搜索的技巧
    导语:随着机器学习和人工智能的发展,图像识别技术在各个领域中得到了广泛的应用。在 PHP 开发中,使用 Elasticsearch 实现图像识别与搜索是一种高效且强大的方式。本文将介绍如何利用 Elasticsearch 实现图像识别与搜索...
    99+
    2023-10-21
    elasticsearch 图像识别 搜索技巧
  • Elasticsearch 如何在 PHP 中使用
    引言:Elasticsearch是一个开源的分布式搜索引擎,它能够实现快速、准确地搜索和分析大量数据。它提供了简单且强大的API,使得开发者可以轻松地在各种编程语言中使用Elasticsearch。这篇文章将向你介绍如何在PHP中使用Ela...
    99+
    2023-10-21
    使用 PHP elasticsearch
  • Spring Boot整合Elasticsearch如何实现全文搜索引擎
    这篇文章给大家分享的是有关Spring Boot整合Elasticsearch如何实现全文搜索引擎的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简单说,ElasticSearch(简称 ES)是搜索引擎,是结构化...
    99+
    2023-05-30
    spring boot elasticsearch
  • Laravel如何使用scout集成elasticsearch做全文搜索
    这篇文章给大家分享的是有关Laravel如何使用scout集成elasticsearch做全文搜索的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Laravel 使用 scout 集成 elasticsearch ...
    99+
    2023-06-14
  • 如何使用elasticsearch搭建自己的搜索系统
    这期内容当中小编将会给大家带来有关如何使用elasticsearch搭建自己的搜索系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是e...
    99+
    2022-10-18
  • php Laravel 使用elasticsearch+ik中文分词器搭建搜索引擎
    文章目录 开发环境效果展示开发前准备及注意事项部署与安装安装ES到服务器为ES分配新用户并给新用户分配对应权限ES启动与停止修改配置与错误处理错误1错误2 启动ES安装IK分词器现在与你...
    99+
    2023-09-27
    搜索引擎 elasticsearch php linux 中文分词
  • php如何实现搜索效果
    这篇文章将为大家详细讲解有关php如何实现搜索效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php实现搜索效果的方法:1、初始化查询条件;2、调用查询方法;3、计算页面显示数据条数;4、在设置的“搜索...
    99+
    2023-06-22
  • PHP中的同步索引如何实现实时搜索?
    随着互联网的发展,越来越多的网站需要实现实时搜索功能,以提高用户体验。而PHP作为一种广泛使用的编程语言,在实现实时搜索功能时也发挥了重要作用。本文将介绍PHP中的同步索引如何实现实时搜索,并提供相应的演示代码。 一、什么是同步索引? 同...
    99+
    2023-10-29
    同步 索引 实时
  • web用php如何实现搜索功能
    本篇内容介绍了“web用php如何实现搜索功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建搜索表单在网站主页面上添加一个搜索表单,通常...
    99+
    2023-07-05
  • 如何在Android中使用EditText实现批量搜索关键词
    如何在Android中使用EditText实现批量搜索关键词?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当用户在EditText中输入内容,点击搜索按钮的时候,输入的内容能够...
    99+
    2023-05-31
    android edittext roi
  • PHP 如何使用 Elasticsearch 的 索引 API 接口
    目录 一、实战场景 二、知识点 PHP Elasticsearch 索引 index MySQL 三、菜鸟实战 一、实战场景 如何在 PHP 中使用 Elasticsearch 的索引 API 接口 二、知识点 PHP Elas...
    99+
    2023-08-31
    elasticsearch 大数据
  • PHP中如何使用Elasticsearch
    这篇文章将为大家详细讲解有关PHP中如何使用Elasticsearch,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP中使用Elasticsearchcomposer require&nbs...
    99+
    2023-06-06
  • 如何在 ASP 中使用 JavaScript 数组实现实时搜索和过滤?
    ASP 是一种广泛使用的 Web 应用程序框架,而 JavaScript 数组则是在 Web 开发中十分常用的数据结构之一。在本文中,我们将讨论如何在 ASP 中使用 JavaScript 数组来实现实时搜索和过滤功能,以提高 Web 应用...
    99+
    2023-07-22
    实时 javascript 数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作