搜索
首页后端开发php教程elasticsearch的php客户端使用问题?

这是文档,
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_quickstart.html
问题在截图中:

elasticsearch的php客户端使用问题?
elasticsearch的php客户端使用问题?

补充:

谢谢答主 @lyt8384 。有点理不清思路,麻烦答主能否帮演示一下下面的示例:

要实现的效果就是在视图中的搜索框中输入关键词,搜索得到结果,主要问题是不知道控制器应该怎么写。

备注:github上的封装好像看起来都挺久没更新了,不知道对最新版本的elasticsearch支持怎么样,所以我想直接用官方的php客户端。

视图:

<code>

    <meta charset="utf-8">
    <link href="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/tether/1.3.2/css/tether.min.css" rel="stylesheet">



<div class="container">
    <nav class="navbar navbar-light bg-faded">
        <a class="navbar-brand" href="#">Navbar</a>
        <ul class="nav navbar-nav">
            <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">About</a>
            </li>
        </ul>
        <form class="form-inline pull-xs-right">
            <input class="form-control" type="text" placeholder="Search">
            <button class="btn btn-success-outline" type="submit">Search</button>
        </form>
    </nav>
</div>


<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/tether/1.3.2/js/tether.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>

</code>

路由:

<code><?php Route::group(['middleware' => 'web'], function () {

    Route::resource('/search', 'SearchController');
    
});
</code>

控制器:

<code><?php namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class SearchController extends Controller
{

    public function index()
    {
        //
    }


    public function create()
    {
        //
    }


    public function store(Request $request)
    {
        //
    }


    public function show($id)
    {
        //
    }


    public function edit($id)
    {
        //
    }


    public function update(Request $request, $id)
    {
        //
    }


    public function destroy($id)
    {
        //
    }
}

</code></code>

模型:Article.php

<code><?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $fillable = [
        'title', 'content'
    ];
}</code></code>

回复内容:

这是文档,
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_quickstart.html
问题在截图中:

elasticsearch的php客户端使用问题?
elasticsearch的php客户端使用问题?

补充:

谢谢答主 @lyt8384 。有点理不清思路,麻烦答主能否帮演示一下下面的示例:

要实现的效果就是在视图中的搜索框中输入关键词,搜索得到结果,主要问题是不知道控制器应该怎么写。

备注:github上的封装好像看起来都挺久没更新了,不知道对最新版本的elasticsearch支持怎么样,所以我想直接用官方的php客户端。

视图:

<code>

    <meta charset="utf-8">
    <link href="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/tether/1.3.2/css/tether.min.css" rel="stylesheet">



<div class="container">
    <nav class="navbar navbar-light bg-faded">
        <a class="navbar-brand" href="#">Navbar</a>
        <ul class="nav navbar-nav">
            <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">About</a>
            </li>
        </ul>
        <form class="form-inline pull-xs-right">
            <input class="form-control" type="text" placeholder="Search">
            <button class="btn btn-success-outline" type="submit">Search</button>
        </form>
    </nav>
</div>


<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/tether/1.3.2/js/tether.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>

</code>

路由:

<code><?php Route::group(['middleware' => 'web'], function () {

    Route::resource('/search', 'SearchController');
    
});
</code>

控制器:

<code><?php namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class SearchController extends Controller
{

    public function index()
    {
        //
    }


    public function create()
    {
        //
    }


    public function store(Request $request)
    {
        //
    }


    public function show($id)
    {
        //
    }


    public function edit($id)
    {
        //
    }


    public function update(Request $request, $id)
    {
        //
    }


    public function destroy($id)
    {
        //
    }
}

</code></code>

模型:Article.php

<code><?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $fillable = [
        'title', 'content'
    ];
}</code></code>

1、Larvae是自动载入的,不需要第一行引入,直接命名空间使用就行了。其实,你可以用一些别人封装好的去简化使用方式,例如https://github.com/fadion/Bouncy 这个。用起来简单很多。

2、用了1里面的,就没这个了。。上面的红框是请求来的,就是你把对应内容填到ES里的操作。写到你需要的地方就行了。例如添加数据,修改数据。下面的是响应来的。就是ES告诉你索引OK了。

ES呢,也可以理解为一个数据库。你也是需要像mysql那样,存进数据。然后检索。。只不过他的检索很强大,还有各种运算之类的。不要把ES当成一个类或者组件什么的。安装了就能全文搜。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Redis与Elasticsearch的区别与使用场景Redis与Elasticsearch的区别与使用场景May 11, 2023 am 08:01 AM

