搜索
首页后端开发php教程请大神帮解答一下`elasticsearch`的相关问题,看文档看不出个步骤来

已完成工作描述:

1、已在本地windows机器上安装好了elasticsearch及相关插件。

2、然后在laravel中安装好了elasticsearch-php客户端。

3、写了如下这么一个SearchController控制器:

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

use Illuminate\Http\Request;

use App\Http\Requests;

class SearchController extends Controller
{

    protected $client;

    public function __construct() {

        $this->client = \Elasticsearch\ClientBuilder::create()->build();
    }

    public function index()
    {
        $params = [
            'index' => 'node',
            'type' => 'article',
            'body' => [
                'query' => [
                    'match_all' => []
                ]
            ]
        ];

        $response = $this->client->search($params);
        print_r($response);
    }


    public function create()
    {
        $params = [
            'index' => 'node',
            'type' => 'article',
            'id' => '1029',
            'body' => [
                'query' => [
                    'match_all' => []
                ]
            ]
        ];

        $response = $this->client->index($params);
        print_r($response);
    }


    public function store(Request $request)
    {

    }

    public function show($id)
    {

    }


    public function edit($id)
    {

    }


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

    }


    public function destroy($id)
    {
        
    }
}
</code>

问题描述:

1、虽然完成了以上3步,但现在没有头绪,看文档也看不出个步骤来。具体表现就是:假如我现在就要对一个名为articles的数据表进行索引和查询,还需要做什么?最好说一下每一步怎么做。谢谢。

2、'index' 、 'type' 、'body'是什么含义?

3、如果不用mysql,直接使用ES保存索引,那索引文件默认在什么目录?

回复内容:

已完成工作描述:

1、已在本地windows机器上安装好了elasticsearch及相关插件。

2、然后在laravel中安装好了elasticsearch-php客户端。

3、写了如下这么一个SearchController控制器:

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

use Illuminate\Http\Request;

use App\Http\Requests;

class SearchController extends Controller
{

    protected $client;

    public function __construct() {

        $this->client = \Elasticsearch\ClientBuilder::create()->build();
    }

    public function index()
    {
        $params = [
            'index' => 'node',
            'type' => 'article',
            'body' => [
                'query' => [
                    'match_all' => []
                ]
            ]
        ];

        $response = $this->client->search($params);
        print_r($response);
    }


    public function create()
    {
        $params = [
            'index' => 'node',
            'type' => 'article',
            'id' => '1029',
            'body' => [
                'query' => [
                    'match_all' => []
                ]
            ]
        ];

        $response = $this->client->index($params);
        print_r($response);
    }


    public function store(Request $request)
    {

    }

    public function show($id)
    {

    }


    public function edit($id)
    {

    }


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

    }


    public function destroy($id)
    {
        
    }
}
</code>

问题描述:

1、虽然完成了以上3步,但现在没有头绪,看文档也看不出个步骤来。具体表现就是:假如我现在就要对一个名为articles的数据表进行索引和查询,还需要做什么?最好说一下每一步怎么做。谢谢。

2、'index' 、 'type' 、'body'是什么含义?

3、如果不用mysql,直接使用ES保存索引,那索引文件默认在什么目录?

最近也是刚接触了es

es可以对应一个mysql数据库

index的概念就相当于库
type的概念就相当于表
document就相当于记录

那么你要操作,你首先要有个库,要有个表,才能进行增删查改

怎么索引和搜索去看文档吧

索引文件以文件形式存储在ES_HOME/data

logstash的jdbc插件你可以去官网找,jdbc官方文档

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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尊渡假赌尊渡假赌尊渡假赌

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

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

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。