Redis与Elasticsearch的区别与使用场景随着互联网信息的快速发展和海量化,数据的高效存储和检索变得越来越重要。为此,NoSQL(NotOnlySQL)类型的数据库出现了,其中又以Redis和Elasticsearch较为流行。本文将对Redis和Elasticsearch进行比较,并探讨它们的使用场景。Redis与Elasticsearch

如何在PHP编程中使用Elasticsearch?如何在PHP编程中使用Elasticsearch?Jun 12, 2023 pm 01:10 PM

随着大数据和云计算技术的发展,搜索引擎也在不断创新。Elasticsearch,作为一个基于Lucene的全文搜索引擎,已经成为了一种流行的选择。这里将会介绍如何在PHP编程中使用Elasticsearch。安装Elasticsearch首先,我们需要安装和设置Elasticsearch。可以在官方网站下载和安装Elasticsearch,具体安装方法可以参

MySQL数据同步Elasticsearch的方案有哪些MySQL数据同步Elasticsearch的方案有哪些Jun 01, 2023 pm 06:37 PM

商品检索大家应该都在各种电商网站检索过商品,检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢?MySQL同步ES1.同步双写这是能想到的最直接的方式,在写入MySQL,直接也同步往ES里写一份数据。同步双写对于这种方式:优点:实现简单缺点:业务耦合,商品的管理中耦合大量数据同步代码影响性能,写入两个存储,响应时间变长不便扩展:搜索可能有一些个性化需求,需要

PHP和Elasticsearch集成实现全文检索功能详解PHP和Elasticsearch集成实现全文检索功能详解Jun 25, 2023 am 10:14 AM

随着互联网的发展,企业面对的文本数据越来越庞大。如何快速、准确地检索出相关内容,成为企业在信息化领域的重要课题之一。Elasticsearch作为一个基于Lucene的开源搜索引擎,具有高可用性、高可扩展性和快速检索的特点,成为企业全文检索的首选方案之一。而PHP作为一门流行的服务器端编程语言,也能够快速进行Web开发和API开发,成为与Elasticsea

如何使用Elasticsearch和PHP构建智能问答系统如何使用Elasticsearch和PHP构建智能问答系统Jul 07, 2023 pm 03:55 PM

如何使用Elasticsearch和PHP构建智能问答系统引言:随着人工智能技术的快速发展,智能问答系统正逐渐成为人们获取信息的重要方式。Elasticsearch作为一个强大的搜索引擎,拥有快速、高效的全文搜索和分析能力,可以为智能问答系统提供强大的支持。本文将介绍如何使用Elasticsearch和PHP构建一个简单的智能问答系统,并提供相应的代码示例。

PHP和Elasticsearch实现的高性能的文本分类技术PHP和Elasticsearch实现的高性能的文本分类技术Jul 07, 2023 pm 02:49 PM

PHP和Elasticsearch实现的高性能文本分类技术引言:在当前的信息时代,文本分类技术被广泛应用于搜索引擎、推荐系统、情感分析等领域。而PHP是一种广泛使用的服务器端脚本语言,具有简单易学、效率高等特点。在本文中,我们将介绍如何利用PHP和Elasticsearch实现高性能的文本分类技术。一、Elasticsearch简介Elasticsearch

同步MySQL数据至Elasticsearch的方式有哪些同步MySQL数据至Elasticsearch的方式有哪些May 30, 2023 pm 08:49 PM

1.业务层同步由于对MySQL数据的操作也是在业务层完成的,所以在业务层同步操作另外的数据源也是很自然的,比较常见的做法就是在ORM的hooks钩子里编写相关同步代码。这种方式的缺点是,当服务越来越多时,同步的部分可能会过于分散从而导致难以更新迭代,例如对ES索引进行不兼容迁移时就可能会牵一发而动全身。2.中间件同步当应用架构演变为微服务时,各个服务里可能不再直接调用MySQL,而是通过一层middleware中间件,这时候就可以在中间件操作MySQL的同时同步其它数据源。这种方式需要中间件去适

springboot中如何集成elasticsearchspringboot中如何集成elasticsearchJun 01, 2023 am 08:22 AM

1,引入依赖org.springframework.bootspring-boot-starter-data-elasticsearch2,编写实体映射类@Data@Document(indexName="index",createIndex=true)publicclassIndex{@IdprivateStringid;@Field(type=FieldType.Text,analyzer="ik_max_word",searchAnalyzer=&q

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器